Created on 2018-12-10.00:00:00 last changed 29 months ago
Proposed resolution (approved by CWG 2022-10-21):
Change in 9.13.4 [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:
identifier
A 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.
CWG telecon 2022-10-07:
Agreed.
[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.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2023-07-16 13:00:43 | admin | set | status: open -> c++23 |
| 2023-07-16 13:00:43 | admin | set | status: drwp -> open |
| 2023-02-18 18:43:04 | admin | set | status: dr -> drwp |
| 2022-11-25 05:14:04 | admin | set | status: ready -> dr |
| 2022-11-20 07:54:16 | admin | set | messages: + msg7040 |
| 2022-10-21 20:41:10 | admin | set | messages: + msg6952 |
| 2022-10-21 20:41:10 | admin | set | status: open -> ready |
| 2018-12-10 00:00:00 | admin | create | |