Title
Are cv-qualified std::nullptr_t fundamental types?
Status
dr
Section
6.8.2 [basic.fundamental]
Submitter
Anoop Rana

Created on 2022-12-08.00:00:00 last changed 3 weeks ago

Messages

Date: 2023-12-02.13:35:39

Proposed resolution (approved by CWG 2023-12-01):

Change in 6.8.2 [basic.fundamental] paragraph 15 as follows:

The types denoted by cv std::nullptr_t are distinct types. A value of type std::nullptr_t is a null pointer constant (7.3.12 [conv.ptr]). Such values participate in the pointer and the pointer-to-member conversions (7.3.12 [conv.ptr], 7.3.13 [conv.mem]). sizeof(std::nullptr_t) shall be equal to sizeof(void*).

The types described in this subclause are called fundamental types. [Note 11: Even if the implementation defines two or more fundamental types to have the same value representation, they are nevertheless different types. —end note]

Date: 2024-03-15.00:00:00

[Accepted as a DR at the March, 2024 meeting.]

It is unclear whether cv std::nullptr_t is a fundamental type, given that it is declared in a library header and cv-qualifications are not mentioned in 6.8.2 [basic.fundamental] paragraph 15.

History
Date User Action Args
2024-04-05 21:43:46adminsetstatus: ready -> dr
2024-03-20 14:10:31adminsetstatus: tentatively ready -> ready
2023-12-02 13:35:39adminsetstatus: review -> tentatively ready
2023-06-15 20:13:43adminsetstatus: open -> review
2023-01-17 21:18:52adminsetmessages: + msg7146
2022-12-08 00:00:00admincreate