Created on 2025-04-02.00:00:00 last changed 1 week ago
Proposed resolution (approved by CWG 2026-03-27):
Change in 13.5.4 [temp.constr.normal] paragraph 1.4.2:
For a concept-id C<A1 , A2 , . . . , An > termed CI:
- If C names a dependent concept, the normal form of CI is a concept-dependent constraint whose concept-id is CI and whose parameter mapping is the identity mapping.
- Otherwise, to form CE, any non-dependent concept template argument Ai is substituted into the constraint-expression of C. If any such substitution results in an invalid concept-id, the program is ill-formed; no diagnostic is required. The normal form of CI is the result of substituting, in the normal form N of CE, appearances of C's template parameters in the parameter mappings of the atomic constraints in N with their respective arguments from
CCI. If any such substitution results in an invalid type or expression, the program is ill-formed; no diagnostic is required.
(From submission #696.)
(Split off from issue 3069.)
Subclause 13.5.4 [temp.constr.normal] bullet 1.4.2 specifies:
... The normal form of CI is the result of substituting, in the normal form N of CE, appearances of C's template parameters in the parameter mappings of the atomic constraints in N with their respective arguments from C. ...
However, C is a concept-name and does not have any template parameters. CI, the concept-id, does, however.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2026-03-27 13:08:23 | admin | set | status: open -> ready |
| 2026-03-26 23:43:58 | admin | set | messages: + msg8525 |
| 2025-04-02 00:00:00 | admin | create | |