287
P4020R0 - Concerns about contract assertions WG21
Contracts (P2900R14) were voted into the C++26 CD. This paper raises concerns about the design. KrzemieĊ„ski - who has been deeply involved in the contracts design for years - questions whether implementation experience with GCC and Clang library rewrites is sufficient, and...
31
P3973R0 - bit_cast_as: Element type reinterpretation for std::simd WG21
Proposes std::bit_cast_as<T>(simd_vec) for reinterpreting simd objects at different element granularities. Instead of std::bit_cast<vec<uint16_t, 8>>(bytes) with manually computed element counts, you write std::bit_cast_as<uint16_t>(bytes) and the count is inferred...
34
P3971R0 - std::rebind - Generalized Type Rebinding WG21
Proposes std::rebind<NewT>(container) - a generalized facility for converting containers and other types to use a different element type while preserving structure. std::rebind<double>(std::array<float, 4>) yields std::array<double, 4>. Works uniformly across array, vector...
52
P3980R0 - Task's Allocator Use WG21
Addresses four NB comments about how std::execution::task uses allocators. The key separation: the allocator for the coroutine frame and the allocator for child sender environments should be handled independently. The frame allocator comes from the task's constructor arguments...
78
P3969R0 - Fixing std::bit_cast of types with padding bits WG21
When you bit_cast a type with padding bits (like 80-bit long double) to a type without padding (like __int128), the padding bits map onto value bits in the destination. Those padding bits have indeterminate values. The result: std::bit_cast becomes an alternative spelling for...
218
P3596R0 - Undefined Behavior and IFNDR Annexes WG21
Someone finally cataloged all of it. Two new Annexes to the C++ standard: one listing every instance of undefined behavior, one listing every instance of ill-formed, no diagnostic required (IFNDR). Developed as a collaborative branch of the working draft, now ready for CWG...
18
P3856R5 - New reflection metafunction - is_structural_type WG21 Update
Minor revision - improved wording based on Barry Revzin's feedback. The trait name was also updated from is_structural_type_v to is_structural_v for consistency with other type traits (e.g. is_const_v, not is_const_type_v). Same proposal, cleaner spec text.
24
P3936R1 - Safer atomic_ref::address (FR-030-310) WG21
Resolves French NB comment FR-030-310. atomic_ref::address() currently returns T*, which makes it too easy to accidentally access the object non-atomically while live atomic_refs exist. The fix: return void* instead. You can still hash, compare, and index with it, but accessing...
67
P3899R1 - Clarify the behavior of floating-point overflow WG21
CWG cannot agree on whether floating-point overflow is undefined behavior. Is FLT_MAX * 2 UB? Is infinity() + 1 UB? Is merely yielding infinity UB? Extensive CWG discussion found no consensus on what the current wording says. This paper proposes to clarify: overflow on IEEE 754...
64
P4008R0 - Clean Modular Mode: Legacy Opt-out for C++ WG21
Proposes splitting the standard into three fixed modules: std.core (non-excludable low-level primitives), std.modern (safe modern library), and std.legacy (C compatibility pitfalls like array decay, C-style casts, implicit narrowing). Users opt into "clean mode" with exclude...
42
P3856R4 - New reflection metafunction - is_structural_type WG21 Superseded by R5
Addresses US NB comment 49. The standard uses "structural type" in several places (NTTPs, std::array) and library mandates require it, but there's no way to query whether a type is structural. This paper adds is_structural_type(info) as a reflection metafunction and...
892
P3970R0 - Profiles and Safety: a call to action WG21
Directions Group statement on safety profiles. The paper argues that SG23 and EWG have repeatedly pointed to Profiles as the direction, but the committee faces "a stream of uncoordinated proposals" not aligned with the framework. Calls on implementers to coordinate on framework...
523
P3045R7 - Quantities and units library WG21
Seven revisions in, the quantities and units library continues its march toward C++29. This is the standardization path for the mp-units design: compile-time-safe physical quantities with dimensions, units, quantity kinds, affine spaces, and formatted text output, all grounded...
19
P3844R4 - Reword [simd.math] for consteval conversions WG21 Update
R4 splits the [simd.math] respecification out from the consteval broadcast constructor work in R3. The title changed from "Restore simd::vec broadcast from int" to "Reword [simd.math] for consteval conversions" to reflect the narrower scope. Fixes incorrectly removed...
156
P3737R3 - std::array is a wrapper for an array! WG21
We all teach that std::array is just a wrapper for a C-style array. But the standard doesn't actually say that. The spec is permissive enough that a compliant implementation could add extra members, break trivial copyability, or inflate the size. This paper makes the simplified...