This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 116a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-12-19
[Accepted as a DR at the November, 2022 meeting.]
The grammar for a concept-definition does not include an attribute-specifier-seqopt, making it impossible to deprecate a concept. This seems like an oversight.
CWG telecon 2022-10-07:
Agreed.
Proposed resolution (approved by CWG 2022-10-21):
Change in 9.12.5 [dcl.attr.deprecated] paragraph 2 as follows:
The attribute may be applied to the declaration of a class, a typedef-name, a variable, a non-static data member, a function, a namespace, an enumeration, an enumerator, a concept, or a template specialization.
Change in 13.7.9 [temp.concept] paragraph 1 as follows:
A concept is a template that defines constraints on its template arguments.concept-definition: concept concept-name attribute-specifier-seqopt = constraint-expression ; concept-name: identifierA concept-definition declares a concept. Its identifier becomes a concept-name referring to that concept within its scope. The optional attribute-specifier-seq appertains to the concept.