Created on 2013-11-18.00:00:00 last changed 36 months ago
Proposed resolution (March, 2017):
This issue is resolved by the resolution of issue 1710.
[Adopted at the February/March, 2017 meeting.]
According to 13.3 [temp.names] paragraph 4,
When the name of a member template specialization appears after . or -> in a postfix-expression or after a nested-name-specifier in a qualified-id, and the object expression of the postfix-expression is type-dependent or the nested-name-specifier in the qualified-id refers to a dependent type, but the name is not a member of the current instantiation (18.104.22.168 [temp.dep.type]), the member template name must be prefixed by the keyword template. Otherwise the name is assumed to name a non-template.
This does not seem necessary in a typename-specifier; a < following a qualified-id in a typename-specifier could safely be assumed to begin a template argument list, so the template keyword should be optional in this case. Some implementations already do not enforce this requirement.
See also issue 1710.
|2018-02-27 00:00:00||admin||set||status: drafting -> c++17|
|2017-02-06 00:00:00||admin||set||status: review -> drafting|
|2014-11-24 00:00:00||admin||set||status: ready -> review|
|2014-03-03 00:00:00||admin||set||messages: + msg4846|
|2014-03-03 00:00:00||admin||set||status: open -> ready|