Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[over.over]/p4 what "set of selected functions"? #1691

Closed
burblebee opened this issue Jul 29, 2017 · 5 comments
Closed

[over.over]/p4 what "set of selected functions"? #1691

burblebee opened this issue Jul 29, 2017 · 5 comments
Labels
cwg Issue must be reviewed by CWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking.

Comments

@burblebee
Copy link
Contributor

After the addition of concepts, we have the wording "All functions with associated constraints that are not satisfied (17.4.2) are eliminated from the set of selected functions.", but there's no mention of a "set of selected functions" up to this point.

From comments to branch at 18b788b:

burblebee:

what "set of selected functions"? up to this point, we've only discussed if/whether a function is selected - there is no set. At least the previous text (although still problematic) started with "If more than one function is selected" so that one could extrapolate that the set must be from the selected functions.

The whole section could use some work for that matter. For example, where did "the overload set" in p1 come from? And in the next sentence, "A function
template name is considered to name a set of overloaded functions in such contexts." - did we really mean to restrict this to function templates? And, if not in one of these "certain contexts" where a function is "resolved", the name doesn't name a set of overloaded functions?

zygoloid:

The start of p1 says: "A use of an overloaded function name without arguments is resolved in certain contexts to a function, a pointer to function or a pointer to member function for a specific function from the overload set."

So this set is the set of functions associated with the "use of an overloaded function name".

I agree this subsection would benefit from rework, but I don't think this particular change materially affects the clarity in this regard. Please provide a separate editorial issue or pull request if you feel strongly about improving this wording.

I don't feel that the "overload set" mentioned in p1 is sufficient. I would like to see this "reworked". Even giving the overload set a name (S?) and referring to it would be a huge improvement and clarify things significantly.

burblebee referenced this issue Jul 29, 2017
The introduction of 'concept' to two lists of entities in [basic] was
omitted, since these lists already include the more general 'template'.

[expr.prim.req.compound] Fix example to not be ill-formed due to an
unsatisfiable concept.
@zygoloid
Copy link
Member

p2 says:

If the name is a function template, template argument deduction is done (17.9.2.2), and if the argument deduction succeeds, [...]

... which completely fails to account for the case where the name resolves to an overload set containing a function template and other things (more functions / function templates).

@jensmaurer
Copy link
Member

The specific issue mentioned in the title can be resolved by replacing "set of selected functions" by "set of overloaded functions". We talk about the latter all over [over.over].

@jensmaurer jensmaurer self-assigned this Nov 15, 2017
@jensmaurer jensmaurer added the decision-required A decision of the editorial group (or the Project Editor) is required. label Feb 13, 2018
@jensmaurer
Copy link
Member

Should we move this into a core issue, due to the larger changes, or should I try again?

@jensmaurer jensmaurer added cwg Issue must be reviewed by CWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking. and removed decision-required A decision of the editorial group (or the Project Editor) is required. labels Mar 18, 2018
@zygoloid
Copy link
Member

Too large and involved to tackle editorially, and the wording needs normative changes => to be converted to core issue.

@jensmaurer jensmaurer removed their assignment Mar 18, 2018
@jensmaurer
Copy link
Member

The wording in [over.over] was improved in P1972R0, see commits 7fc7106 and b369c92.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cwg Issue must be reviewed by CWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking.
Projects
None yet
Development

No branches or pull requests

3 participants