INVOKE(f, t1, t2,... tN)
and INVOKE(f, t1, t2,... tN, R)
are too similarSection: 22.10.4 [func.require] Status: Resolved Submitter: United States Opened: 2017-02-03 Last modified: 2017-03-20
Priority: Not Prioritized
View all other issues in [func.require].
View all issues with Resolved status.
Discussion:
Addresses US 84The distinction between INVOKE(f, t1, t2,... tN)
and INVOKE(f, t1, t2,... tN, R)
is too subtle.
If the last argument is an expression, it represents tN
, if it's a type, then it represents R
. Very clumsy.
Proposed change: Rename INVOKE(f, t1, t2,... tN, R)
to INVOKE_R(R, f, t1, t2,... tN)
and
adjust all uses of this form. (Approximately 10 occurrences of invoke would need to change.)
[2017-02-24, Daniel comments]
I suggest to apply the paper d0604r0, available on the Kona LWG wiki, implements this suggestions.
[2017-03-12, post-Kona]
Resolved by p0604r0.
Proposed resolution: