› P0085R2
Oo... adding a coherent character sequence to begin octal-literals
Axel Naumann
A. Naumann
,
Jolly Chen
J. Chen
,
Michael Jonker
M. Jonker
2025-06-06
2025-07
› P1040R8
std::embed and #depend
JeanHeyd Meneide
J. Meneide
2025-06-23
2025-07
Doc Date
2025-06-23
Abstract
A proposal for a function that allows pulling resources at compile-time into a program, and a preprocessor directive to make finding those resources feasible for compilers and build systems.
› P2414R9
Pointer lifetime-end zap proposed solutions
Paul E. McKenney
P. McKenney
,
Maged Michael
M. Michael
,
Jens Maurer
J. Maurer
,
Peter Sewell
P. Sewell
,
Martin Uecker
M. Uecker
,
Hans Boehm
H. Boehm
,
Hubert Tong
H. Tong
,
Niall Douglas
N. Douglas
,
Thomas Rodgers
T. Rodgers
,
Will Deacon
W. Deacon
,
Michael Wong
M. Wong
,
David Goldblatt
D. Goldblatt
,
Kostya Serebryany
K. Serebryany
,
Anthony Williams
A. Williams
,
Tom Scogland
T. Scogland
,
JF Bastien
J. Bastien
2025-07-11
2025-07
Doc Date
2025-07-11
Author(s)
Paul E. McKenney , Maged Michael , Jens Maurer , Peter Sewell , Martin Uecker , Hans Boehm , Hubert Tong , Niall Douglas , Thomas Rodgers , Will Deacon , Michael Wong , David Goldblatt , Kostya Serebryany , Anthony Williams , Tom Scogland , JF Bastien
Abstract
**Introduction** **3** **Terminology** **4** **What We Are Asking For** **5** **Detailed Proposal** **5** Atomic Operations Forgive Pointer Invalidity 5 Volatile Accesses Forgive Pointer Invalidity 6 **Examples** **6** LIFO Push With Nondeterministic Pointer Provenance 7 Use Case 1: Invalid Pointer Use 7 Use Case 2: Zombie Pointer Dereference 7 Fixing LIFO Push Using This Proposal 8 **Wording** **
› P3096R11
Function Parameter Reflection in Reflection for C++26
Adam Lach
A. Lach
,
Walter Genovese
W. Genovese
2025-06-19
2025-07
Doc Date
2025-06-19
Abstract
Based on a few demonstrative applications, we claim that parameter reflection is an important feature that should be included in the initial specification for Reflection in C++26.
› P3100R3
Implicit contract assertions
Timur Doumler
T. Doumler
,
Joshua Berne
J. Berne
2025-07-03
2025-07
Doc Date
2025-07-03
Abstract
In this paper, we enumerate all cases of core language undefined behaviour explicitly specified in C++, group them into eleven categories, classify them along a number of relevant criteria, and discuss appropriate mitigation strategies. The conditions under which such undefined behaviour will occur can, in many cases, be identified by a runtime check. We describe how such runtime checks can be sys
› P3439R3
Chained comparisons: Safe, correct, efficient
Herb Sutter
H. Sutter
2025-06-19
2025-07
Doc Date
2025-06-19
Abstract
This paper proposes that we adopt Barry Revzin’s [[P0893R1](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0893r1.html)] (based on my [[P0515R0](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0515r0.pdf)] section 3.3) with refined proposed rules that may address previous concerns, but for now only make the problematic chains deprecated or ill-formed to allow for a transition
› P3601R0
Slides for P3407R1
Brian Bi
B. Bi
2025-06-17
2025-07
› P3687R1
Final Adjustments to C++26 Reflection
Dan Katz
D. Katz
,
Wyatt Childers
W. Childers
,
Daveed Vandevoorde
D. Vandevoorde
,
Ville Voutilainen
V. Voutilainen
2025-06-18
2025-07
Doc Date
2025-06-18
Abstract
We propose two minor design changes to [[P2996R12](https://wg21.link/p2996r12)] to ensure its readiness for C++26 and future-proof the evolution of the feature.
› P3726R0
Adjustments to Union Lifetime Rules
Barry Revzin
B. Revzin
,
Tomasz Kamiński
T. Kamiński
2025-07-13
2025-07
Doc Date
2025-07-13
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:
› P3731R0
#embed Preprocessor Parameter Order
JeanHeyd Meneide
J. Meneide
2025-06-05
2025-07
Doc Date
2025-06-05
Abstract
Preprocessor embed has a fixed behavior no matter which parameter ordering is chosen. This paper attempts to enforce or encourage the ordering of preprocessor parameters to prevent mental mistakes from users.
› P3736R0
Slides against P2971R3 - No implication for C++
Jan Schultke
J. Schultke
2025-06-27
2025-07
› P3745R0
Rebuttal to P1144R13
Pablo Halpern
P. Halpern
2025-07-03
2025-07
› P3754R0
Slides for P3100R2 presentation to EWG
Timur Doumler
T. Doumler
2025-06-20
2025-07
› P3765R0
Deprecate implicit conversion from bool to character types
Jan Schultke
J. Schultke
,
Hana Dusíková
H. Dusíková
2025-07-12
2025-07
Doc Date
2025-07-12
Abstract
Implicit conversion from `bool` to character types serve little purpose in the language, and invite bugs. We propose to deprecate them.
› P3769R0
Clarification of placement new deallocation
Lauri Vasama
L. Vasama
2025-06-22
2025-07
Doc Date
2025-06-22
Abstract
Clarifies wording for selection of deallocation functions in placement new expressions.
› P3771R0
constexpr mutex, locks, and condition variable
Hana Dusíková
H. Dusíková
2025-06-30
2025-07
Doc Date
2025-06-30
Abstract
It's really hard to conditionally avoid non-`constexpr` types in a code which is supposed to be `constexpr` compatible. This paper fixes it by making these types (and algorithms) `constexpr` compatible. There is no semantical change for updated types and algorithms.
› P3780R0
Detecting bitwise trivially relocatable types
Giuseppe D'Angelo
G. D'Angelo
2025-07-10
2025-07
Doc Date
2025-07-10
Abstract
We propose a new type trait that detects whether a type can be trivially relocated, and such trivial relocation does not alter any part of the object representation. This trait has direct use cases when creating types that use byte buffers to manage objects, such as certain implementations of `optional`, `inplace_vector`, `any`, `function` and similar.
› P3781R0
is_*_type should imply is_type
Xavier Bonaventura
X. Bonaventura
2025-07-05
2025-07
Doc Date
2025-07-05
Abstract
This paper is to raise awareness of a potential user confusion by the fact that a user needs to check for `is_type` before calling `is_*_type`. As a solution, it proposes to make the call to `is_type` implicit when calling any of the `is_*_type` functions.
› P3795R0
Miscellaneous Reflection Cleanup
Barry Revzin
B. Revzin
2025-07-15
2025-07
Doc Date
2025-07-15
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
› P3802R0
Poor Functions
Daveed Vandevoorde
D. Vandevoorde
2025-07-15
2025-07