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.

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 Sep · 1 of 7

Pick months in 2026

Add Year +

Select Years To Display

Current Years Selected

2026
Filters EWG Clear all
14 out of 14 papers selected for export
SelectPaper Title Authors Audience Doc Date Mailing Date
P2034R9 Partially Mutable Lambda Captures R. McDougall, L. Garg 2026-09-21 2026-09
Doc Date 2026-09-21
Mailing Date 2026-09 Unassigned
Target Audience EWGCWG
Revisions R8R7R6
Tracking issue View on GitHub
Abstract `const` and `mutable` extend cleanly to lambda captures. The design is easy to implement, follows the language’s direction, and matches the common model of a lambda as shorthand for an object of a callable struct:
P2561R3 A control flow operator B. Revzin 2026-09-12 2026-09
Doc Date 2026-09-12
Mailing Date 2026-09 Unassigned
Author(s) Barry Revzin
Target Audience EWG
Tracking issue View on GitHub
Abstract Let’s start with a fairly small example of a series of functions that can generate errors, but don’t themselves handle them - they just need to propagate them up. With exceptions, this might look like:
P2688R6 Pattern Matching with `match` and `case` M. Park 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Author(s) Michael Park
Target Audience EWG
Tracking issue View on GitHub
Abstract This paper proposes pattern matching for C++29. It is the next revision of [[P2688R5]](https://wg21.link/p2688r5), which was considered for C++26 at the February 2025 Hagenberg meeting but did not reach consensus for forwarding to CWG.
P3951R2 String Interpolation Objects B. Revzin 2026-09-12 2026-09
Doc Date 2026-09-12
Mailing Date 2026-09 Unassigned
Author(s) Barry Revzin
Target Audience EWG
Revisions R1R0
Tracking issue View on GitHub
Abstract The `std::format` approach to formatting offers many significant benefits over the prior `<iostream>`s approach that need not be revisited here. However, `<iostream>` does still have one significant advantage: ordering. It is easy to see at a glance with a long `std::cout` statement which pieces are to be formatted in which order. With `std::format`, as the amount of replacement fields increases,
P4040R2 Case ranges J. Schultke 2026-09-21 2026-09
Doc Date 2026-09-21
Mailing Date 2026-09 Unassigned
Author(s) Jan Schultke
Target Audience EWG
Revisions R1R0
Tracking issue View on GitHub
Abstract C2y added ranges in `case` labels, such as `case 0 ... 9:`. Such case ranges have also been supported as a C++ compiler extension for many years. This feature should be standardized for C++.
P4235R0 Removing Digraphs M. Wippich 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Author(s) Matthias Wippich
Target Audience EWGSG16SG22
Abstract Digraphs are a complicated solution to a very old problem, which cause more problems than they solve in a modern environment. Digraphs also severely limit the design space of C++, although as we have seen with [[P2996]](https://www%2eopen-std%2eorg/jtc1/sc22/wg21/docs/papers/2025/p2996r13%2ehtml) we are already fine with special-casing our way out of this pickle.
P4307R0 An Infix Operator and a Keyword Escape for C++ S. Downey 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Author(s) Steve Downey
Target Audience EWGSG17
Abstract We propose two uses for one character: the backtick, the last printable ASCII character the language can still usefully claim. One makes any callable a binary operator; the other lets a keyword be escaped for use as an ordinary identifier. Each is independently motivated, and each is defined by rewrite into something the language already has. They are proposed together, with equal standing, becaus
P4333R0 Asynchronous main I. Petersen, J. Wong, R. Leahy 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Target Audience EWGLEWGSG1SG17SG18
Abstract This paper proposes that `main` should have an alternate, sender factory form.
P4341R0 Another take on non-transient constexpr allocation B. Revzin 2026-09-10 2026-09
Doc Date 2026-09-10
Mailing Date 2026-09 Unassigned
Author(s) Barry Revzin
Target Audience EWG
Abstract This papers proposes a new approach to solving the problem of non-transient constexpr allocation. The result is variables of types like `std::vector<T>` and `std::string` are able persist as `constexpr` variables and, with [[P4340R0] (Extending constant template parameter support by customizing std::meta::reflect_constant)](https://wg21.link/p4340r0), be usable as constant template parameters.
P4345R0 Extending C++ with Unicode Mathematical Operators S. Downey 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Author(s) Steve Downey
Target Audience EWGSG16SG17
Abstract We propose that a user be able to declare `operator⊞` and write `a ⊞ b`. That is the whole feature: a frozen set of Unicode symbols that have never had meaning in C++ becomes available as operator tokens, and an operator drawn from that set is an ordinary overloadable function, found by ordinary lookup, called by ordinary overload resolution.
P4353R0 Partially Mutable Lambda Captures R. McDougall, L. Garg 2026-08-19 2026-09
Doc Date 2026-08-19
Mailing Date 2026-09 Unassigned
Target Audience EWGCWG
Abstract At a high level: we have found that it is simple and straightforward to extend both `const` and `mutable` keywords to lambda syntax in a way that closely mirrors most users’ mental model of lambda as “a means of getting an object of a callable struct”, that is easy to implement, and is in line with the ongoing evolution of the language:
P4363R0 C++ Contracts compile-time evaluation semantic: static J. Grant 2026-09-10 2026-09
Doc Date 2026-09-10
Mailing Date 2026-09 Unassigned
Author(s) Jonathan Grant
Target Audience EWG
Abstract This paper introduces an additional evaluation semantic for C++ Contracts: **"**`static`**".** This is an additional semantic which sits along side the existing: ignore, observe, enforce, quick-enforce evaluation semantics.
P4376R0 Do not require module implementation units to import primray module interface implicitly C. Xu 2026-09-10 2026-09
Doc Date 2026-09-10
Mailing Date 2026-09 Unassigned
Author(s) Chuanqi Xu
Target Audience EWG
Abstract The other practices shows that this is a real need to fix real problems.
P4380R0 Token Sequence Injection B. Revzin, D. Vandevoorde, A. Alexandrescu 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Target Audience EWG
Abstract This is a follow-up to [[P3294R2] (Code Injection with Token Sequences)](https://wg21.link/p3294r2). In that paper, we argued that the right model for code generation in C++ is through token sequences by comparing to other potential models. In short, we believe that code generation in C++ must be C++-shaped, must be able to generate all of C++, and must allow for the full use of C++ in that genera
Showing 14 of 14 papers · source: open-std.org