[func.wrap.ref.class] Use ArgTypes instead of Args#8219
Conversation
jwakely
left a comment
There was a problem hiding this comment.
The first change (in the class synopsis) is required, that's a wording bug.
The other changes aren't strictly necessary, because we're talking about some class function_ref<R(Args...) cx noexcept(noex)> for some set of template arguments We're not referring to the same ArgTypes as declared in the template-head of the class synopsis. As long as the rest of the paragraph is consistent with the start of p1, it's fine.
But the change seems fine anyway, it certainly does no harm.
|
I'd mildly prefer the simpler change in that case to only fix the thing that's broken. We don't need the additional verbosity. |
I don't think this is verbosity; I think it's an enhancement. Because it matches the exact signature of the function, which I did intentionally. Other places in [func.wrap] named The |
| an object \exposid{bound-entity}. | ||
| \exposid{bound-entity} has | ||
| an unspecified trivially copyable type \exposid{BoundEntityType}, that | ||
| an unspecified trivially copyable type \linebreak{} \exposid{BoundEntityType}, that |
There was a problem hiding this comment.
By the way, please don't add forced line breaks like this.
| an unspecified trivially copyable type \linebreak{} \exposid{BoundEntityType}, that | |
| an unspecified trivially copyable type \exposid{Bound\-Entity\-Type}, that |
... would presumably work, assuming you were coping with overful hboxes due to BoundEntityType going off the side of the page.
There was a problem hiding this comment.
Let me at least split off the bug fix from the discretionary tweaks then.
| \tcode{\placeholder{call-args}} is an argument pack with elements such that | ||
| \tcode{decltype((\placeholder{call-args}\linebreak{}))...} denote | ||
| \tcode{Args\&\&...} respectively. | ||
| \tcode{ArgTypes\&\&...} respectively. |
There was a problem hiding this comment.
@jwakely: this change is a bug fix, too, right? Here we're again referring to the class template synopsis.
One could also see this the other way round in that reusing the name for a local use in a new construct "shadows" the name from the ambient context... I'm tempted to just leave that as is. The bug fixes were of course very important; thank you for reporting! |
Use
ArgTypesinstead ofArgsto match the current class signature.Also,
R (*thunk-ptr)(BoundEntityType, Args&&...)should beArgTypes...since there is noArgs....