› P3039R1
Automatically Generate `operator->`
Andre Kostur
A. Kostur
,
David Stone
D. Stone
2026-01
› P3373R2
Of Operation States and Their Lifetimes
Robert Leahy
R. Leahy
2026-01
Intent
Proposal
Abstract
In broad terms a regular (i.e. synchronous) function call has access to two forms of storage throughout its lifetime (note that the “lifetime” of a regular function call is the time between the call thereto and the return therefrom):
› P3826R3
Fix Sender Algorithm Customization
Eric Niebler
E. Niebler
2026-01
› P3873R0
2025-10 Library Evolution Poll Outcomes
Inbal Levi
I. Levi
,
Fabio Fracassi
F. Fracassi
,
Andreas Weis
A. Weis
,
Nevin Liber
N. Liber
,
Billy Baker
B. Baker
,
Corentin Jabot
C. Jabot
2026-01
Intent
Proposal
Abstract
In 2025-10, the C++ Library Evolution group conducted a series of electronic decision polls [[P3872R0]](https://wg21.link/P3872r0). This paper provides the results of those polls and summarizes the results.
› P3927R0
task_scheduler Support for Parallel Bulk Execution
Eric Niebler
E. Niebler
2026-01
› P3941R1
Scheduler Affinity
Dietmar Kühl
D. Kühl
2026-01
Intent
Proposal
Abstract
There are a few NB comments raised about the way `affine_on` works:
› P3952R0
is_pointer_in_range
Herb Sutter
H. Sutter
,
Glen Joseph Fernandes
G. Fernandes
2026-01
Intent
Proposal
Abstract
WG21 is often asked for a way to reliably answer the question, “does this raw pointer point inside this buffer?” See [Core 2025] for some use cases. Such an `is_pointer_in_range` function is appropriate to standardize because:
› P3953R0
Rename std::runtime_format
Victor Zverovich
V. Zverovich
2026-01
Intent
Proposal
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
› P3955R0
It's Scopes All the Way Down
Robert Leahy
R. Leahy
2026-01
Intent
Proposal
Abstract
The fundamental scope algorithm is `within`. It establishes a scope by running an enter scope sender. Thereafter it allows a child operation to run (in that scope since the exit scope sender has not yet run), and then before completing the overall operation runs the exit scope sender yielded by the enter scope sender.
› P3959R0
Let layout_stride::mapping with zero extent(s) accept zero strides
Mark Hoemmen
M. Hoemmen
,
Jacob Faibussowitsch
J. Faibussowitsch
,
Christian Trott
C. Trott
2026-01
Intent
Proposal
Abstract
We propose to change `layout_stride::mapping`’s constructors to permit strides to be zero if one or more extents are zero. For example, for extents (3, 5, 0, 11), this change would permit any nonnegative strides. Currently, users would need to set the stride(s) corresponding to zero extents to an arbitrary positive value, such as 1. That would make the strides (1, 3, 1, 105) in this example.
› P3960R0
Define copy-constructibility-from-bytes
Mark Hoemmen
M. Hoemmen
,
Ruslan Arutyunyan
R. Arutyunyan
2026-01
Intent
Proposal
Abstract
Given an object `src` of trivially-copyable type `T`, we can copy the object’s value representation to an array of bytes, and implicitly create a new `T` object (e.g., with `start_lifetime_as`) in the array of bytes. The result will hold the same value as `src`.
› P3961R0
Less double indirection in function_ref (RU-220)
Zhihao Yuan
Z. Yuan
2026-01
Intent
Proposal
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.