Title
std.compat should not provide ::byte and its friends
Status
c++23
Section
[std.modules]
Submitter
Jiang An

Created on 2022-09-19.00:00:00 last changed 12 months ago

Messages

Date: 2022-11-17.00:42:33

Proposed resolution:

This wording is relative to N4917.

  1. Modify [std.modules] as indicated:

    -3- The named module std.compat exports the same declarations as the named module std, and additionally exports declarations in the global namespace corresponding to the declarations in namespace std that are provided by the C++ headers for C library facilities (Table 26), except the explicitly excluded declarations described in [support.c.headers.other].

Date: 2022-11-12.00:00:00

[ 2022-11-12 Approved at November 2022 meeting in Kona. Status changed: Voting → WP. ]

Date: 2022-10-15.00:00:00

[ 2022-10-12; Reflector poll ]

Set status to Tentatively Ready after nine votes in favour during reflector poll.

Date: 2022-09-19.00:00:00

Currently [std.modules]/3 seemly requires that the std.compat module has to provide byte (via <cstddef>), beta (via <cmath>) etc. in the global namespace, which is defective to me as these components are C++-only, and doing so would increase the risk of conflict.

I think we should only let std.compat provide the same set of global declarations as <xxx.h> headers.

History
Date User Action Args
2023-11-22 15:47:43adminsetstatus: wp -> c++23
2022-11-17 00:42:33adminsetmessages: + msg13080
2022-11-17 00:42:33adminsetstatus: voting -> wp
2022-11-08 03:46:49adminsetstatus: ready -> voting
2022-10-12 14:38:10adminsetmessages: + msg12856
2022-10-12 14:38:10adminsetstatus: new -> ready
2022-09-25 06:58:23adminsetmessages: + msg12810
2022-09-19 00:00:00admincreate