However, it is not completely clear what else might be in scope for this potential new standard. This effort builds on prior work like the JSON-based format for describing C++ source file dependencies ( P1689), and there is more happening in this space. The goal is to help different parts of the ecosystem such as compilers, build systems, package managers, and others talk to each other more easily by standardizing interfaces between them. SG15, the tooling study group, is working on the idea of having a new international standard for C++ tooling. Work is also continuing in the other study groups. SG7, the reflection study group, appears to be dormant at the moment. However, some highly anticipated features, notably reflection, did not make any progress at this meeting. LEWG voted to forward RCU ( P2545) and hazard pointers ( P2530) to a wording review targeting C++26 and considered many other proposals at an earlier design stage. EWG prefers the former as a solution for pattern matching. EWG considered two competing proposals for pattern matching: Michael Park’s proposal offering a composable approach and Herb Sutter’s pattern matching using is and as, which is more chaining than composing. Meanwhile, the language evolution (EWG) and library evolution (LEWG) working groups are already working on new features targeting C++26. In the end, there was consensus to leave the feature in, despite it being for experts only, due to the notable performance improvements in certain cases. Some people were worried about adding another inherently “unsafe” feature that can cause undefined behavior and is very hard to use correctly, and asked the committee to reconsider. The committee also discussed removing ] ( P1774) from C++23 again (after it was just voted into C++23 during the last plenary). When a temporary object is created in the for-range-initializer of a range-based for loop, its lifetime will now be extended, removing the undefined behavior: for (char c : getData().getValue()) // UB in C++20, OK in C++23Ī few standard library features made it into C++23 at the last minute, such as monadic functions for std::expected ( P2505), while others such as std::function_ref ( P0792) will now definitely have to wait until C++26. In one of the most impactful changes voted into C++23 last week, the committee finally fixed a long-standing issue with range-based for loops ( P2644). At this stage, C++23 is past feature freeze, and the committee is ironing out some last-minute issues. This was the first in-person committee meeting in almost three years, and the penultimate meeting for C++23. ISO C++ Committee meeting Kona 2022 summaryįrom November 7-12, 2022, the ISO C++ committee met in Kona, Hawaii. CLion 2022.3 EAP with C++20 Modules and the CMake Debugger.Vcpkg celebrates 6 years with over 2,000 libraries.The Future of C++ Compiler Diagnostics in MSVC and Visual Studio.What errors PVS-Studio found in LLVM 15.0.Working with PEmicro Multilink Debug Probe.5 Ways to Improve or Avoid Loops in C++20…23. NDC TechTown, CoreC++, and CppCon trip report and recordings.ISO C++ Committee meeting Kona 2022 summary.We’re back, bringing you all of the news from September and October 2022 in our latest C++ Annotated digest:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |