WG21 PAPERS

Mailings Beta

Volunteer-driven · Not affiliated with WG21 or ISO

Filter and export papers from the C++ Committee’s monthly mailings by time frame and audience using the options below, or refine your export further with the Select button. Links point directly to the official WG21 papers on open-std.org.

Disposition Updated

Audience
General
Wording
Evolution
Study Groups
Mailings
1 · Year 1 · Month

Select the arrow to the right of the year to filter for specific months.

2026 Apr · 1 of 6

Pick months in 2026

Add Year +

Select Years To Display

Current Years Selected

2026
Filters LWG Clear all
38 out of 38 papers selected for export
SelectPaper Title Authors Audience Doc Date
P2956R2 Add saturating library support to std::simd D. Towner, R. Arutyunyan
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Revisions R3
Tracking issue View on GitHub
Abstract The Working Draft of C++26 includes data parallel types. It mostly provides operators which work on or with `std::simd` types, but it also includes overloads of useful functions from other parts of C++ (e.g., sin, cos, abs). In [P0543R3] a proposal was made to provide saturating operation support for some basic arithmetic operations and casts. In particular, `saturating_add`, `saturating_sub`, `sa
P3154R2 Deprecating signed character types in iostreams E. Kosunen
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Elias Kosunen
Target Audience LWG
Revisions R3
Tracking issue View on GitHub
P3242R2 Copy and fill for mdspan N. Morales, C. Trott, M. Hoemmen, D. Lebrun-Grandie
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Revisions R4R3
Tracking issue View on GitHub
Abstract C++23 introduced `mdspan` ([[P0009R18]](https://wg21.link/p0009r18)), a non-owning multidimensional array abstraction that has a customizable layout. Layout customization was originally motivated in [[P0009R18]](https://wg21.link/p0009r18) with considerations for interoperability and performance, particularly on different architectures. Moreover, [[P2630R4]](https://wg21.link/p2630r4) introduced `
P3605R1 isqrt: A function to calculate integer square root of the nonnegative integer N. Sakharin
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Nikita Sakharin
Target Audience LEWGLWG
Tracking issue View on GitHub
Abstract This paper proposes to add an `isqrt` function (template) to calculate the integer square root of a nonnegative integer. Mathematically defined as:
P3625R1 either neither M. Hava
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Tracking issue View on GitHub
P3655R4 cstring_view P. Bindels, H. Dusikova, J. Rifkin, M. Foco, A. Shevlyakov
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LEWGLWG
Revisions R5
Tracking issue View on GitHub
Abstract We propose a standard string view type that guarantees null-termination.
P3692R4 How to Avoid OOTA Without Really Trying P. McKenney, A. Stern, M. Wong, M. Michael, G. Brito
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Tracking issue View on GitHub
Abstract * P3692R4 updates the C++ working draft to N5032 and applies feedback from CWG. It also adds a citation to the NVIDIA PTX prohibition against OOTA.
P3725R3 Filter View Extensions for Safer Use, Rev 3 N. Josuttis
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Nicolai Josuttis
Target Audience LEWGLWG
Revisions R2
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract Using filter views is both risky and non-intuitive. Let us look at some typical use cases.
P3726R2 Adjustments to Union Lifetime Rules B. Revzin, T. Kamiński
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience CWGLWG
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract [[P3074R7] (trivial `union`s (was `std::uninitialized<T>`))](https://wg21.link/p3074r7) was adopted in Hagenberg. One of the goals of that paper was to make an example like this work:
P3787R2 Adjoints to "Enabling list-initialization for algorithms": uninitialized_fill G. D'Angelo, R. Arutyunyan
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LEWGLWG
Revisions R1
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract In the Tokyo 2024 meeting [P2248R8] (Enabling list-initialization for algorithms) was adopted.
P3795R2 Miscellaneous Reflection Cleanup B. Revzin
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Barry Revzin
Target Audience CWGLWG
Revisions R1
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract At the Sofia meeting, [[P2996R13] (Reflection for C++26)](https://wg21.link/p2996r13), [[P3394R4] (Annotations for Reflection)](https://wg21.link/p3394r4), [[P3293R3] (Splicing a base class subobject)](https://wg21.link/p3293r3), [[P3491R3] (`define_static_{string,object,array}`)](https://wg21.link/p349143), [[P3096R12] (Function Parameter Reflection in Reflection for C++26)](https://wg21.link/p30
P3804R2 Iterating on parallel_scheduler L. Teodorescu, R. Arutyunyan
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract `parallel_scheduler` [[P2079R10](https://wg21.link/p2079r10)] was a long time in the making and was it adopted in Sofia 2025; still more design concerns were raised after that. This paper proposes to iterate on some of these aspects, aiming to achieve the best possible outcome from `parallel_scheduler`.
P3826R5 Fix Sender Algorithm Customization E. Niebler
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Eric Niebler
Target Audience LEWGLWGSG1
Revisions R4R3
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
P3828R1 Rename the to_input view to as_input N. Josuttis
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Nicolai Josuttis
Target Audience LWG
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract Nicolai Josuttis: P3828R1: Rename the to_input view to as_input
P3842R2 A conservative fix for constexpr uncaught_exceptions() and current_exception() V. Voutilainen
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Ville Voutilainen
Target Audience LEWGLWG
Revisions R1
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract The papers [P3818](https://open-std.org/JTC1/SC22/WG21/docs/papers/2025/p3818r1.html) and [P3820](https://open-std.org/JTC1/SC22/WG21/docs/papers/2025/p3820r1.html) explain the background of the problem we have making uncaught_exceptions() and current_exception(). In short, having those function constexpr is a breaking change in some cases.
P3856R8 New reflection metafunction - is_structural_type (US NB comment 49) J. Dave, A. Meredith
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Revisions R7R6R5R4
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract Several parts of the standard and library refer to structural types, including library mandates that types be structural, yet there is no way to query whether a type is structural. Library mandates clauses mean that library implementers must somehow have this functionality, but it is simply not exposed to users. We propose a new reflection metafunction - *is_structural_type(info)* as a solution, w
P3927R2 task_scheduler Support for Parallel Bulk Execution E. Niebler
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Eric Niebler
Target Audience LEWGLWGSG1
Revisions R1R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
P3941R4 Scheduler Affinity D. Kühl
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Dietmar Kühl
Target Audience LWGSG1
Revisions R3R2R1
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract There are a few NB comments raised about the way `affine_on` works:
P3948R1 constant_wrapper is the only tool needed for passing constant expressions M. Kretz
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Matthias Kretz
Target Audience LWG
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract ```cpp "int std:: __polyfunc :: _Base_invoker <false , int >:: _S_call_storage < …" jmp [QWORD PTR [rdi]] "int std:: __polyfunc :: _Base_invoker <false , int >:: _S_call_storage < …" mov eax , 2 ret ```
P3953R3 Rename std::runtime_format V. Zverovich
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Victor Zverovich
Target Audience LWG
Revisions R2R1R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract [P2918] introduced `std::runtime_format` to allow opting out of compile-time format string checks in `std::format`. Subsequently, [P3391] made `std::format` usable in constant evaluation. As a result, `std::runtime_format` can now be evaluated at compile time, making its name misleading. This paper proposes renaming `std::runtime_format` to `std::dynamic_format` to better reflect its semantics and
P3961R1 Less double indirection in function_ref (RU-220) Z. Yuan
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Zhihao Yuan
Target Audience LWG
Revisions R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract RU-220 calls for allowing skipping indirections when constructing `function_ref` to improve codegen. The proposed change in LWG 4264<sup>[1]</sup> is not strictly an optimization because certain behaviors with and without the change are visible, therefore, need to be made unspecified. This paper (P3961) suggests that, in addition to the change, a subset of the "optimized" cases should be mandated.
P3978R3 constant_wrapper should unwrap on call and subscript M. Kretz
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Matthias Kretz
Target Audience LWG
Revisions R2R1R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract As discussed in [P3948R0], because of language inconsistencies, `std::constant_wrapper` is inconsistently not unwrapping for call and subscript operators whereas all other operators can be found via ADL and the conversion operator implemented in `constant_wrapper`. Looking at `std::`
P3980R1 Task's Allocator Use D. Kühl
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Dietmar Kühl
Target Audience LWG
Revisions R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract There are a few NB comments about `task`’s use of allocators:
P3982R2 Split strided_slice into extent_slice and range_slice for C++26 T. Kamiński, M. Hoemmen
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Revisions R1R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract **Addresses [PL007: Define the extent member of the `strided_slice`](https://github.com/cplusplus/nbballot/issues/816)**
P3983R1 simd object representation D. Towner, R. Arutyunyan
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LEWGLWGSG1
Revisions R2R0
Tracking issue View on GitHub
Abstract The Working Draft makes `simd` types *trivially copyable types*, which allows `std::bit_cast` operations. However, the object representation is unspecified, making the results implementation-defined.
P3986R1 A Wording Strategy for Inlinable Receivers R. Leahy
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Robert Leahy
Target Audience LWG
Revisions R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract When a sender and receiver are connected the result is an operation state. That operation state, once started, is the locus of an asynchronous operation which, upon completion, must notify its consumer of said completion (§33.3 [exec.async.ops]). The way this notification is accomplished is by sending a completion signal to the receiver provided when connecting the sender and receiver.
P4012R1 value-preserving consteval broadcast to simd::vec M. Kretz
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Matthias Kretz
Target Audience LWG
Revisions R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract 1. Novel (no other type in the standard library does this2).
P4037R1 Supporting signed char and unsigned char in random number generation J. Schultke
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Jan Schultke
Target Audience LWG
Revisions R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract Support for `unsigned char` and `signed char` in distributions would be useful. The ability to generate random bytes or octets is extremely valuable for [fuzz testing](https://en.wikipedia.org/wiki/Fuzzing). For example, when testing an implementation of an [LZ77 or LZ78](https://en.wikipedia.org/wiki/LZ77_and_LZ78) compression algorithm, a user would typically
P4042R0 Fix LWG4543: incorrect cast between simd::vec and simd::mask [...] M. Kretz
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Matthias Kretz
Target Audience LWG
Tracking issue View on GitHub
Abstract | Document Number: | P4042R0 | | --- | --- | | Date: | 2026-03-18 | | Reply-to: | Matthias Kretz <m.kretz@gsi.de> | | Audience: | LWG | | Target: | C++26 |
P4140R0 Proposed resolution for US70-126: allow incomplete types in type_order G. Ažman
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Gašper Ažman
Target Audience LEWGLWG
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
P4144R1 Remove span's initializer_list constructor for C++26 M. Hoemmen, T. Kamiński, T. Song, J. Wakely
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Revisions R0
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract This paper expresses [LWG4520](https://cplusplus.github.io/LWG/issue4520) and proposes fixing it by reverting adoption of [P2447R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2447r6.html).
P4154R0 Renaming various execution things T. Song, R. Arutyunyan, A. O’Dwyer
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LWG
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract This paper provides replacement wording for the following papers:
P4156R0 Rename meta::has_ellipsis_parameter to meta::is_vararg_function V. Voutilainen
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Ville Voutilainen
Target Audience LWG
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract This paper proposes wording to resolve the NB comment [FR-017-155](https://github.com/cplusplus/nbballot/issues/734).
P4159R0 Make sender_to and receiver_of exposition-only T. Song
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Tim Song
Target Audience LWG
Tracking issue View on GitHub
Disposition Date 2026-03Adopted
Abstract In response to LEWG direction on [LWG4361], this paper provides wording to make the `receiver_of` and `sender_to` concepts exposition-only for C++26.
P4161R0 std::fewer J. Snyder, J. Coe, N. Banglawala
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LEWGLWG
Tracking issue View on GitHub
P4173R0 A range facility for mdspan H. Kang
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Hewill Kang
Target Audience LEWGLWG
Tracking issue View on GitHub
Abstract Standard `mdspan` accessors, such as `default_accessor`, are specialized for use with raw pointers. While `mdspan`'s design allows for custom accessors, providing a standardized iterator-based accessor simplifies integration with ranges such as views and containers.
P4179R0 view_interface::[c]rbegin() H. Kang
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Author(s) Hewill Kang
Target Audience LEWGLWGSG9
Tracking issue View on GitHub
Abstract This paper provides `rbegin()`/`rend()`/`crbegin()`/`crend()` methods to `ranges::view_interface`, making its interface more symmetric with the existing `cbegin()`/`cend()` members and enhancing convenience for views. Revision history R0 Initial revision. Discussion In C++23, `view_interface` added `cbegin()`/`cend()` members to improve const-correctness and interface consistency. However, it stil
P4188R0 Extensible Math Functions for C++ S. Gros-Lemesre
Intent Proposal
Mailing Date 2026-04 Post-Croydon
Target Audience LEWGLWGSG6SG18
Revisions R1
Tracking issue View on GitHub
Showing 38 of 38 papers · source: open-std.org