May 2026 Papers

A WG21 mailing is the month's batch of papers under committee review.

Paper Title Authors Audience Notes
N5044 Brno June 2026 Venue (2nd revision)Brno June 2026 Venue (2nd revision) Hana Dusíková WG21
N5045 WG21 agenda: 8-13 June 2026, Brno, CzechiaWG21 agenda: 8-13 June 2026, Brno, Czechia Nina Ranns WG21
N5046 Working Draft, Progr…ming Languages -- C++Working Draft, Programming Languages -- C++Working Draft, Programming Languages -- C++ Thomas Köppe WG21
N5047 Editors' Report, Pro…ming Languages -- C++Editors' Report, Programming Languages -- C++Editors' Report, Programming Languages -- C++ Thomas Köppe WG21
P0876R23 fiber_context - fibers without schedulerfiber_context - fibers without scheduler Oliver Kowalke, Nat Goodspeed CWGLWG
P1040R10 std::embed and #dependstd::embed and #depend JeanHeyd Meneide EWGLEWG +1 CWG
P2583R4 Info: Symmetric Tran…nd Sender CompositionInfo: Symmetric Transfer and Sender CompositionInfo: Symmetric Transfer and Sender Composition Mungo Gill, Vinnie Falco WG21
P2728R12 Unicode in the Libra…rt 1: UTF TranscodingUnicode in the Library, Part 1: UTF TranscodingUnicode in the Library, Part 1: UTF Transcoding Eddie Nolan LEWG +2 SG9SG16
P2826R3 Expression AliasesExpression Aliases Gašper Ažman EWG
P2906R1 Structured bindings for std::extentsStructured bindings for std::extents Bernhard Manfred Gruber, Yihan Wang +1 Mark Hoemmen LEWG
P2929R4 chunked_invokechunked_invoke Daniel Towner, Ruslan Arutyunyan LEWG
P2964R4 Allowing user-defined types in std::simdAllowing user-defined types in std::simd Daniel Towner, Ruslan Arutyunyan LEWG +1 SG6
P3045R8 Quantities and units libraryQuantities and units library Mateusz Pusz, Dominik Berner +5 Johel Ernesto Guerrero Peña, Charles Hogg, Nicolas Holthaus, Roth Michaels, Vincent Reverdy LEWG +3 SG6SG16SG20
P3097R2 Contracts for C++: Virtual functionsContracts for C++: Virtual functions Timur Doumler, Joshua Berne EWG
P3098R2 Contracts for C++: Postcondition capturesContracts for C++: Postcondition captures Timur Doumler, Gašper Ažman +1 Joshua Berne EWGLEWG +1 SG21
P3099R2 Contracts for C++: U…d diagnostic messagesContracts for C++: User-defined diagnostic messagesContracts for C++: User-defined diagnostic messages Timur Doumler, Peter Bindels +1 Joshua Berne EWG
P3100R6 A framework for syst…r in the C++ StandardA framework for systematically addressing undefined behaviour in the C++ StandardA framework for systematically addressing undefined behaviour in the C++ Standard Timur Doumler, Joshua Berne EWGLEWG
P3104R5 Bit permutationsBit permutations Jan Schultke LWG
P3125R5 constexpr pointer taggingconstexpr pointer tagging Hana Dusíková LEWGLWG
P3290R4 Integrating Existing…rtions With ContractsIntegrating Existing Assertions With ContractsIntegrating Existing Assertions With Contracts Joshua Berne, Timur Doumler +1 John Lakos LEWG
P3351R4 views::scanviews::scan Yihe Li LEWG
P3377R0 constexpr `reinterpr… partial replacementsconstexpr `reinterpret_cast` partial replacementsconstexpr `reinterpret_cast` partial replacements Hana Dusíková, Gašper Ažman EWGLEWG
P3400R3 Controlling Contract-Assertion PropertiesControlling Contract-Assertion Properties Joshua Berne EWG
P3411R6 `any_view``any_view` Hui Xie, S. Levent Yilmaz +2 Louis Dionne, Patrick Roberts LEWG +1 SG9
P3427R4 Hazard Pointer Synchronous ReclamationHazard Pointer Synchronous Reclamation Maged Michael, Michael Wong +2 Paul McKenney, Mark de Wever LEWG
P3428R3 Hazard Pointer BatchesHazard Pointer Batches Maged Michael, Michael Wong +1 Paul McKenney LWG
P3568R2 break label; and continue label;break label; and continue label; Jan Schultke EWG +1 SG22
P3596R2 Undefined Behavior and IFNDR AnnexesUndefined Behavior and IFNDR Annexes Joshua Berne, Timur Doumler +2 Jens Maurer, Shafik Yaghmour CWG
P3642R5 Carry-less product: std::clmulCarry-less product: std::clmul Jan Schultke LEWG
P3666R4 Bit-precise integersBit-precise integers Jan Schultke LEWGCWG
P3668R3 Defaulting Postfix I… Decrement OperationsDefaulting Postfix Increment and Decrement OperationsDefaulting Postfix Increment and Decrement Operations Matthew Taylor, Alex (Waffl3x) CWG
P3724R4 Integer divisionInteger division Jan Schultke LEWG
P3729R1 Aligning span and string_viewAligning span and string_view Michael Florian Hava LEWG
P3737R4 std::array is a wrapper for an array!std::array is a wrapper for an array! Jan Schultke LEWG
P3738R1 Make std::make_from_tuple SFINAE friendlyMake std::make_from_tuple SFINAE friendly Yihan Wang LEWG
P3816R3 Hashing meta::infoHashing meta::info Matt Cummins, Valentyn Yukhymenko SG7
P3818R2 constexpr exception …nstant initializationconstexpr exception library which is unsurprising in potentially constant initializationconstexpr exception library which is unsurprising in potentially constant initialization Hana Dusíková EWGLEWG
P3850R0 A proposed plan for …ng Contracts in C++29A proposed plan for extending Contracts in C++29A proposed plan for extending Contracts in C++29 Timur Doumler, Joshua Berne EWGLEWG
P3852R1 constexpr `is_pointer_within` memory areaconstexpr `is_pointer_within` memory area Hana Dusíková LEWG
P3876R2 Extending <charconv>… more character typesExtending <charconv> support to more character typesExtending <charconv> support to more character types Jan Schultke, Peter Bindels SG16
P3891R1 Improve readability …roups and repetitionsImprove readability of the C++ grammar by adding a syntax for groups and repetitionsImprove readability of the C++ grammar by adding a syntax for groups and repetitions Jan Schultke CWGLWG
P3933R1 constexpr `std::hive`constexpr `std::hive` Hana Dusíková, NylteJ LEWG
P3935R1 Rebasing <cmath> on C23Rebasing <cmath> on C23 Jan Schultke SG22
P3969R1 Fixing std::bit_cast…pes with padding bitsFixing std::bit_cast of types with padding bitsFixing std::bit_cast of types with padding bits Jan Schultke EWGLEWG
P3971R1 Generalised type reb…s of uniform elementsGeneralised type rebinding for structures of uniform elementsGeneralised type rebinding for structures of uniform elements Daniel Towner LEWG
P3973R1 bit_cast_as: Elemen…etation for std::simdbit_cast_as: Element type reinterpretation for std::simdbit_cast_as: Element type reinterpretation for std::simd Daniel Towner LEWG
P3983R2 simd object representationsimd object representation Daniel Towner, Ruslan Arutyunyan LEWGLWG +1 SG1
P4003R3 Ask: A Minimal Coroutine Execution ModelAsk: A Minimal Coroutine Execution Model Vinnie Falco, Mungo Gill +1 Steve Gerbino LEWG
P4007R3 Info: Open Issues in…std::execution::task`Info: Open Issues in `std::execution::task`Info: Open Issues in `std::execution::task` Vinnie Falco, Mungo Gill WG21
P4013R0 constexpr `any` of all the thingsconstexpr `any` of all the things Hana Dusíková LEWG
P4014R2 Info: The Sender Sub…anguage For BeginnersInfo: The Sender Sub-Language For BeginnersInfo: The Sender Sub-Language For Beginners Vinnie Falco, Mungo Gill WG21
P4025R2 The SG19 Priority List for C++29/32The SG19 Priority List for C++29/32 Michael Wong, phil Ratzloff SG19
P4035R1 Info: The Need for Escape HatchesInfo: The Need for Escape Hatches Vinnie Falco WG21
P4036R0 Info: Why Span Is Not EnoughInfo: Why Span Is Not Enough Vinnie Falco WG21
P4041R0 Info: Is `std::execu…niversal Async Model?Info: Is `std::execution` a Universal Async Model?Info: Is `std::execution` a Universal Async Model? Vinnie Falco WG21
P4046R0 Info: SAGE: Saving All Gathered ExpertiseInfo: SAGE: Saving All Gathered Expertise Vinnie Falco WG21
P4047R0 Info: CRYSTAL BALL: …ns Against the RecordInfo: CRYSTAL BALL: Checking Predictions Against the RecordInfo: CRYSTAL BALL: Checking Predictions Against the Record Vinnie Falco WG21
P4048R0 Info: Networking for…+29: A Call to ActionInfo: Networking for C++29: A Call to ActionInfo: Networking for C++29: A Call to Action Vinnie Falco WG21
P4088R1 Info: What C++20 Cor…eady Buy The StandardInfo: What C++20 Coroutines Already Buy The StandardInfo: What C++20 Coroutines Already Buy The Standard Vinnie Falco WG21
P4089R1 Info: On the Diversi… Coroutine Task TypesInfo: On the Diversity of Coroutine Task TypesInfo: On the Diversity of Coroutine Task Types Vinnie Falco WG21
P4090R1 Info: Sender I/O: A Constructed ComparisonInfo: Sender I/O: A Constructed Comparison Vinnie Falco WG21
P4091R1 Info: Error Models o…e Sender Sub-LanguageInfo: Error Models of Regular C++ and the Sender Sub-LanguageInfo: Error Models of Regular C++ and the Sender Sub-Language Vinnie Falco WG21
P4092R1 Info: Consuming Send…Coroutine-Native CodeInfo: Consuming Senders from Coroutine-Native CodeInfo: Consuming Senders from Coroutine-Native Code Vinnie Falco, Steve Gerbino WG21
P4093R1 Info: Producing Send…Coroutine-Native CodeInfo: Producing Senders from Coroutine-Native CodeInfo: Producing Senders from Coroutine-Native Code Vinnie Falco, Steve Gerbino WG21
P4094R1 Info: The Unificatio…f Executors and P0443Info: The Unification of Executors and P0443Info: The Unification of Executors and P0443 Vinnie Falco WG21
P4095R1 Info: The Basis Operation and P1525Info: The Basis Operation and P1525 Vinnie Falco WG21
P4096R1 Info: Coroutine Executors and P2464R0Info: Coroutine Executors and P2464R0 Vinnie Falco WG21
P4097R1 Info: The Networking Claim and P2453R0Info: The Networking Claim and P2453R0 Vinnie Falco WG21
P4098R1 Info: Async Claims and EvidenceInfo: Async Claims and Evidence Vinnie Falco WG21
P4099R1 Info: The Twenty-One Year Networking ArcInfo: The Twenty-One Year Networking Arc Vinnie Falco WG21
P4100R1 Info: Coroutine-Nati…The Network Endeavor)Info: Coroutine-Native I/O for C++29 (The Network Endeavor)Info: Coroutine-Native I/O for C++29 (The Network Endeavor) Vinnie Falco, Steve Gerbino +3 Michael Vandeberg, Mungo Gill, Mohammad Nejati WG21
P4123R0 Info: The Cost of Se…ers for Coroutine I/OInfo: The Cost of Senders for Coroutine I/OInfo: The Cost of Senders for Coroutine I/O Vinnie Falco WG21
P4124R0 Info: Combinators an…ound Results from I/OInfo: Combinators and Compound Results from I/OInfo: Combinators and Compound Results from I/O Vinnie Falco WG21
P4125R1 Info: Coroutine-Nati… Derivatives ExchangeInfo: Coroutine-Native I/O at a Derivatives ExchangeInfo: Coroutine-Native I/O at a Derivatives Exchange Mungo Gill WG21
P4126R1 Info: A Universal Continuation ModelInfo: A Universal Continuation Model Vinnie Falco, Klemens Morgenstern WG21
P4127R0 Info: The Coroutine …ocator Timing ProblemInfo: The Coroutine Frame Allocator Timing ProblemInfo: The Coroutine Frame Allocator Timing Problem Vinnie Falco WG21
P4136R2 #line is not in line…th existing practices#line is not in line with existing practices#line is not in line with existing practices Corentin Jabot CWG
P4139R2 Better Name for Better Lookups in P3091Better Name for Better Lookups in P3091 Nathan Myers, Pablo Halpern WG21
P4147R0 constexpr => runtime bridgeconstexpr => runtime bridge Hana Dusíková EWG
P4148R1 protocol: Structural Subtyping for C++protocol: Structural Subtyping for C++ Jonathan B. Coe, Hana Dusikova +3 Antony Peacock, Philip Craig, Neelofer Banglawala LEWGI
P4166R0 Info: Benefits of Fr…oroutines for SendersInfo: Benefits of Frame-Visible Coroutines for SendersInfo: Benefits of Frame-Visible Coroutines for Senders Vinnie Falco WG21
P4167R0 reflection annotations to control ADLreflection annotations to control ADL Hana Dusíková EWG
P4170R0 Info: A Reader's Gui… the May 2026 MailingInfo: A Reader's Guide to the May 2026 MailingInfo: A Reader's Guide to the May 2026 Mailing Vinnie Falco WG21
P4172R1 Info: IoAwaitable fo…ive Byte-Oriented I/OInfo: IoAwaitable for Coroutine-Native Byte-Oriented I/OInfo: IoAwaitable for Coroutine-Native Byte-Oriented I/O Vinnie Falco, Steve Gerbino WG21
P4176R1 Grammar non-terminal…r postfix-expressionsGrammar non-terminals for postfix-expressionsGrammar non-terminals for postfix-expressions Vlad Serebrennikov CWG
P4178R0 Info: Trade-offs in …us Abstraction DesignInfo: Trade-offs in Asynchronous Abstraction DesignInfo: Trade-offs in Asynchronous Abstraction Design Vinnie Falco WG21
P4182R1 Info: A Citable Inve…d Compiler ToolchainsInfo: A Citable Inventory of Platforms, Operating Systems, and Compiler ToolchainsInfo: A Citable Inventory of Platforms, Operating Systems, and Compiler Toolchains Mungo Gill SG14 +1 WG21
P4185R0 Completing the Mathe… Quantities and UnitsCompleting the Mathematical Model for C++ Quantities and UnitsCompleting the Mathematical Model for C++ Quantities and Units Mateusz Pusz SG6
P4189R0 get()ing the pointer from optionalget()ing the pointer from optional Nevin Liber LEWG
P4198R0 Runtime Indexed TuplesRuntime Indexed Tuples Abdul Muneem LEWGI
P4205R0 Range-Based SearchersRange-Based Searchers Yihe Li SG9
P4206R0 Revert string suppor…std::constant_wrapperRevert string support in std::constant_wrapperRevert string support in std::constant_wrapper Barry Revzin, Zach Laine +3 Matthias Kretz, Jonathan Wakely, Tomasz Kamiński LEWG
P4207R0 Info: Prosecute Your Paper To Improve ItInfo: Prosecute Your Paper To Improve It Vinnie Falco WG21
P4208R0 Info: C++ Contracts …ve Cross-Examination?Info: C++ Contracts on Trial - Does P2900 Survive Cross-Examination?Info: C++ Contracts on Trial - Does P2900 Survive Cross-Examination? Vinnie Falco WG21
P4209R0 numeric_limits for std::simdnumeric_limits for std::simd Daniel Towner LEWG +1 SG6
P4210R0 copy_on_write: A Voc…Lazily- Copied Valuescopy_on_write: A Vocabulary Type for Lazily- Copied Valuescopy_on_write: A Vocabulary Type for Lazily- Copied Values Daniel Pfeifer LEWGI
P4211R0 Adaptors For Closed RangesAdaptors For Closed Ranges Yihe Li SG9
P4212R0 ISO/IEC 60559 Floati…Support Annex for C++ISO/IEC 60559 Floating-Point Support Annex for C++ISO/IEC 60559 Floating-Point Support Annex for C++ Guy Davidson SG6
P4213R0 Minimal SI: Defining… C++ Standard LibraryMinimal SI: Defining the International System of Units for the C++ Standard LibraryMinimal SI: Defining the International System of Units for the C++ Standard Library Mateusz Pusz LEWG
P4214R0 Composable Correctne…d Progress GuaranteesComposable Correctness and Progress GuaranteesComposable Correctness and Progress Guarantees Lucian Radu Teodorescu SG1
P4215R0 Primitives for Non-Local ConcurrencyPrimitives for Non-Local Concurrency Lucian Radu Teodorescu SG1
P4216R0 Comparisons for spanComparisons for span Michael Florian Hava LEWG
P4217R0 when_all() is just just()when_all() is just just() Robert Leahy LEWG +1 SG1
P4220R0 Design goals for zstring_viewDesign goals for zstring_view Andrzej Krzemieński LEWG
P4221R0 Atomic CompareAtomic Compare Maged Michael, Paul McKenney +1 Michael Wong SG1
P4222R0 An initialization profileAn initialization profile Bjarne Stroustrup EWG +1 SG23
P4223R0 Towards senders in interfacesTowards senders in interfaces Ian Petersen SG1
P4225R0 2026-05 Library Evolution Polls2026-05 Library Evolution Polls Inbal Levi, Fabio Fracassi +2 Andreas Weis, Corentin Jabot LEWG
P4227R0 What's in a cstring_view?What's in a cstring_view? Andreas Weis LEWG
P4228R0 try_*_back For Other Sequence Containerstry_*_back For Other Sequence Containers Nevin Liber LEWG
P4229R0 Canonical Parallel S…e Parallel AlgorithmsCanonical Parallel Scan: Expression and Observation Contracts for Reproducible Parallel AlgorithmsCanonical Parallel Scan: Expression and Observation Contracts for Reproducible Parallel Algorithms Andrew Drakeford LEWGI +2 SG6SG22
P4230R0 Implementability of …943's C++ stdatomic.hImplementability of P0943's C++ stdatomic.hImplementability of P0943's C++ stdatomic.h Hans Boehm LEWG +1 SG1
P4231R0 Unified floating point rounding proposalUnified floating point rounding proposal Hans Boehm, Guy Davidson +1 Jan Schultke LEWG +1 SG6
P4233R0 More minor additions…ard library hardeningMore minor additions to standard library hardeningMore minor additions to standard library hardening Konstantin Varlamov LEWGLWG
P4234R0 $identifiers$identifiers Matthias Wippich, Murat Can Çağrı EWG +1 SG22
P5000R1 Direction for ISO C++29Direction for ISO C++29 Daveed Vandevoorde, J. Garland +4 P. McKenney, R. Orr, B. Stroustrup, M. Wong Direction