Use of the English term “attributes” is confusing
6.2 [basic.def]
Gabriel Dos Reis

Created on 2017-12-05.00:00:00 last changed 18 months ago


Date: 2018-10-15.00:00:00

Notes from the October, 2018 teleconference:

These points are addressed by further work on the modules TS.

Date: 2019-02-15.00:00:00

[Adopted at the February, 2019 meeting as part of paper P1103R3.]

The English word “attributes” is used occasionally in the Standard to refer to general characteristics rather than to the constructs described by the attribute syntactic nonterminal. For example, 6.2 [basic.def] paragraph 1 says,

A declaration (9.1 [dcl.pre]) may introduce one or more names into a translation unit or redeclare names introduced by previous declarations. If so, the declaration specifies the interpretation and attributes of these names.

A similar use occurs in 6.5 [basic.lookup] paragraph 1:

Only after name lookup, function overload resolution (if applicable) and access checking have succeeded are the attributes introduced by the name's declaration used further in expression processing (Clause 7 [expr]).

These nonspecific uses of the term are potentially confusing and should be replaced, possibly with a specification of which “attributes” are intended.

Perhaps less confusing, although in a similar vein, is 11.4.10 [class.bit] paragraph 1:

The bit-field attribute is not part of the type of the class member.

The use of the term here should also be reconsidered.

Date User Action Args
2021-02-17 00:00:00adminsetstatus: open -> cd5
2020-12-15 00:00:00adminsetmessages: + msg6255
2017-12-05 00:00:00admincreate