IIRC there have been actual proposals, which also incorporated setting a compile mode, e.g. safe mode, which got easier to implement/standardize after the introduction of modules compared to the include model. But I cannot find those proposals now.
 

-----Ursprüngliche Nachricht-----
Von: Mehmet Kayaalp via Std-Proposals <std-proposals@lists.isocpp.org>
Gesendet: So 27.11.2022 18:12
Betreff: Re: [std-proposals] Pragmas using multiple C++ standards within the same project
An: std-proposals@lists.isocpp.org;
CC: Mehmet Kayaalp <mehmet.kayaalp@gmail.com>;
 
I would say the features that might go to the chopping block would be
(1) those that are strongly discouraged from using and
(2) those that make the life of a modern compiler designer horrible—I suspect your options C­ through F may be the closest ones to the criteria above.

-----Ursprüngliche Nachricht-----
Von: Sebastian Wittmeier <wittmeier@projectalpha.org>
Gesendet: So 27.11.2022 00:48
Betreff: AW: [std-proposals] Pragmas using multiple C++ standards within the same project
CC: Mehmet Kayaalp <mehmet.kayaalp@gmail.com>;
An: std-proposals@lists.isocpp.org;

 

C) Features, which are not recommended for modern C++ like C arrays

 

D) Features, which are not recommended for user code like new/delete (instead of smart pointers) - i.e. introducing different code levels like system/library/user

 

E) Parser difficulties like Most Vexing Parse or comma-operator for multi-dimensional arrays

 

F) Bad historic language defaults, e.g. user-defined constructor should automatically delete copy constructor and copy assignment operator or one-argument constructors should not do implicit conversion