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

2024-03-20


2249. identifiers and id-expressions

Section: 7.5.4.2  [expr.prim.id.unqual]     Status: CD5     Submitter: Robert Haberlach     Date: 2016-03-17

[Accepted as a DR at the June, 2018 (Rapperswil) meeting.]

According to 7.5.4.2 [expr.prim.id.unqual] paragraph 1,

An identifier is an id-expression provided it has been suitably declared (Clause 9 [dcl.dcl]).

Not only is an identifier an id-expression by (grammatical) definition, declarator-id is defined in terms of id-expression, which makes this circular. If the intention was to disallow use of undeclared identifiers as primary expressions, this should be altered accordingly.

Proposed resolution, February, 2018:

Change 7.5.4.2 [expr.prim.id.unqual] paragraph 1 as follows:

An identifier is only an id-expression provided if it has been suitably declared ( Clause 9 [dcl.dcl]) or if it appears as part of a declarator-id (9.3 [dcl.decl]). [Note: For operator-function-ids, see...