Document #: | P2101R0 |
Date: | 2020-02-11 |
Project: | Programming Language C++ LWG |
Reply-to: |
Tim Song <t.canens.cpp@gmail.com> Casey Carter <casey@carter.net> |
This paper provides wording to resolve NB comments US298 and US300. It also resolves [LWG3345].
This wording is relative to [N4849].
Add the following paragraphs to 16.5.4.12 [res.on.requirements] before p1:
1 A sequence Args
of template arguments is said to model a concept C
if Args
satisfies C
(13.5.2 [temp.constr.decl]) and meets all semantic requirements (if any) given in the specification of C
.
2 If the validity or meaning of a program depends on whether a sequence of template arguments models a concept, and the concept is satisfied but not modeled, the program is ill-formed, no diagnostic required.
[LWG3345] Daniel Krügler. Incorrect usages of “models” versus “satisfies”.
https://wg21.link/lwg3345
[N4849] Richard Smith. 2020. Working Draft, Standard for Programming Language C++.
https://wg21.link/n4849