Title
Defining classes and enumerations via using-declarations
Status
c++17
Section
_N4868_.9.8.2.3 [namespace.memdef]
Submitter
Richard Smith

Created on 2015-07-05.00:00:00 last changed 75 months ago

Messages

Date: 2016-11-15.00:00:00

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

Date: 2015-10-15.00:00:00

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:

    • enum-head:
        enum-key attribute-specifier-seqopt identifier enum-head-nameopt enum-baseopt
        enum-key attribute-specifier-seqopt nested-name-specifier identifier enum-baseopt
      enum-head-name:
        nested-name-specifieropt identifier
Date: 2015-07-05.00:00:00

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.

History
Date User Action Args
2018-02-27 00:00:00adminsetmessages: + msg6161
2018-02-27 00:00:00adminsetstatus: dr -> c++17
2017-02-06 00:00:00adminsetstatus: review -> dr
2015-11-10 00:00:00adminsetmessages: + msg5622
2015-07-05 00:00:00admincreate