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. Paper numbers and titles open each paper’s page, with its revision history and a link to the official copy on open-std.org.

Audience
Evolution
Mailings
1 · Year 1 · Month

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

2026 Sep · 1 of 8

Pick months in 2026

2025 143 papers

Pick months in 2025

Add Year +

Select Years To Display

Current Years Selected

2026 2025
Filters Author: Barry Revzin Clear all
5 out of 5 papers selected for export
SelectPaper Title Authors Audience Doc Date Mailing Date
P2561R3 A control flow operator Barry Revzin 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:
P3951R2 String Interpolation Objects Barry Revzin 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,
P4341R0 Another take on non-transient constexpr allocation Barry Revzin B. Revzin 2026-09-10 2026-09
Doc Date 2026-09-10
Mailing Date 2026-09 Unassigned
Author(s) Barry Revzin
Target Audience EWG
Tracking issue View on GitHub
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.
P4364R0 Emitting messages at compile time with std::format Barry Revzin B. Revzin 2026-09-10 2026-09
Doc Date 2026-09-10
Mailing Date 2026-09 Unassigned
Author(s) Barry Revzin
Target Audience LEWG
Tracking issue View on GitHub
Abstract [[P2758R5] (Emitting messages at compile time)](https://wg21.link/p2758r5) is still working its way through the committee, but in the meantime [[P3391R2] (constexpr std::format)](https://wg21.link/p3391r2) has been adopted for C++26. Which means that the former paper can continue to just provide the lower level interface that accepts `std::string_view` while this paper can provide the more complex
P4380R0 Token Sequence Injection Barry Revzin B. Revzin , Daveed Vandevoorde D. Vandevoorde , Andrei Alexandrescu A. Alexandrescu 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Target Audience EWG
Revisions R1
Tracking issue View on GitHub
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 5 of 5 papers · source: open-std.org