CWG Issue 2637 (original) (raw)

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


2637. Injected-class-name as a simple-template-id

Section: 11.1 [class.pre]Status: CD7Submitter: Shafik YaghmourDate: 2022-10-26

[Accepted as a DR at the March, 2024 meeting.]

Issue 2237 sought to disallow _simple-template-id_s as constructor names, by referring to the injected-class-name. However, 11.1 [class.pre] paragraph 2 specifies:

The class-name is also bound in the scope of the class (template) itself; this is known as the injected-class-name.

The grammar non-terminal class-name includes the option of a simple-template-id (for declaring a partial specialization).

Proposed resolution (approved by CWG 2023-11-11):

Change in 11.1 [class.pre] paragraph 2 as follows:

The component name of the class-name is also bound in the scope of the class (template) itself; this is known as the injected-class-name. ...