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

2025-10-25


3083. Remove redundant restrictions on class and enum definitions

Section: 8.1  [stmt.pre]     Status: tentatively ready     Submitter: US     Date: 2025-10-01

N5028 comment US 35-066

Subclause 8.1 [stmt.pre] paragraph 8 has the following redundant specification:

In the decl-specifier-seq of a condition or of a for-range-declaration, including that of any structured-binding-declaration of the condition, each decl-specifier shall be either a type-specifier or constexpr. The decl-specifier-seq of a for-range-declaration shall not define a class or enumeration.

The second sentence is redundant, because a type-specifier (as opposed to a defining-type-specifier) cannot define a class or enumeration.

Proposed resolution (approved by CWG 2025-10-24):

Change in 8.1 [stmt.pre] paragraph 8 as follows:

In the decl-specifier-seq of a condition or of a for-range-declaration, including that of any structured-binding-declaration of the condition, each decl-specifier shall be either a type-specifier or constexpr. The decl-specifier-seq of a for-range-declaration shall not define a class or enumeration.