Re: [Capy] Review Note

Joaquin M López Muñoz via Boost <[email protected]> Mon, 29 Jun 2026 10:35:49 +0200
Newsgroups gmane.comp.lib.boost.devel
Message-ID <[email protected]>
El 29/06/2026 a las 9:07, Rainer Deyke via Boost escribió:
> On 6/28/26 20:25, Andrzej Krzemienski via Boost wrote:
>> 4. And IoAwaitable doesn't mention any semantic requirements. Concepts
>> without semantic requirements are not concepts.
>
> Actually, from the perspective of the C++ standard the opposite is 
> true.  Concepts are introduced with the 'concept' keyword and defined 
> through 'requires' clauses, and any type that matches these 'requires' 
> clauses implements the concept as far as the language is concerned, 
> regardless of semantics.  Things like AssociativeContainer, which 
> define semantic requirements beyond what can be specified through 
> 'requires' clauses, are called "named requirements" instead of 
> "concepts",
>
> Yes, this goes against a long history of using the word "concept" in 
> its generic English sense and calling named requirements concepts.  
> But now that the concept keyword is a thing, I find it less confusing 
> to restrict the word "concept" to the entities introduced by that 
> keyword. 

Actually, C++20 concepts may (and often do) come with semantic 
requirements, as explicitly acknowledged at

https://eel.is/c%2B%2Bdraft/constraints?utm_source=chatgpt.com#res.on.requirements-1

The rationale is that, even though the compiler can't statically check 
satisfaction of semantic requirements, these requirements are assumed to 
hold.

Joaquín M López Muñoz

_______________________________________________
Boost mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.boost.org/mailman3/lists/boost.lists.boost.org/
Archived at: https://lists.boost.org/archives/list/[email protected]/message/KFX3SGBEG27SKAVJAA2MCE7E5WM7EY2S/