<concepts>
should be freestandingSection: 16.4.2.5 [compliance] Status: C++20 Submitter: Casey Carter Opened: 2018-08-09 Last modified: 2021-02-25
Priority: 0
View all other issues in [compliance].
View all issues with C++20 status.
Discussion:
The design intent of the <concepts>
header is that it contains
only fundamental concept definitions and implementations of customization points
that are used by those concept definitions. There should never be components in
the header that require operating system support. Consequently, freestanding
implementations can and should provide it. It is an oversight on the
part of LWG - and in particular the author of
P0898R3 "Standard Libary Concepts" - that the <concepts>
header is not required to be provided by freestanding implementations.
[2018-08 Batavia Monday issue prioritization]
Priority set to 0, status to 'Tentatively Ready'
[2018-11, Adopted in San Diego]
Proposed resolution:
This wording is relative to N4762.
In 16.4.2.5 [compliance], add a new row to Table 21:
Table 21 — C++ headers for freestanding implementations Subclause Header(s) […] […] […] 17.13 [support.runtime] Other runtime support <cstdarg>
18 [concepts] Concepts library <concepts>
21 [meta] Type traits <type_traits>
[…] […] […]