This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 116a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2024-12-19


2155. Defining classes and enumerations via using-declarations

Section: _N4868_.9.8.2.3  [namespace.memdef]     Status: C++17     Submitter: Richard Smith     Date: 2015-07-05

[Moved to DR at the November, 2016 meeting.]

The resolution of issue 1838 was intended to resolve issue 1021 but does not actually do so, as it applies only to declarations with a declarator-id, which is not true of classes and enumerations.

Proposed resolution (October, 2015):

  1. Change _N4868_.9.8.2.3 [namespace.memdef] paragraph 1 as follows:

  2. A declaration in a namespace N (excluding declarations in nested scopes) whose declarator-id is an unqualified-id (9.3.4 [dcl.meaning]), whose class-head-name (Clause 11 [class]) or enum-head-name (9.7.1 [dcl.enum]) is an identifier, or whose elaborated-type-specifier is of the form class-key attribute-specifier-seqopt identifier (9.2.9.5 [dcl.type.elab]), or that is an opaque-enum-declaration, declares (or redeclares) its unqualified-id or identifier as a member of N, and may be a definition. [Note:...
  3. Change the grammar of 9.7.1 [dcl.enum] as follows: