Title
Missing rules for simple-template-id as class-name
Status
cd5
Section
Clause [11] [class]
Submitter
Richard Smith

Created on 2016-02-25.00:00:00 last changed 2 months ago

Messages

Date: 2017-11-15.00:00:00

Proposed resolution (November, 2017)

Change Clause 11 [class] paragraph 1 as follows:

...A class declaration where the class-name in the class-head-name is a simple-template-id shall be an explicit specialization (13.9.4 [temp.expl.spec]) or a partial specialization (_N4868_.13.7.6 [temp.class.spec]). A class-specifier whose class-head omits the class-head-name defines an unnamed class. [Note: An unnamed class thus can't be final. —end note]
Date: 2018-03-15.00:00:00

[Accepted as a DR at the March, 2018 (Jacksonville) meeting.]

There does not seem to be a rule that prohibits an example like:

  template<typename T> struct X; 
  struct X<int> { 
  }; 
History
Date User Action Args
2020-12-15 00:00:00adminsetstatus: dr -> cd5
2018-04-11 00:00:00adminsetstatus: tentatively ready -> dr
2018-02-27 00:00:00adminsetmessages: + msg5863
2018-02-27 00:00:00adminsetstatus: open -> tentatively ready
2016-02-25 00:00:00admincreate