This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 118f. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-11-07
(From submission #789.)
It is not clear in 7.6.2.10 [expr.reflect] paragraph 6 whether the phrasing "names a type alias" also applies for type aliases appearing somewhere in a type-id, e.g. ^^const my_typedef_name.
Proposed resolution (approved by CWG 2025-11-04):
Change in 7.6.2.10 [expr.reflect] bullet 6.2 as follows:
A reflect-expression R of the form ^^type-id represents an entity determined as follows:
- If the type-id designates a placeholder type (9.2.9.7.1 [dcl.spec.auto.general]), R is ill-formed.
- Otherwise, if the type-id
names a type alias that is a specialization ofis of the form nested-name-specifieropt templateopt simple-template-id and whose terminal name is a template-name that names an alias template (13.7.8 [temp.alias]), R representsthatthe type alias so named.- Otherwise, R represents the type denoted by the type-id.