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. -- Rainer Deyke - rainerd@eldwood.com