This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-11-11
According to 13.8.2 [temp.local] paragraph 5,
A qualified-id is assumed to name a type if
it is a qualified name in a type-id-only context (see below), or
it is a decl-specifier of the decl-specifier-seq of a
simple-declaration or a function-definition in namespace scope,
member-declaration,
parameter-declaration in a member-declaration140, unless that parameter-declaration appears in a default argument,
...
This specification would appear to allow an example like:
template<typename T> struct Y {}; template<typename T> struct S { Y<int(T::type)> m; // Omitted typename okay because it is in a member-declaration? };
The affected parameter-declarations should be only those of the member declarator, not in a member template's template parameter list.
(Note: this issue was spun off from issue 2462 to allow the resolutions to proceed independently.)