4 ms·
There is the similarity that the editions don't really matter for ABI, but otherwise editions are substantially different from the std switch. C/C++ std switch
by pornel 5y ago
There is the similarity that the editions don't really matter for ABI, but otherwise editions are substantially different from the std switch.
C/C++ std switches freeze the entire language and disable newer features. Editions don't. Rust 2015 edition isn't an old version of Rust. It's the latest version of Rust, except it allows `async` as an identifier.
Editions don't really have an equivalent in C, but they're closer to being like trigraphs than the std compilation switch.
- pjmlp 5y agoThat only works because the Editions get updated after being released. The same can happen to ISO C and C++, that is what technical revision documents are for. > Therefore, the answer to the question of, say, “what is a valid C++14 program?” changes over time, up until the publication of C++17, and so forth. In practice, the situation is a bit more complicated when compiler vendors offer conformance modes for specific language revisions (e.g. -std=c++11, -std=c++17). Vendors may consider defect resolutions to apply to any historic revision that contains the defect (whereas ISO considers only the most recent publication as the Standard). http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2131r0.html http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p213... In both cases, it is expected that compilers update their understanding what a specific language revision means.