2025-12 Mailing Available
The 2025-12 mailing of new standards papers is now available.
| WG21 Number | Title | Author | Document Date | Mailing Date | Previous Version | Subgroup |
|---|---|---|---|---|---|---|
| N5011 | Brno 2026 | Hana Dusíková | 2025-10-21 | 2025-12 | All of WG21 | |
| N5029 | WG21 2025-10 Kona Admin telecon minutes | Nina Ranns | 2025-10-27 | 2025-12 | All of WG21 | |
| N5031 | WG21 2025-11 Kona Minutes of Meeting | Nina Ranns | 2025-11-28 | 2025-12 | All of WG21 | |
| N5032 | Working Draft, Standard for Programming Language C++ | Thomas Köppe | 2025-12-15 | 2025-12 | All of WG21 | |
| N5033 | Editors' Report - Programming Languages - C++ | Thomas Köppe | 2025-12-15 | 2025-12 | All of WG21 | |
| P1317R2 | Remove return type deduction in std::apply | Aaryaman Sagar | 2025-11-13 | 2025-12 | P1317R1 | LEWG Library Evolution |
| P1789R2 | Library Support for Expansion Statements | Alisdair Meredith | 2025-11-05 | 2025-12 | P1789R1 | LWG Library |
| P1789R3 | Library Support for Expansion Statements | Alisdair Meredith | 2025-11-07 | 2025-12 | P1789R2 | LWG Library |
| P2243R0 | Language linkage for templates | S. Davis Herring | 2025-10-08 | 2025-12 | EWG Evolution | |
| P2728R10 | Unicode in the Library, Part 1: UTF Transcoding | Eddie Nolan | 2025-12-14 | 2025-12 | P2728R9 | SG9 Ranges,SG16 Unicode,LEWG Library Evolution |
| P2728R9 | Unicode in the Library, Part 1: UTF Transcoding | Eddie Nolan | 2025-11-06 | 2025-12 | P2728R8 | SG9 Ranges,SG16 Unicode,LEWG Library Evolution |
| P3064R3 | How to Avoid OOTA Without Really Trying (Informational) | Paul E. McKenney | 2025-11-15 | 2025-12 | P3064R2 | SG1 Concurrency and Parallelism |
| P3097R1 | Contracts for C++: Virtual functions | Timur Doumler | 2025-12-13 | 2025-12 | P3097R0 | EWG Evolution |
| P3099R1 | Contracts for C++: User-defined diagnostic messages | Timur Doumler | 2025-10-19 | 2025-12 | P3099R0 | EWG Evolution |
| P3100R5 | Implicit contract assertions | Timur Doumler | 2025-12-15 | 2025-12 | P3100R4 | EWG Evolution |
| P3216R2 | views::slice | Hewill Kang | 2025-11-07 | 2025-12 | P3216R1 | SG9 Ranges,LEWG Library Evolution,LWG Library |
| P3220R2 | views::take_before | Hewill Kang | 2025-11-07 | 2025-12 | P3220R1 | SG9 Ranges,LEWG Library Evolution,LWG Library,Direction Group |
| P3371R5 | Fix C++26 by making the rank-1, rank-2, rank-k, and rank-2k updates consistent with the BLAS | Mark Hoemmen | 2025-11-07 | 2025-12 | P3371R4 | LWG Library |
| P3388R3 | When Do You Know connect Doesn't Throw? | Robert Leahy | 2025-11-05 | 2025-12 | P3388R2 | LWG Library |
| P3391R2 | constexpr std::format | Barry Revzin | 2025-11-07 | 2025-12 | P3391R1 | LWG Library |
| P3395R5 | Fix encoding issues and add a formatter for std::error_code | Victor Zverovich | 2025-10-19 | 2025-12 | P3395R4 | LEWG Library Evolution |
| P3400R2 | Controlling Contract-Assertion Properties | Joshua Berne | 2025-12-14 | 2025-12 | P3400R1 | SG21 Contracts,EWG Evolution |
| P3412R3 | String Interpolation | Bengt Gustafsson | 2025-12-14 | 2025-12 | P3412R2 | SG16 Unicode,EWG Evolution |
| P3424R1 | Define Delete With Throwing Exception Specification | Alisdair Meredith | 2025-10-26 | 2025-12 | P3424R0 | CWG Core |
| P3505R2 | Fix the default floating-point representation in std::format | Victor Zverovich | 2025-10-07 | 2025-12 | P3505R1 | LEWG Library Evolution |
| P3505R3 | Fix the default floating-point representation in std::format | Victor Zverovich | 2025-10-08 | 2025-12 | P3505R2 | LWG Library |
| P3612R1 | Harmonize proxy-reference operations (LWG 3638 and 4187) | Arthur O'Dwyer | 2025-11-06 | 2025-12 | P3612R0 | LWG Library |
| P3642R3 | Carry-less product: std::clmul | Jan Schultke | 2025-11-14 | 2025-12 | P3642R2 | LEWG Library Evolution |
| P3657R1 | A Grammar for Whitespace Characters | Alisdair Meredith | 2025-10-20 | 2025-12 | P3657R0 | CWG Core |
| P3657R2 | A Grammar for Whitespace Characters | Alisdair Meredith | 2025-11-05 | 2025-12 | P3657R1 | CWG Core |
| P3666R2 | Bit-precise integers | Jan Schultke | 2025-12-13 | 2025-12 | P3666R1 | EWG Evolution,LEWG Library Evolution |
| P3684R1 | Fix erroneous behaviour termination semantics for C++26 | Timur Doumler | 2025-11-07 | 2025-12 | P3684R0 | EWG Evolution,CWG Core |
| P3688R5 | ASCII character utilities | Jan Schultke | 2025-12-13 | 2025-12 | P3688R4 | SG16 Unicode |
| P3692R3 | How to Avoid OOTA Without Really Trying | Paul E. McKenney | 2025-11-13 | 2025-12 | P3692R2 | SG1 Concurrency and Parallelism,EWG Evolution |
| P3695R3 | Deprecate implicit conversions between char8_t and char16_t or char32_t | Jan Schultke | 2025-11-20 | 2025-12 | P3695R2 | EWG Evolution |
| P3724R2 | Integer division | Jan Schultke | 2025-12-13 | 2025-12 | P3724R1 | LEWG Library Evolution |
| P3726R1 | Adjustments to Union Lifetime Rules | Barry Revzin | 2025-12-14 | 2025-12 | P3726R0 | EWG Evolution,LEWG Library Evolution,CWG Core |
| P3735R1 | partial_sort_at_most, nth_element_at_most | Jan Schultke | 2025-11-17 | 2025-12 | P3735R0 | LEWG Library Evolution |
| P3737R2 | std::array is a wrapper for an array! | Jan Schultke | 2025-11-20 | 2025-12 | P3737R1 | LEWG Library Evolution |
| P3739R4 | Standard Library Hardening - using std::optional | Jarrad J Waterloo | 2025-11-06 | 2025-12 | P3739R3 | LWG Library |
| P3744R0 | Explicit Provenance APIs | Gonzalo Brito Gadeschi | 2025-12-02 | 2025-12 | SG1 Concurrency and Parallelism | |
| P3751R0 | A gentle introduction to pointer authentication | Oliver Hunt | 2025-11-04 | 2025-12 | SG23 Safety and Security | |
| P3751R1 | A gentle introduction to pointer authentication | Oliver Hunt | 2025-11-04 | 2025-12 | P3751R0 | SG23 Safety and Security |
| P3763R1 | Remove redundant reserve_hint members from view classes | Hewill Kang | 2025-11-04 | 2025-12 | P3763R0 | SG9 Ranges,LEWG Library Evolution,LWG Library |
| P3772R1 | std::simd overloads for bit permutations | Jan Schultke | 2025-11-13 | 2025-12 | P3772R0 | LEWG Library Evolution |
| P3793R1 | Better shifting | Brian Bi | 2025-11-19 | 2025-12 | P3793R0 | SG6 Numerics |
| P3804R1 | Iterating on parallel_scheduler | Lucian Radu Teodorescu | 2025-12-15 | 2025-12 | P3804R0 | LWG Library |
| P3815R1 | Add scope_association concept to P3149 | Jessica Wong | 2025-11-07 | 2025-12 | P3815R0 | All of WG21 |
| P3816R1 | Hashing meta::info | Matt Cummins | 2025-12-15 | 2025-12 | P3816R0 | SG7 Reflection |
| P3824R2 | Static storage for braced initializers NBC examples | Jarrad J Waterloo | 2025-11-01 | 2025-12 | P3824R1 | SG23 Safety and Security,CWG Core |
| P3826R1 | Fix or Remove Sender Algorithm Customization | Eric Niebler | 2025-11-03 | 2025-12 | P3826R0 | SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library |
| P3826R2 | Fix or Remove Sender Algorithm Customization | Eric Niebler | 2025-11-07 | 2025-12 | P3826R1 | SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library |
| P3833R0 | std::unique_multilock | Ted Lyngmo | 2025-12-09 | 2025-12 | SG1 Concurrency and Parallelism,LEWGI SG18: LEWG Incubator | |
| P3834R2 | Defaulting the Compound Assignment Operators | Matthew Taylor | 2025-12-14 | 2025-12 | P3834R1 | EWGI SG17: EWG Incubator |
| P3836R2 | Make optional<T&> trivially copyable (NB comment US 134-215) | Jan Schultke | 2025-11-05 | 2025-12 | P3836R1 | LEWG Library Evolution,LWG Library |
| P3843R1 | Reconsider R0 of P3774 (Rename std::nontype) for C++26 | Jonathan Müller | 2025-11-17 | 2025-12 | P3843R0 | LEWG Library Evolution |
| P3843R2 | std::function_wrapper | Jonathan Müller | 2025-11-17 | 2025-12 | P3843R1 | LEWG Library Evolution |
| P3844R1 | Restore simd::vec broadcast from int | Matthias Kretz | 2025-11-07 | 2025-12 | P3844R0 | LEWG Library Evolution |
| P3844R2 | Restore simd::vec broadcast from int | Matthias Kretz | 2025-11-19 | 2025-12 | P3844R1 | LWG Library |
| P3847R0 | Lambdas capture left to right | S. Davis Herring | 2025-10-08 | 2025-12 | EWG Evolution | |
| P3849R1 | SIS/TK611 considerations on Contract Assertions | Harald Achitz | 2025-10-12 | 2025-12 | P3849R0 | SG21 Contracts |
| P3852R0 | a (constexpr) utility to check if pointer points between two related pointers | Hana Dusíková | 2025-12-13 | 2025-12 | EWG Evolution,LEWG Library Evolution | |
| P3856R1 | New reflection metafunctions - is_structural_type (US NB comment 49) and is_destructurable_type | Jagrut Dave | 2025-11-01 | 2025-12 | P3856R0 | SG7 Reflection,LEWG Library Evolution |
| P3856R2 | New reflection metafunctions - is_structural_type (US NB comment 49) and is_destructurable_type | Jagrut Dave | 2025-11-01 | 2025-12 | P3856R1 | SG7 Reflection,LEWG Library Evolution |
| P3856R3 | New reflection metafunctions - is_structural_type (US NB comment 49) and is_destructurable_type | Jagrut Dave | 2025-11-01 | 2025-12 | P3856R2 | SG7 Reflection,LEWG Library Evolution |
| P3858R1 | A Lifetime-Management Primitive for Trivially Relocatable Types | David Sankel | 2025-11-03 | 2025-12 | P3858R0 | LEWG Library Evolution |
| P3860R1 | Proposed Resolution for NB Comment GB13-309 atomic_ref is not convertible to atomic_ref | Hui Xie | 2025-11-04 | 2025-12 | P3860R0 | LEWG Library Evolution |
| P3868R1 | Allow #line before module declarations | Michael Spencer | 2025-10-30 | 2025-12 | P3868R0 | EWG Evolution |
| P3869R0 | Slides for P3666R1 Bit-precise integers | Jan Schultke | 2025-10-26 | 2025-12 | SG22 Compatibility | |
| P3869R1 | Slides for P3666R1 Bit-precise integers | Jan Schultke | 2025-11-02 | 2025-12 | P3869R0 | SG6 Numerics |
| P3876R0 | Extending <charconv> support to more character types | Jan Schultke | 2025-11-13 | 2025-12 | SG16 Unicode | |
| P3878R0 | C++26 Contracts are not a good fit for standard library hardening | Ville Voutilainen | 2025-10-23 | 2025-12 | LEWG Library Evolution,LWG Library | |
| P3878R1 | Standard library hardening should not use the 'observe' semantic | Ville Voutilainen | 2025-11-07 | 2025-12 | P3878R0 | LWG Library |
| P3880R0 | Make subspan aware of compile-time constants | Hewill Kang | 2025-11-11 | 2025-12 | LEWG Library Evolution | |
| P3881R0 | Forward-progress for all infinite loops | Simon Cooksey | 2025-11-06 | 2025-12 | SG1 Concurrency and Parallelism | |
| P3883R0 | A Proposal for a Boolean Flip Operator in C++ | Muhammad Taaha | 2025-11-07 | 2025-12 | EWGI SG17: EWG Incubator | |
| P3884R0 | Slides for P3505R2 Fix the default floating-point representation in std::format | Victor Zverovich | 2025-10-19 | 2025-12 | LEWG Library Evolution | |
| P3885R0 | Add a formatter for std::error_category | Victor Zverovich | 2025-10-19 | 2025-12 | SG16 Unicode | |
| P3886R0 | Wording for AT1-057 | Michael Florian Hava | 2025-10-21 | 2025-12 | EWG Evolution | |
| P3887R0 | Make when_all a Ronseal Algorithm | Robert Leahy | 2025-10-21 | 2025-12 | SG1 Concurrency and Parallelism,LEWG Library Evolution | |
| P3887R1 | Make when_all a Ronseal Algorithm | Robert Leahy | 2025-11-07 | 2025-12 | P3887R0 | SG1 Concurrency and Parallelism,LEWG Library Evolution |
| P3889R0 | A minimal solution for contracts, or, what is an MVP? | Harald Achitz | 2025-10-25 | 2025-12 | EWG Evolution | |
| P3890R0 | Add description for parallel memory algorithms | Ruslan Arutyunyan | 2025-11-07 | 2025-12 | LWG Library | |
| P3891R0 | Improve readability of the C++ grammar by adding a syntax for groups and repetitions | Jan Schultke | 2025-11-22 | 2025-12 | CWG Core,LWG Library | |
| P3892R0 | unless_stop_requested | Robert Leahy | 2025-10-27 | 2025-12 | SG1 Concurrency and Parallelism,LEWG Library Evolution | |
| P3893R0 | The CppCon 2025 Talk on Contracts and CodeQL in Context | Mike Fairhurst | 2025-10-24 | 2025-12 | EWG Evolution,LEWG Library Evolution | |
| P3895R0 | Slides for P3724R1 - Integer division | Jan Schultke | 2025-11-03 | 2025-12 | SG6 Numerics | |
| P3896R0 | Design goals for a contract support facility | Andrzej Krzemieński | 2025-10-30 | 2025-12 | EWG Evolution | |
| P3897R0 | Slides for P3776R1 - More trailing commas | Jan Schultke | 2025-10-31 | 2025-12 | EWG Evolution | |
| P3898R0 | Slides for P3793R0 - Better shifting | Jan Schultke | 2025-11-02 | 2025-12 | SG6 Numerics | |
| P3899R0 | Clarify the behavior of floating-point overflow | Jan Schultke | 2025-12-13 | 2025-12 | SG6 Numerics | |
| P3902R0 | Against implicit conversions for indirect | Jonathan Coe | 2025-10-31 | 2025-12 | LEWG Library Evolution | |
| P3902R1 | Against implicit conversions for indirect | Jonathan Coe | 2025-11-06 | 2025-12 | P3902R0 | LEWG Library Evolution |
| P3902R2 | Against implicit conversions for indirect | Jonathan Coe | 2025-11-06 | 2025-12 | P3902R1 | LEWG Library Evolution |
| P3904R0 | When paths go WTF: making formatting lossless | Victor Zverovich | 2025-11-05 | 2025-12 | SG16 Unicode | |
| P3905R0 | C++ Standard Library Ready Issues to be moved in Kona, Nov. 2025 | Jonathan Wakely | 2025-10-30 | 2025-12 | All of WG21 | |
| P3906R0 | C++ Standard Library Immediate Issues to be moved in Kona, Nov. 2025 | Jonathan Wakely | 2025-11-28 | 2025-12 | All of WG21 | |
| P3907R0 | Waving more ::result_type goodbye | Zhihao Yuan | 2025-11-03 | 2025-12 | LEWG Library Evolution | |
| P3908R0 | constexpr from_chars<float> / to_chars<float> | Hana Dusíková | 2025-12-14 | 2025-12 | LEWG Library Evolution | |
| P3909R0 | Contracts should go into a White Paper - even at this late point | Ville Voutilainen | 2025-11-02 | 2025-12 | EWG Evolution | |
| P3910R0 | Improving safety of C++26 contracts | Bengt Gustafsson | 2025-11-02 | 2025-12 | SG21 Contracts,EWG Evolution | |
| P3911R0 | RO 2-056 6.11.2 [basic.contract.eval] Make Contracts Reliably Non-Ignorable | Darius Neațu | 2025-12-10 | 2025-12 | SG21 Contracts,EWG Evolution | |
| P3912R0 | Design considerations for always-enforced contract assertions | Timur Doumler | 2025-12-15 | 2025-12 | EWG Evolution | |
| P3913R0 | Optimize for std::optional in range adaptors | Steve Downey | 2025-11-05 | 2025-12 | LEWG Library Evolution,LWG Library | |
| P3913R1 | Optimize for std::optional in range adaptors | Steve Downey | 2025-11-07 | 2025-12 | P3913R0 | LWG Library |
| P3914R0 | Assorted NB comment resolutions for Kona 2025 | Tim Song | 2025-11-07 | 2025-12 | LWG Library | |
| P3915R0 | Responses to Trivial Relocation NB Comments | Pablo Halpern | 2025-11-07 | 2025-12 | EWG Evolution,LEWG Library Evolution | |
| P3917R0 | A Lifetime-Management Primitive for Trivially Relocatable Types (Presentation) | David Sankel | 2025-11-05 | 2025-12 | EWG Evolution,LEWG Library Evolution | |
| P3919R0 | Guaranteed-(quick-)enforced contracts | Ville Voutilainen | 2025-12-15 | 2025-12 | EWG Evolution | |
| P3920R0 | Wording for NB comment resolution on trivial relocation | Louis Dionne | 2025-11-07 | 2025-12 | EWG Evolution,CWG Core,LWG Library | |
| P3921R0 | Core Language Working Group "ready" Issues for the November, 2025 meeting | Jens Maurer | 2025-11-07 | 2025-12 | CWG Core | |
| P3922R0 | Missing deduction guide from simd::mask to simd::vec | Matthias Kretz | 2025-11-06 | 2025-12 | LEWG Library Evolution,LWG Library | |
| P3922R1 | Missing deduction guide from simd::mask to simd::vec | Matthias Kretz | 2025-11-07 | 2025-12 | P3922R0 | LWG Library |
| P3923R0 | Additional NB comment resolutions for Kona 2025 | Tim Song | 2025-11-07 | 2025-12 | LWG Library | |
| P3924R0 | Fix inappropriate font choices for "declaration" | Jan Schultke | 2025-12-13 | 2025-12 | CWG Core | |
| P3925R0 | RO 3-292 29.10.8.3 [simd.comparison] Make `basic_simd` a Regular Type (with Boolean `operator==`) | Darius Neațu | 2025-11-07 | 2025-12 | LEWG Library Evolution | |
| P3926R0 | Slides: operator T& on indirect (in defense of US 77-140) | Zhihao Yuan | 2025-11-07 | 2025-12 | LEWG Library Evolution | |
| P3928R0 | static_sized_range | Hewill Kang | 2025-12-04 | 2025-12 | SG9 Ranges,LEWG Library Evolution,LWG Library | |
| P3929R0 | Fix safety hazard in std::function_ref | Jonathan Müller | 2025-11-17 | 2025-12 | LEWG Library Evolution | |
| P3931R0 | consteval all the non-allocating operator"" things | Hana Dusíková | 2025-12-14 | 2025-12 | LEWG Library Evolution | |
| P3933R0 | constexpr std::hive | Hana Dusíková | 2025-12-14 | 2025-12 | LEWG Library Evolution | |
| P3935R0 | Rebasing <cmath> on C23 | Jan Schultke | 2025-12-13 | 2025-12 | SG6 Numerics,SG22 Compatibility | |
| P3936R0 | Safer atomic_ref::address (FR-030-310) | Corentin Jabot | 2025-12-14 | 2025-12 | LEWG Library Evolution | |
| P3937R0 | Type Erasure Requirements For Future Trivial Relocation Design | Mingxin Wang | 2025-12-14 | 2025-12 | EWG Evolution | |
| P3938R0 | Values of floating-point types | Jan Schultke | 2025-12-14 | 2025-12 | SG6 Numerics | |
| P3940R0 | Rename concept tags for C++26: sender_t to sender_tag | Arthur O'Dwyer | 2025-12-09 | 2025-12 | LEWG Library Evolution | |
| P3941R0 | Scheduler Affinity | Dietmar Kühl | 2025-12-14 | 2025-12 | SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library | |
| P3945R0 | Comments on D3933R0 (constexpr hive) | Matt Bentley | 2025-12-14 | 2025-12 | LEWG Library Evolution,LWG Library | |
| P3946R0 | Designing enforced assertions | Andrzej Krzemieński | 2025-12-14 | 2025-12 | EWG Evolution | |
| P3947R0 | identifier_of Should Return std::string | Eddie Nolan | 2025-12-14 | 2025-12 | EWG Evolution,LEWG Library Evolution | |
| P3948R0 | constant_wrapper is the only tool needed for passing constant expressions | Matthias Kretz | 2025-12-15 | 2025-12 | LEWG Library Evolution |

A unique milestone: “Whole new language”