Title
init-declarator-list vs member-declarator-list
Status
cd4
Section
9.2.2 [dcl.stc]
Submitter
Richard Smith

Created on 2014-05-19.00:00:00 last changed 49 months ago

Messages

Date: 2015-10-15.00:00:00

Notes from the October, 2015 meeting:

The proposed resolution was changed to address the preceding concern.

Date: 2014-11-24.00:00:00

Additional note, November, 2014:

The preceding resolution, which was advanced to "tentatively ready" status during the review session following the November, 2014 (Urbana) meeting, introduces an apparently unintentional conflict with 11.5 [class.union] paragraph 6 regarding the requirements for anonymous unions in unnamed namespaces and has been returned to "review" status to allow further discussion.

Date: 2015-10-15.00:00:00

Proposed resolution (October, 2015):

  1. Change 9.2.2 [dcl.stc] paragraph 1 as follows:

  2. ...If a storage-class-specifier appears in a decl-specifier-seq, there can be no typedef specifier in the same decl-specifier-seq and the init-declarator-list or member-declarator-list of the declaration shall not be empty (except for an anonymous union declared in a named namespace or in the global namespace, which shall be declared static (11.5 [class.union])). The storage-class-specifier applies...
  3. Change 9.2.9.2 [dcl.type.cv] paragraph 1 as follows:

  4. ...If a cv-qualifier appears in a decl-specifier-seq, the init-declarator-list or member-declarator-list of the declaration shall not be empty. [Note:...
Date: 2016-02-15.00:00:00

[Adopted at the February, 2016 meeting.]

According to 9.2.2 [dcl.stc] paragraph 1,

If a storage-class-specifier appears in a decl-specifier-seq, there can be no typedef specifier in the same decl-specifier-seq and the init-declarator-list of the declaration shall not be empty...

This obviously should apply to mutable but does not because mutable applies to member-declarator-lists, not init-declarator-lists. Similarly, in 9.2.9.2 [dcl.type.cv] paragraph 1,

If a cv-qualifier appears in a decl-specifier-seq, the init-declarator-list of the declaration shall not be empty.

this should apply to member declarations as well.

History
Date User Action Args
2017-02-06 00:00:00adminsetstatus: ready -> cd4
2015-11-10 00:00:00adminsetmessages: + msg5575
2015-11-10 00:00:00adminsetstatus: review -> ready
2014-11-24 00:00:00adminsetmessages: + msg5173
2014-11-24 00:00:00adminsetmessages: + msg5172
2014-11-24 00:00:00adminsetstatus: drafting -> review
2014-07-07 00:00:00adminsetstatus: open -> drafting
2014-05-19 00:00:00admincreate