Title
Applicability of contract-attribute-specifiers
Status
nad
Section
9.12.1 [dcl.attr.grammar]
Submitter
Aaron Ballman

Created on 2018-10-24.00:00:00 last changed 40 months ago

Messages

Date: 2019-07-15.00:00:00

Rationale (July, 2019):

With the adoption of paper P1823R0, removing contracts from C++20, this issue is moot.

Date: 2019-03-15.00:00:00

Proposed resolution (March, 2019):

Change 9.12.1 [dcl.attr.grammar] paragraph 5 as follows:

Each attribute-specifier-seq is said to appertain to some entity or statement, identified by the syntactic context where it appears (Clause 8 [stmt.stmt], 9.1 [dcl.pre], 9.3 [dcl.decl]). If an attribute-specifier-seq that appertains to some entity or statement contains an attribute, contract-attribute-specifier, or alignment-specifier that is not allowed to apply to that entity or statement, the program is ill-formed. If an attribute-specifier-seq appertains to a friend declaration (11.8.4 [class.friend]), that declaration shall be a definition. No attribute-specifier-seq shall appertain to an explicit instantiation (13.9.3 [temp.explicit]).
Date: 2022-02-18.07:47:23

According to 9.12.1 [dcl.attr.grammar] paragraph 5,

Each attribute-specifier-seq is said to appertain to some entity or statement, identified by the syntactic context where it appears ( Clause 8 [stmt.stmt], 9.1 [dcl.pre], 9.3 [dcl.decl]). If an attribute-specifier-seq that appertains to some entity or statement contains an attribute or alignment-specifier that is not allowed to apply to that entity or statement, the program is ill-formed.

This does not, but presumably should, mention contract-attribute-specifiers.

History
Date User Action Args
2020-12-15 00:00:00adminsetmessages: + msg6303
2020-12-15 00:00:00adminsetmessages: + msg6302
2018-10-24 00:00:00admincreate