Created on 2001-05-01.00:00:00 last changed 161 months ago
[Voted into WP at April 2003 meeting.]
Proposed resolution (Clark Nelson, March 2002):
In 13.2 [temp.param] paragraph 3, change "A type-parameter defines its identifier to be a type-name" to "A type-parameter defines its identifier to be a typedef-name"
In 22.214.171.124 [dcl.type.elab] paragraph 2, change "If the identifier resolves to a typedef-name or a template type-parameter" to "If the identifier resolves to a typedef-name".
This has been consolidated with the edits for some other issues. See N1376=02-0034.
Although 13.2 [temp.param] paragraph 3 contains an assertion that
A type-parameter defines its identifier to be a type-name (if declared with class or typename)
the grammar in 126.96.36.199 [dcl.type.simple] paragraph 1 says that a type-name is either a class-name, an enum-name, or a typedef-name. The identifier in a template type-parameter is none of those. One possibility might be to equate the identifier with a typedef-name instead of directly with a type-name, which would have the advantage of not requiring parallel treatment of the two in situations where they are treated the same (e.g., in elaborated-type-specifiers, see issue 245). See also issue 215.
|2008-10-05 00:00:00||admin||set||status: wp -> cd1|
|2003-04-25 00:00:00||admin||set||messages: + msg861|
|2003-04-25 00:00:00||admin||set||status: ready -> wp|
|2002-05-10 00:00:00||admin||set||status: drafting -> ready|
|2002-03-11 00:00:00||admin||set||messages: + msg586|
|2001-11-09 00:00:00||admin||set||status: open -> drafting|