<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>C++ Pulse — papers adopted at each plenary</title>
<link>https://cpplang.io/</link>
<description>The heartbeat of the C++ language. Every WG21 plenary as one entry, with the papers it voted into the C++ working draft.</description>
<language>en</language>
<lastBuildDate>Tue, 13 Oct 2026 08:04:39 GMT</lastBuildDate>
<atom:link href="https://cpplang.io/feed.xml" rel="self" type="application/rss+xml"/>
<item>
<title>Brno 2026: 39 papers adopted into C++29</title>
<link>https://cpplang.io/plenary/2026-06-brno</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2026-06-brno</guid>
<pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
<description>&lt;p&gt;39 papers adopted into C++29 at the Brno, June 2026 plenary, across 25 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-29&quot;&gt;Small language features (C++29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2953R5&quot;&gt;P2953R5&lt;/a&gt; — Adding restrictions to defaulted assignment operator functions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3424R2&quot;&gt;P3424R2&lt;/a&gt; — Deallocation Functions with Throwing Exception Specification Are Ill-formed&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3668R4&quot;&gt;P3668R4&lt;/a&gt; — Defaulting Postfix Increment and Decrement Operations&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3785R1&quot;&gt;P3785R1&lt;/a&gt; — Library Wording Changes for Defaulted Postfix Increment and Decrement Operations&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3950R1&quot;&gt;P3950R1&lt;/a&gt; — return_value &amp;amp; return_void Are Not Mutually Exclusive&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/pointer-provenance&quot;&gt;Pointer provenance &amp;amp; lifetime-end zap&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2414R12&quot;&gt;P2414R12&lt;/a&gt; — Pointer lifetime-end zap proposed solutions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2434R5&quot;&gt;P2434R5&lt;/a&gt; — Nondeterministic pointer provenance&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3347R6&quot;&gt;P3347R6&lt;/a&gt; — Invalid Pointer Operations&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/bit-ops&quot;&gt;Bit operations&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3104R6&quot;&gt;P3104R6&lt;/a&gt; — Bit permutations&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3793R2&quot;&gt;P3793R2&lt;/a&gt; — Better shifting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/concurrency&quot;&gt;Concurrency utilities&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2019R9&quot;&gt;P2019R9&lt;/a&gt; — Thread attributes&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3428R4&quot;&gt;P3428R4&lt;/a&gt; — Hazard Pointer Batches&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4258R0&quot;&gt;P4258R0&lt;/a&gt; — C++ Standard Library Ready Issues to be moved in Brno, Jun. 2026&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4271R0&quot;&gt;P4271R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the June, 2026 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-26&quot;&gt;Formatting improvements (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3395R6&quot;&gt;P3395R6&lt;/a&gt; — Fix encoding issues and add a formatter for std::error_code&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3505R4&quot;&gt;P3505R4&lt;/a&gt; — Fix the default floating-point representation in std::format&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lexer-26&quot;&gt;Lexer &amp;amp; Unicode cleanup (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3658R1&quot;&gt;P3658R1&lt;/a&gt; — Adjust _identifier_ following new Unicode recommendations&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3733R1&quot;&gt;P3733R1&lt;/a&gt; — More named universal character escapes&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/simd&quot;&gt;std::simd&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3319R6&quot;&gt;P3319R6&lt;/a&gt; — Add an iota object for SIMD (and more)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3772R2&quot;&gt;P3772R2&lt;/a&gt; — std::simd overloads for bit permutations&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/templates-concepts&quot;&gt;Templates &amp;amp; concepts (core)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2243R0&quot;&gt;P2243R0&lt;/a&gt; — Language linkage for templates&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3822R2&quot;&gt;P3822R2&lt;/a&gt; — Conditional noexcept specifiers in compound requirements&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ub-reduction&quot;&gt;UB reduction &amp;amp; UB/IFNDR annexes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3596R3&quot;&gt;P3596R3&lt;/a&gt; — Undefined Behavior and IFNDR Annexes&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3899R3&quot;&gt;P3899R3&lt;/a&gt; — Clarify the behavior of floating-point overflow&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/preproc-26&quot;&gt;#embed &amp;amp; preprocessor (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3540R3&quot;&gt;P3540R3&lt;/a&gt; — #embed offset parameter&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3692R4&quot;&gt;P3692R4&lt;/a&gt; — How to Avoid OOTA Without Really Trying&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/c-compat&quot;&gt;C compatibility&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3248R5&quot;&gt;P3248R5&lt;/a&gt; — Require [u]intptr_t&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-26&quot;&gt;Constant evaluation (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4101R1&quot;&gt;P4101R1&lt;/a&gt; — Consteval-only Values for C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constant-wrapper&quot;&gt;constant_wrapper &amp;amp; nontype&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4206R0&quot;&gt;P4206R0&lt;/a&gt; — Revert string support in std::constant_wrapper&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/contracts&quot;&gt;Contracts&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3097R3&quot;&gt;P3097R3&lt;/a&gt; — Contracts for C++: Virtual functions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/flat-containers&quot;&gt;flat_map / flat_set&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3091R6&quot;&gt;P3091R6&lt;/a&gt; — Better Lookups for map, unordered_map, and flat_map&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/init-value-cat&quot;&gt;Initialization &amp;amp; value categories&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2287R6&quot;&gt;P2287R6&lt;/a&gt; — Designated-initializers for Base Classes&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iostreams&quot;&gt;iostreams &amp;amp; file streams&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3154R3&quot;&gt;P3154R3&lt;/a&gt; — Deprecating signed character types in iostreams&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lambdas&quot;&gt;Lambda improvements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3847R1&quot;&gt;P3847R1&lt;/a&gt; — Lexical order for lambdas&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-26&quot;&gt;Library constexpr-ification (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3125R6&quot;&gt;P3125R6&lt;/a&gt; — constexpr pointer tagging&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3242R4&quot;&gt;P3242R4&lt;/a&gt; — Copy and fill for mdspan&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/pack-indexing&quot;&gt;Pack indexing&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3670R4&quot;&gt;P3670R4&lt;/a&gt; — Pack Indexing for Template Names&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-26&quot;&gt;Ranges (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3052R2&quot;&gt;P3052R2&lt;/a&gt; — view_interface::at()&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/expected&quot;&gt;std::expected&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3798R1&quot;&gt;P3798R1&lt;/a&gt; — The unexpected in std::expected&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Croydon 2026: 48 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2026-03-croydon</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2026-03-croydon</guid>
<pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
<description>&lt;p&gt;48 papers adopted into C++26 at the Croydon, March 2026 plenary, across 27 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/execution&quot;&gt;std::execution (senders/receivers)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3373R4&quot;&gt;P3373R4&lt;/a&gt; — Of Operation States and Their Lifetimes&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3826R5&quot;&gt;P3826R5&lt;/a&gt; — Fix Sender Algorithm Customization&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3986R1&quot;&gt;P3986R1&lt;/a&gt; — A Wording Strategy for Inlinable Receivers&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4154R0&quot;&gt;P4154R0&lt;/a&gt; — Renaming various execution things&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4159R0&quot;&gt;P4159R0&lt;/a&gt; — Make sender_in and receiver_of exposition-only&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/reflection&quot;&gt;Reflection&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3598R0&quot;&gt;P3598R0&lt;/a&gt; — CWG 3158 – const-ification of Splice Expressions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3795R2&quot;&gt;P3795R2&lt;/a&gt; — Miscellaneous Reflection Cleanup&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3856R8&quot;&gt;P3856R8&lt;/a&gt; — New reflection metafunction - is_structural_type&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4156R0&quot;&gt;P4156R0&lt;/a&gt; — Rename meta::has_ellipsis_parameter to meta::is_vararg_function&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/simd&quot;&gt;std::simd&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3690R1&quot;&gt;P3690R1&lt;/a&gt; — Consistency fix: Make simd reductions SIMD-generic&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3844R4&quot;&gt;P3844R4&lt;/a&gt; — Reword [simd.math] for consteval conversions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3932R0&quot;&gt;P3932R0&lt;/a&gt; — Fix LWG4470: Fix integer-from in [simd]&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4012R1&quot;&gt;P4012R1&lt;/a&gt; — Value-preserving consteval broadcast to simd::vec&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4145R0&quot;&gt;P4145R0&lt;/a&gt; — C++ Standard Library Ready Issues to be moved in Croydon, Mar. 2026&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4146R0&quot;&gt;P4146R0&lt;/a&gt; — C++ Standard Library Immediate Issues to be moved in Croydon, Mar. 2026&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4160R0&quot;&gt;P4160R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the March, 2026 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/task&quot;&gt;Coroutine task type&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3941R4&quot;&gt;P3941R4&lt;/a&gt; — Scheduler Affinity&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3980R1&quot;&gt;P3980R1&lt;/a&gt; — Task’s Allocator Use&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4151R1&quot;&gt;P4151R1&lt;/a&gt; — Rename affine_on&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-26&quot;&gt;Ranges (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3059R2&quot;&gt;P3059R2&lt;/a&gt; — Making user-defined constructors of view iterators/sentinels private&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3725R3&quot;&gt;P3725R3&lt;/a&gt; — Filter View Extensions for Safer Use, Rev 3&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3828R1&quot;&gt;P3828R1&lt;/a&gt; — Rename the to_input view to as_input&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constant-wrapper&quot;&gt;constant_wrapper &amp;amp; nontype&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3948R1&quot;&gt;P3948R1&lt;/a&gt; — constant_wrapper is the only tool needed for passing constant expressions via function arguments&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3978R3&quot;&gt;P3978R3&lt;/a&gt; — constant_wrapper should unwrap on call and subscript&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-26&quot;&gt;Library constexpr-ification (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3450R1&quot;&gt;P3450R1&lt;/a&gt; — Extend std::is_within_lifetime&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3842R2&quot;&gt;P3842R2&lt;/a&gt; — A conservative fix for constexpr uncaught_exceptions() and current_exception()&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/object-lifetime&quot;&gt;Object lifetime &amp;amp; unions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3726R2&quot;&gt;P3726R2&lt;/a&gt; — Adjustments to Union Lifetime Rules&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3769R1&quot;&gt;P3769R1&lt;/a&gt; — Clarification of placement new deallocation&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/parallel-scheduler&quot;&gt;Parallel scheduler&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3804R2&quot;&gt;P3804R2&lt;/a&gt; — Iterating on parallel_scheduler&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3927R2&quot;&gt;P3927R2&lt;/a&gt; — task_scheduler support for parallel bulk execution&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/templates-concepts&quot;&gt;Templates &amp;amp; concepts (core)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4004R1&quot;&gt;P4004R1&lt;/a&gt; — Reconsider CWG 1395 &amp;quot;Partial ordering of variadic templates reconsidered&amp;quot;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4149R1&quot;&gt;P4149R1&lt;/a&gt; — Define &amp;quot;immediate context&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/preproc-26&quot;&gt;#embed &amp;amp; preprocessor (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4136R2&quot;&gt;P4136R2&lt;/a&gt; — #line is not in line with existing implementation&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3936R1&quot;&gt;P3936R1&lt;/a&gt; — Safer atomic_ref::address (FR-030-310)&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-26&quot;&gt;Constant evaluation (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4143R0&quot;&gt;P4143R0&lt;/a&gt; — Constant evaluation when?&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/core-wording&quot;&gt;Core wording overhauls&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3924R1&quot;&gt;P3924R1&lt;/a&gt; — Fix inappropriate font choices for &amp;quot;declaration&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ctad&quot;&gt;CTAD improvements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3865R3&quot;&gt;P3865R3&lt;/a&gt; — Class template argument deduction (CTAD) for type template template parameters&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/exceptions&quot;&gt;Exceptions &amp;amp; exception_ptr&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3981R2&quot;&gt;P3981R2&lt;/a&gt; — Better return types in std::inplace_vector and std::exception_ptr_cast&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-26&quot;&gt;Formatting improvements (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3953R3&quot;&gt;P3953R3&lt;/a&gt; — Rename std::runtime_format&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/inplace-vector&quot;&gt;inplace_vector&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4022R0&quot;&gt;P4022R0&lt;/a&gt; — Remove try_append_range from inplace_vector for now&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iter-algo&quot;&gt;Iterators &amp;amp; algorithms (misc)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3787R2&quot;&gt;P3787R2&lt;/a&gt; — Adjoints to &amp;quot;Enabling list-initialization for algorithms&amp;quot;: uninitialized_fill&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3982R2&quot;&gt;P3982R2&lt;/a&gt; — Split strided_slice into extent_slice and range_slice for C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/nb-housekeeping&quot;&gt;NB-comment omnibus &amp;amp; housekeeping&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3886R0&quot;&gt;P3886R0&lt;/a&gt; — Wording for AT1-057&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/random&quot;&gt;Random numbers&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4037R1&quot;&gt;P4037R1&lt;/a&gt; — Supporting signed char and unsigned char in random number generation&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/saturation&quot;&gt;Saturation arithmetic&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4052R0&quot;&gt;P4052R0&lt;/a&gt; — Renaming saturation arithmetic functions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/span&quot;&gt;std::span&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4144R1&quot;&gt;P4144R1&lt;/a&gt; — Remove span’s initializer_list constructor for C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/type-order&quot;&gt;type_order&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P4140R0&quot;&gt;P4140R0&lt;/a&gt; — Proposed resolution for US70-126: allow incomplete types in type_order&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/type-erased-callables&quot;&gt;Type-erased callables&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3961R1&quot;&gt;P3961R1&lt;/a&gt; — Less double indirection in function_ref&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Kona 2025: 26 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2025-11-kona</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2025-11-kona</guid>
<pubDate>Sat, 01 Nov 2025 00:00:00 GMT</pubDate>
<description>&lt;p&gt;26 papers adopted into C++26 at the Kona, November 2025 plenary, across 20 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3905R0&quot;&gt;P3905R0&lt;/a&gt; — C++ Standard Library Ready Issues to be moved in Kona, Nov. 2025&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3906R0&quot;&gt;P3906R0&lt;/a&gt; — C++ Standard Library Immediate Issues to be moved in Kona, Nov. 2025&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3921R0&quot;&gt;P3921R0&lt;/a&gt; — Core Language Working Group “ready” Issues for the November, 2025 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iter-algo&quot;&gt;Iterators &amp;amp; algorithms (misc)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3016R6&quot;&gt;P3016R6&lt;/a&gt; — Resolve inconsistencies in begin/end for valarray and braced initializer lists&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3612R1&quot;&gt;P3612R1&lt;/a&gt; — Harmonize proxy-reference operations (LWG 3638 and 4187)&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/nb-housekeeping&quot;&gt;NB-comment omnibus &amp;amp; housekeeping&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3914R0&quot;&gt;P3914R0&lt;/a&gt; — Assorted NB comment resolutions for Kona 2025&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3923R0&quot;&gt;P3923R0&lt;/a&gt; — Additional NB comment resolutions for Kona 2025&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/execution&quot;&gt;std::execution (senders/receivers)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3388R3&quot;&gt;P3388R3&lt;/a&gt; — When Do You Know connect Doesn’t Throw?&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3887R1&quot;&gt;P3887R1&lt;/a&gt; — Make when_all a Ronseal Algorithm&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/optional&quot;&gt;std::optional&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3836R2&quot;&gt;P3836R2&lt;/a&gt; — Make optional trivially copyable&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3913R1&quot;&gt;P3913R1&lt;/a&gt; — Optimize for std::optional in range adaptors&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/async-scope&quot;&gt;async_scope&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3815R1&quot;&gt;P3815R1&lt;/a&gt; — Add scope_association concept to P3149&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3860R1&quot;&gt;P3860R1&lt;/a&gt; — Proposed Resolution for NB Comment GB13-309 atomic_ref is not convertible to atomic_ref&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constant-wrapper&quot;&gt;constant_wrapper &amp;amp; nontype&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3774R1&quot;&gt;P3774R1&lt;/a&gt; — Rename std::nontype, and make it broadly useful&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/contracts&quot;&gt;Contracts&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3819R0&quot;&gt;P3819R0&lt;/a&gt; — Remove evaluation_exception() from contract-violation handling for C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/erroneous-behaviour&quot;&gt;Erroneous behaviour &amp;amp; observable checkpoints&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3684R1&quot;&gt;P3684R1&lt;/a&gt; — Fix erroneous behaviour termination semantics for C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/expansion-stmts&quot;&gt;Expansion statements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1789R3&quot;&gt;P1789R3&lt;/a&gt; — Library Support for Expansion Statements&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/flat-containers&quot;&gt;flat_map / flat_set&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3567R2&quot;&gt;P3567R2&lt;/a&gt; — flat_meow fixes&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-26&quot;&gt;Formatting improvements (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3391R2&quot;&gt;P3391R2&lt;/a&gt; — constexpr std::format&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/linalg&quot;&gt;Linear algebra (BLAS)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3371R5&quot;&gt;P3371R5&lt;/a&gt; — Fix C++26 by making the rank-1, rank-2, rank-k, and rank-2k updates consistent with the BLAS&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3663R3&quot;&gt;P3663R3&lt;/a&gt; — Future-proof submdspan_mapping&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/modules&quot;&gt;Modules fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3868R1&quot;&gt;P3868R1&lt;/a&gt; — Allow #line before module declarations&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/hardening&quot;&gt;Standard library hardening&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3878R1&quot;&gt;P3878R1&lt;/a&gt; — Standard library hardening should not use the &amp;#39;observe&amp;#39; semantic&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/simd&quot;&gt;std::simd&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3922R1&quot;&gt;P3922R1&lt;/a&gt; — Missing deduction guide from simd::mask to simd::vec&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/trivial-relocation&quot;&gt;Trivial relocatability&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3920R0&quot;&gt;P3920R0&lt;/a&gt; — Wording for NB comment resolution on trivial relocation&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/type-order&quot;&gt;type_order&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3778R0&quot;&gt;P3778R0&lt;/a&gt; — Fix for type_order template definition&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Sofia 2025: 45 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2025-06-sofia</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2025-06-sofia</guid>
<pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate>
<description>&lt;p&gt;45 papers adopted into C++26 at the Sofia, June 2025 plenary, across 28 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/reflection&quot;&gt;Reflection&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2996R13&quot;&gt;P2996R13&lt;/a&gt; — Reflection for C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3096R12&quot;&gt;P3096R12&lt;/a&gt; — Function Parameter Reflection in Reflection for C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3293R3&quot;&gt;P3293R3&lt;/a&gt; — Splicing a base class subobject&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3394R4&quot;&gt;P3394R4&lt;/a&gt; — Annotations for Reflection&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3491R3&quot;&gt;P3491R3&lt;/a&gt; — define_static_{string,object,array}&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3560R2&quot;&gt;P3560R2&lt;/a&gt; — Error Handling in Reflection&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/execution&quot;&gt;std::execution (senders/receivers)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3284R4&quot;&gt;P3284R4&lt;/a&gt; — write_env and unstoppable Sender Adaptors&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3433R1&quot;&gt;P3433R1&lt;/a&gt; — Allocator Support for Operation States&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3481R5&quot;&gt;P3481R5&lt;/a&gt; — std::execution::bulk() issues&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3557R3&quot;&gt;P3557R3&lt;/a&gt; — High-Quality Sender Diagnostics with Constexpr Exceptions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3570R2&quot;&gt;P3570R2&lt;/a&gt; — optional variants in sender/receiver&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3682R0&quot;&gt;P3682R0&lt;/a&gt; — Remove std::execution::split&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/simd&quot;&gt;std::simd&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2664R11&quot;&gt;P2664R11&lt;/a&gt; — Extend std::simd with permutation API&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2876R3&quot;&gt;P2876R3&lt;/a&gt; — Proposal to extend std::simd with more constructors and accessors&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3480R6&quot;&gt;P3480R6&lt;/a&gt; — std::simd is a range&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3691R1&quot;&gt;P3691R1&lt;/a&gt; — Reconsider naming of the namespace for &amp;quot;std::simd&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3008R6&quot;&gt;P3008R6&lt;/a&gt; — Atomic floating-point min/max&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3111R8&quot;&gt;P3111R8&lt;/a&gt; — Atomic Reduction Operations&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3742R0&quot;&gt;P3742R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Sofia, Jun. 2025&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3752R0&quot;&gt;P3752R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the June, 2025 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/exceptions&quot;&gt;Exceptions &amp;amp; exception_ptr&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2927R3&quot;&gt;P2927R3&lt;/a&gt; — Inspecting exception_ptr&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3748R0&quot;&gt;P3748R0&lt;/a&gt; — Inspecting exception_ptr should be constexpr&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/parallel-ranges&quot;&gt;Parallel range algorithms&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3179R9&quot;&gt;P3179R9&lt;/a&gt; — Parallel Range Algorithms&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3709R2&quot;&gt;P3709R2&lt;/a&gt; — Reconsider parallel ranges::rotate_copy and ranges::reverse_copy&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/preproc-26&quot;&gt;#embed &amp;amp; preprocessor (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2843R3&quot;&gt;P2843R3&lt;/a&gt; — Preprocessing is never undefined&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/async-scope&quot;&gt;async_scope&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3149R11&quot;&gt;P3149R11&lt;/a&gt; — async_scope - Creating scopes for non-sequential concurrency&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/c-compat&quot;&gt;C compatibility&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3348R4&quot;&gt;P3348R4&lt;/a&gt; — C++26 should refer to C23 not C17&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/concurrency&quot;&gt;Concurrency utilities&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3503R3&quot;&gt;P3503R3&lt;/a&gt; — Make type-erased allocator use in promise and packaged_task consistent&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-26&quot;&gt;Constant evaluation (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3533R2&quot;&gt;P3533R2&lt;/a&gt; — constexpr virtual inheritance&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constant-wrapper&quot;&gt;constant_wrapper &amp;amp; nontype&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2781R9&quot;&gt;P2781R9&lt;/a&gt; — std::constant_wrapper&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/task&quot;&gt;Coroutine task type&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3552R3&quot;&gt;P3552R3&lt;/a&gt; — Add a Coroutine Task Type&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/erroneous-behaviour&quot;&gt;Erroneous behaviour &amp;amp; observable checkpoints&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3641R0&quot;&gt;P3641R0&lt;/a&gt; — Rename std::observable to std::observable_checkpoint, and add a feature-test macro&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/expansion-stmts&quot;&gt;Expansion statements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1306R5&quot;&gt;P1306R5&lt;/a&gt; — Expansion Statements&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-26&quot;&gt;Formatting improvements (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2319R5&quot;&gt;P2319R5&lt;/a&gt; — Prevent path presentation problems&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iostreams&quot;&gt;iostreams &amp;amp; file streams&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3223R2&quot;&gt;P3223R2&lt;/a&gt; — Making std::istream::ignore less surprising&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-26&quot;&gt;Library constexpr-ification (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3037R6&quot;&gt;P3037R6&lt;/a&gt; — constexpr std::shared_ptr and friends&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3383R3&quot;&gt;P3383R3&lt;/a&gt; — mdspan.at()&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/modules&quot;&gt;Modules fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3618R0&quot;&gt;P3618R0&lt;/a&gt; — Allow attaching main to the global module&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/parallel-scheduler&quot;&gt;Parallel scheduler&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2079R10&quot;&gt;P2079R10&lt;/a&gt; — Parallel scheduler&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-26&quot;&gt;Ranges (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3060R3&quot;&gt;P3060R3&lt;/a&gt; — Add std::views::indices(n)&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/hardening&quot;&gt;Standard library hardening&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3697R1&quot;&gt;P3697R1&lt;/a&gt; — Minor additions to C++26 standard library hardening&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/optional&quot;&gt;std::optional&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2988R12&quot;&gt;P2988R12&lt;/a&gt; — std::optional&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/strings&quot;&gt;Strings &amp;amp; string_view&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3044R2&quot;&gt;P3044R2&lt;/a&gt; — sub-string_view from string&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/tuple-variant&quot;&gt;tuple, pair &amp;amp; variant&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1317R2&quot;&gt;P1317R2&lt;/a&gt; — Remove return type deduction in std::apply&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/type-order&quot;&gt;type_order&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2830R10&quot;&gt;P2830R10&lt;/a&gt; — Standardized Constexpr Type Ordering&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Hagenberg 2025: 25 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2025-02-hagenberg</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2025-02-hagenberg</guid>
<pubDate>Sat, 01 Feb 2025 00:00:00 GMT</pubDate>
<description>&lt;p&gt;25 papers adopted into C++26 at the Hagenberg, February 2025 plenary, across 18 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/simd&quot;&gt;std::simd&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2663R7&quot;&gt;P2663R7&lt;/a&gt; — Interleaved complex values support in std::simd&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2933R4&quot;&gt;P2933R4&lt;/a&gt; — Extend  header function with overloads for std::simd&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3287R3&quot;&gt;P3287R3&lt;/a&gt; — Exploration of namespaces for std::simd&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3430R3&quot;&gt;P3430R3&lt;/a&gt; — SIMD issues: explicit, unsequenced, identity-element position, and members of disabled SIMD&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3441R2&quot;&gt;P3441R2&lt;/a&gt; — Rename simd_split to simd_chunk&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3615R0&quot;&gt;P3615R0&lt;/a&gt; — C++ Standard Library Ready Issues to be moved in Hagenberg, Feb. 2025&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3638R0&quot;&gt;P3638R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the February, 2025 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-26&quot;&gt;Library constexpr-ification (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3372R3&quot;&gt;P3372R3&lt;/a&gt; — constexpr containers and adaptors&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3378R2&quot;&gt;P3378R2&lt;/a&gt; — constexpr exception types&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-26&quot;&gt;Ranges (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2846R6&quot;&gt;P2846R6&lt;/a&gt; — reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3137R3&quot;&gt;P3137R3&lt;/a&gt; — views::to_input&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/preproc-26&quot;&gt;#embed &amp;amp; preprocessor (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1967R14&quot;&gt;P1967R14&lt;/a&gt; — #embed - a simple, scannable preprocessor-based resource acquisition method&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3475R2&quot;&gt;P3475R2&lt;/a&gt; — Defang and deprecate memory_order::consume&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/contracts&quot;&gt;Contracts&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2900R14&quot;&gt;P2900R14&lt;/a&gt; — Contracts for C++&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/core-wording&quot;&gt;Core wording overhauls&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3542R0&quot;&gt;P3542R0&lt;/a&gt; — Abolish the term &amp;quot;converting constructor&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/erroneous-behaviour&quot;&gt;Erroneous behaviour &amp;amp; observable checkpoints&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1494R5&quot;&gt;P1494R5&lt;/a&gt; — Partial program correctness&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/freestanding&quot;&gt;Freestanding library&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2976R1&quot;&gt;P2976R1&lt;/a&gt; — Freestanding Library: algorithm, numeric, and random&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/indirect-polymorphic&quot;&gt;indirect &amp;amp; polymorphic&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3019R14&quot;&gt;P3019R14&lt;/a&gt; — indirect and polymorphic: Vocabulary Types for Composite Class Design&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iter-algo&quot;&gt;Iterators &amp;amp; algorithms (misc)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3349R1&quot;&gt;P3349R1&lt;/a&gt; — Converting contiguous iterators to pointers&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/object-lifetime&quot;&gt;Object lifetime &amp;amp; unions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3074R7&quot;&gt;P3074R7&lt;/a&gt; — trivial unions (was std::uninitialized)&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/hardening&quot;&gt;Standard library hardening&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3471R4&quot;&gt;P3471R4&lt;/a&gt; — Standard Library Hardening&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/hive&quot;&gt;std::hive&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0447R28&quot;&gt;P0447R28&lt;/a&gt; — Introduction of std::hive to the standard library&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/templates-concepts&quot;&gt;Templates &amp;amp; concepts (core)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2841R7&quot;&gt;P2841R7&lt;/a&gt; — Concept and variable-template template-parameters&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/trivial-relocation&quot;&gt;Trivial relocatability&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2786R13&quot;&gt;P2786R13&lt;/a&gt; — Trivial Relocatability For C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/tuple-variant&quot;&gt;tuple, pair &amp;amp; variant&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0472R3&quot;&gt;P0472R3&lt;/a&gt; — Put std::monostate in &lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Wrocław 2024: 26 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2024-11-wroclaw</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2024-11-wroclaw</guid>
<pubDate>Fri, 01 Nov 2024 00:00:00 GMT</pubDate>
<description>&lt;p&gt;26 papers adopted into C++26 at the Wrocław, November 2024 plenary, across 16 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-26&quot;&gt;Library constexpr-ification (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3309R3&quot;&gt;P3309R3&lt;/a&gt; — constexpr atomic and atomic_ref&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3369R0&quot;&gt;P3369R0&lt;/a&gt; — constexpr for uninitialized_default_construct&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3508R0&quot;&gt;P3508R0&lt;/a&gt; — Wording for &amp;quot;constexpr for specialized memory algorithms&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2835R7&quot;&gt;P2835R7&lt;/a&gt; — Expose std::atomic_ref&amp;#39;s object address&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3323R1&quot;&gt;P3323R1&lt;/a&gt; — cv-qualified types in atomic and atomic_ref&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3504R0&quot;&gt;P3504R0&lt;/a&gt; — C++ Standard Library Ready Issues to be moved in Wrocław, Nov. 2024&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3524R0&quot;&gt;P3524R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the November, 2024 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/removals&quot;&gt;Deprecations &amp;amp; removals&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2865R6&quot;&gt;P2865R6&lt;/a&gt; — Remove Deprecated Array Comparisons from C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3247R2&quot;&gt;P3247R2&lt;/a&gt; — Deprecate the notion of trivial types&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/linalg&quot;&gt;Linear algebra (BLAS)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3050R2&quot;&gt;P3050R2&lt;/a&gt; — Fix C++26 by optimizing linalg::conjugated for noncomplex value types&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3222R0&quot;&gt;P3222R0&lt;/a&gt; — Fix C++26 by adding transposed special cases for P2642 layouts&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2897R7&quot;&gt;P2897R7&lt;/a&gt; — aligned_accessor: An mdspan accessor expressing pointer over-alignment&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3355R1&quot;&gt;P3355R1&lt;/a&gt; — Fix submdspan for C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-26&quot;&gt;Ranges (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3136R1&quot;&gt;P3136R1&lt;/a&gt; — Retiring niebloids&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3138R5&quot;&gt;P3138R5&lt;/a&gt; — views::cache_latest&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/execution&quot;&gt;std::execution (senders/receivers)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3325R5&quot;&gt;P3325R5&lt;/a&gt; — A Utility for Creating Execution Environments&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3396R1&quot;&gt;P3396R1&lt;/a&gt; — std::execution wording fixes&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/structured-bindings&quot;&gt;Structured bindings&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1061R10&quot;&gt;P1061R10&lt;/a&gt; — Structured Bindings can introduce a Pack&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2686R5&quot;&gt;P2686R5&lt;/a&gt; — constexpr structured bindings and references to constexpr variables&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/c-compat&quot;&gt;C compatibility&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3370R1&quot;&gt;P3370R1&lt;/a&gt; — Add new library headers from C23&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-26&quot;&gt;Constant evaluation (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3068R6&quot;&gt;P3068R6&lt;/a&gt; — Allowing exception throwing in constant-evaluation&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/core-wording&quot;&gt;Core wording overhauls&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3340R0&quot;&gt;P3340R0&lt;/a&gt; — A Consistent Grammar for Sequences&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/expected&quot;&gt;std::expected&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3379R0&quot;&gt;P3379R0&lt;/a&gt; — Constrain std::expected equality operators&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/simd&quot;&gt;std::simd&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1928R15&quot;&gt;P1928R15&lt;/a&gt; — std::simd — merge data-parallel types from the Parallelism TS 2&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/templates-concepts&quot;&gt;Templates &amp;amp; concepts (core)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3176R1&quot;&gt;P3176R1&lt;/a&gt; — The Oxford variadic comma&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/text-encoding&quot;&gt;text_encoding&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2862R1&quot;&gt;P2862R1&lt;/a&gt; — text_encoding::name() should never return null values&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>St. Louis 2024: 17 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2024-06-st-louis</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2024-06-st-louis</guid>
<pubDate>Sat, 01 Jun 2024 00:00:00 GMT</pubDate>
<description>&lt;p&gt;17 papers adopted into C++26 at the St. Louis, June 2024 plenary, across 15 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3341R0&quot;&gt;P3341R0&lt;/a&gt; — C++ Standard Library Ready Issues to be moved in St. Louis, Jun. 2024&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3345R0&quot;&gt;P3345R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the June, 2024 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2968R2&quot;&gt;P2968R2&lt;/a&gt; — Make std::ignore a first-class object&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2985R0&quot;&gt;P2985R0&lt;/a&gt; — A type trait for detecting virtual base classes&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-26&quot;&gt;Constant evaluation (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2747R2&quot;&gt;P2747R2&lt;/a&gt; — constexpr placement new&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-26&quot;&gt;Formatting improvements (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3235R3&quot;&gt;P3235R3&lt;/a&gt; — std::print more types faster with less memory&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/inplace-vector&quot;&gt;inplace_vector&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0843R14&quot;&gt;P0843R14&lt;/a&gt; — inplace_vector&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iter-algo&quot;&gt;Iterators &amp;amp; algorithms (misc)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3217R0&quot;&gt;P3217R0&lt;/a&gt; — Adjoints to &amp;quot;Enabling list-initialization for algorithms&amp;quot;: find_last&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2389R2&quot;&gt;P2389R2&lt;/a&gt; — dextents Index Type Parameter&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/nb-housekeeping&quot;&gt;NB-comment omnibus &amp;amp; housekeeping&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2422R1&quot;&gt;P2422R1&lt;/a&gt; — Remove nodiscard annotations from the standard library specification&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/random&quot;&gt;Random numbers&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2075R6&quot;&gt;P2075R6&lt;/a&gt; — Philox as an extension of the C++ RNG engines&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-26&quot;&gt;Ranges (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2997R1&quot;&gt;P2997R1&lt;/a&gt; — Removing the common reference requirement from the indirectly invocable concepts&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-26&quot;&gt;Small language features (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3144R2&quot;&gt;P3144R2&lt;/a&gt; — Deleting a Pointer to an Incomplete Type Should be Ill-formed&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/execution&quot;&gt;std::execution (senders/receivers)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2300R10&quot;&gt;P2300R10&lt;/a&gt; — std::execution&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/optional&quot;&gt;std::optional&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3168R2&quot;&gt;P3168R2&lt;/a&gt; — Give std::optional Range Support&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/structured-bindings&quot;&gt;Structured bindings&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0963R3&quot;&gt;P0963R3&lt;/a&gt; — Structured binding declaration as a condition&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/templates-concepts&quot;&gt;Templates &amp;amp; concepts (core)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2963R3&quot;&gt;P2963R3&lt;/a&gt; — Ordering of constraints involving fold expressions&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Tokyo 2024: 26 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2024-03-tokyo</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2024-03-tokyo</guid>
<pubDate>Fri, 01 Mar 2024 00:00:00 GMT</pubDate>
<description>&lt;p&gt;26 papers adopted into C++26 at the Tokyo, March 2024 plenary, across 19 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/removals&quot;&gt;Deprecations &amp;amp; removals&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2867R2&quot;&gt;P2867R2&lt;/a&gt; — Remove Deprecated strstreams From C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2869R4&quot;&gt;P2869R4&lt;/a&gt; — Remove Deprecated shared_ptr Atomic Access APIs from C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2872R3&quot;&gt;P2872R3&lt;/a&gt; — Remove wstring_convert From C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-26&quot;&gt;Formatting improvements (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2845R8&quot;&gt;P2845R8&lt;/a&gt; — Formatting of std::filesystem::path&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3107R5&quot;&gt;P3107R5&lt;/a&gt; — Permit an efficient implementation of std::print&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3142R0&quot;&gt;P3142R0&lt;/a&gt; — Printing Blank Lines with println&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3180R0&quot;&gt;P3180R0&lt;/a&gt; — C++ Standard Library Ready Issues to be moved in Tokyo, Mar. 2024&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3196R0&quot;&gt;P3196R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the March, 2024 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/init-value-cat&quot;&gt;Initialization &amp;amp; value categories&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2748R5&quot;&gt;P2748R5&lt;/a&gt; — Disallow Binding a Returned Glvalue to a Temporary&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3106R1&quot;&gt;P3106R1&lt;/a&gt; — Clarifying rules for brace elision in aggregate initialization&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2642R6&quot;&gt;P2642R6&lt;/a&gt; — Padded mdspan layouts&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3029R1&quot;&gt;P3029R1&lt;/a&gt; — Better mdspan&amp;#39;s CTAD&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0493R5&quot;&gt;P0493R5&lt;/a&gt; — Atomic minimum/maximum&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/debugging&quot;&gt;Debugging support&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2810R4&quot;&gt;P2810R4&lt;/a&gt; — is_debugger_present is_replaceable&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/erroneous-behaviour&quot;&gt;Erroneous behaviour &amp;amp; observable checkpoints&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2795R5&quot;&gt;P2795R5&lt;/a&gt; — Erroneous behaviour for uninitialized reads&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iter-algo&quot;&gt;Iterators &amp;amp; algorithms (misc)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2248R8&quot;&gt;P2248R8&lt;/a&gt; — Enabling list-initialization for algorithms&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/modules&quot;&gt;Modules fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3034R1&quot;&gt;P3034R1&lt;/a&gt; — Module Declarations Shouldn’t be Macros&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/random&quot;&gt;Random numbers&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1068R11&quot;&gt;P1068R11&lt;/a&gt; — Vector API for random number generation&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-26&quot;&gt;Ranges (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2542R8&quot;&gt;P2542R8&lt;/a&gt; — views::concat&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-26&quot;&gt;Small language features (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2573R2&quot;&gt;P2573R2&lt;/a&gt; — = delete(&amp;quot;should have a reason&amp;quot;);&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/allocators&quot;&gt;Smart pointers &amp;amp; allocators&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2875R4&quot;&gt;P2875R4&lt;/a&gt; — Undeprecate polymorphic_allocator::destroy for C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/strings&quot;&gt;Strings &amp;amp; string_view&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2591R5&quot;&gt;P2591R5&lt;/a&gt; — Concatenation of strings and string views&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/structured-bindings&quot;&gt;Structured bindings&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0609R3&quot;&gt;P0609R3&lt;/a&gt; — Attributes for Structured Bindings&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/templates-concepts&quot;&gt;Templates &amp;amp; concepts (core)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2893R3&quot;&gt;P2893R3&lt;/a&gt; — Variadic friends&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ub-reduction&quot;&gt;UB reduction &amp;amp; UB/IFNDR annexes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2809R3&quot;&gt;P2809R3&lt;/a&gt; — Trivial infinite loops are not Undefined Behavior&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2944R3&quot;&gt;P2944R3&lt;/a&gt; — Comparisons for reference_wrapper&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Kona 2023: 23 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2023-11-kona</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2023-11-kona</guid>
<pubDate>Wed, 01 Nov 2023 00:00:00 GMT</pubDate>
<description>&lt;p&gt;23 papers adopted into C++26 at the Kona, November 2023 plenary, across 14 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/removals&quot;&gt;Deprecations &amp;amp; removals&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2864R2&quot;&gt;P2864R2&lt;/a&gt; — Remove Deprecated Arithmetic Conversion on Enumerations From C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2868R3&quot;&gt;P2868R3&lt;/a&gt; — Remove Deprecated std::allocator Typedef From C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2870R3&quot;&gt;P2870R3&lt;/a&gt; — Remove basic_string::reserve() From C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2871R3&quot;&gt;P2871R3&lt;/a&gt; — Remove Deprecated Unicode Conversion Facets from C++26&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-26&quot;&gt;Formatting improvements (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2905R2&quot;&gt;P2905R2&lt;/a&gt; — Runtime format strings&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2909R4&quot;&gt;P2909R4&lt;/a&gt; — Fix formatting of code units as integers (Dude, where&amp;#39;s my char?)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2918R2&quot;&gt;P2918R2&lt;/a&gt; — Runtime format strings II&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/freestanding&quot;&gt;Freestanding library&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2407R5&quot;&gt;P2407R5&lt;/a&gt; — Freestanding Library: Partial Classes&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2833R2&quot;&gt;P2833R2&lt;/a&gt; — Freestanding Library: inout expected span&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2937R0&quot;&gt;P2937R0&lt;/a&gt; — Freestanding: Remove strtok&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3040R0&quot;&gt;P3040R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Kona, Nov. 2023&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P3046R0&quot;&gt;P3046R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the November, 2023 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/span&quot;&gt;std::span&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2447R6&quot;&gt;P2447R6&lt;/a&gt; — std::span over an initializer list&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2821R5&quot;&gt;P2821R5&lt;/a&gt; — span.at()&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/c-compat&quot;&gt;C compatibility&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2264R7&quot;&gt;P2264R7&lt;/a&gt; — Make assert() macro user friendly for C and C++&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/debugging&quot;&gt;Debugging support&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2546R5&quot;&gt;P2546R5&lt;/a&gt; — Debugging Support&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iter-algo&quot;&gt;Iterators &amp;amp; algorithms (misc)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2836R1&quot;&gt;P2836R1&lt;/a&gt; — std::basic_const_iterator should follow its underlying type&amp;#39;s convertibility&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/linalg&quot;&gt;Linear algebra (BLAS)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1673R13&quot;&gt;P1673R13&lt;/a&gt; — A free function linear algebra interface based on the BLAS&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/pack-indexing&quot;&gt;Pack indexing&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2662R3&quot;&gt;P2662R3&lt;/a&gt; — Pack Indexing&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/random&quot;&gt;Random numbers&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0952R2&quot;&gt;P0952R2&lt;/a&gt; — A new specification for std::generate_canonical&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/saturation&quot;&gt;Saturation arithmetic&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0543R3&quot;&gt;P0543R3&lt;/a&gt; — Saturation arithmetic&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/templates-concepts&quot;&gt;Templates &amp;amp; concepts (core)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2308R1&quot;&gt;P2308R1&lt;/a&gt; — Template parameter initialization&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/tuple-variant&quot;&gt;tuple, pair &amp;amp; variant&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2819R2&quot;&gt;P2819R2&lt;/a&gt; — Add tuple protocol to complex&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Varna 2023: 40 papers adopted into C++26</title>
<link>https://cpplang.io/plenary/2023-06-varna</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2023-06-varna</guid>
<pubDate>Thu, 01 Jun 2023 00:00:00 GMT</pubDate>
<description>&lt;p&gt;40 papers adopted into C++26 at the Varna, June 2023 plenary, across 23 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lexer-26&quot;&gt;Lexer &amp;amp; Unicode cleanup (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1854R4&quot;&gt;P1854R4&lt;/a&gt; — Making non-encodable string literals ill-formed&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2361R6&quot;&gt;P2361R6&lt;/a&gt; — Unevaluated strings&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2558R2&quot;&gt;P2558R2&lt;/a&gt; — Add @, $, and  to the basic character set&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2621R2&quot;&gt;P2621R2&lt;/a&gt; — UB? In my Lexer?&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/freestanding&quot;&gt;Freestanding library&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2013R5&quot;&gt;P2013R5&lt;/a&gt; — Freestanding Language: Optional ::operator new&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2198R7&quot;&gt;P2198R7&lt;/a&gt; — Freestanding Feature-Test Macros and Implementation-Defined Extensions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2338R4&quot;&gt;P2338R4&lt;/a&gt; — Freestanding Library: Character primitives and the C library&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-26&quot;&gt;Library constexpr-ification (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1383R2&quot;&gt;P1383R2&lt;/a&gt; — More constexpr for  and &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2562R1&quot;&gt;P2562R1&lt;/a&gt; — constexpr Stable Sorting&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2641R4&quot;&gt;P2641R4&lt;/a&gt; — Checking if a union alternative is active&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/strings&quot;&gt;Strings &amp;amp; string_view&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2495R3&quot;&gt;P2495R3&lt;/a&gt; — Interfacing stringstreams with string_view&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2587R3&quot;&gt;P2587R3&lt;/a&gt; — to_string or not to_string&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2697R1&quot;&gt;P2697R1&lt;/a&gt; — Interfacing bitset with string_view&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/type-erased-callables&quot;&gt;Type-erased callables&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0792R14&quot;&gt;P0792R14&lt;/a&gt; — function_ref: a type-erased callable reference&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2548R6&quot;&gt;P2548R6&lt;/a&gt; — copyable_function&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2714R1&quot;&gt;P2714R1&lt;/a&gt; — Bind front and back to NTTP callables&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/assoc-containers&quot;&gt;Associative container lookups&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1901R2&quot;&gt;P1901R2&lt;/a&gt; — Enabling the Use of weak_ptr as Keys in Unordered Associative Containers&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2363R5&quot;&gt;P2363R5&lt;/a&gt; — Extending associative containers with the remaining heterogeneous overloads&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/chrono&quot;&gt;chrono &amp;amp; ratio&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2592R3&quot;&gt;P2592R3&lt;/a&gt; — Hashing support for std::chrono value classes&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2734R0&quot;&gt;P2734R0&lt;/a&gt; — Adding the new 2022 SI prefixes&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/concurrency&quot;&gt;Concurrency utilities&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2530R3&quot;&gt;P2530R3&lt;/a&gt; — Hazard Pointers for C++26&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2545R4&quot;&gt;P2545R4&lt;/a&gt; — Read-Copy Update (RCU)&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2910R0&quot;&gt;P2910R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Varna, Jun. 2023&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2922R0&quot;&gt;P2922R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the June, 2023 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-26&quot;&gt;Formatting improvements (C++26/29)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2510R3&quot;&gt;P2510R3&lt;/a&gt; — Formatting pointers&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2757R3&quot;&gt;P2757R3&lt;/a&gt; — Type checking format args&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-26&quot;&gt;Small language features (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2169R4&quot;&gt;P2169R4&lt;/a&gt; — A nice placeholder with no name&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2741R3&quot;&gt;P2741R3&lt;/a&gt; — User-generated static_assert messages&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0493R4&quot;&gt;P0493R4&lt;/a&gt; — Atomic maximum/minimum&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/attributes&quot;&gt;Attributes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2552R3&quot;&gt;P2552R3&lt;/a&gt; — On the ignorability of standard attributes&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-26&quot;&gt;Constant evaluation (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2738R1&quot;&gt;P2738R1&lt;/a&gt; — constexpr cast from void*: towards constexpr type-erasure&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/core-wording&quot;&gt;Core wording overhauls&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2915R0&quot;&gt;P2915R0&lt;/a&gt; — Proposed resolution for CWG1223&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/removals&quot;&gt;Deprecations &amp;amp; removals&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2874R2&quot;&gt;P2874R2&lt;/a&gt; — Mandating Annex D&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/init-value-cat&quot;&gt;Initialization &amp;amp; value categories&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2752R3&quot;&gt;P2752R3&lt;/a&gt; — Static storage for braced initializers&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iostreams&quot;&gt;iostreams &amp;amp; file streams&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1759R6&quot;&gt;P1759R6&lt;/a&gt; — Native handles and file streams&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2630R4&quot;&gt;P2630R4&lt;/a&gt; — submdspan&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-26&quot;&gt;Ranges (C++26)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2538R1&quot;&gt;P2538R1&lt;/a&gt; — ADL-proof std::projected&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/text-encoding&quot;&gt;text_encoding&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1885R12&quot;&gt;P1885R12&lt;/a&gt; — Naming Text Encodings to Demystify Them&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/tuple-variant&quot;&gt;tuple, pair &amp;amp; variant&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2637R3&quot;&gt;P2637R3&lt;/a&gt; — Member visit&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2497R0&quot;&gt;P2497R0&lt;/a&gt; — Testing for success or failure of  functions&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Issaquah 2023: 22 papers adopted into C++23</title>
<link>https://cpplang.io/plenary/2023-02-issaquah</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2023-02-issaquah</guid>
<pubDate>Wed, 01 Feb 2023 00:00:00 GMT</pubDate>
<description>&lt;p&gt;22 papers adopted into C++23 at the Issaquah, February 2023 plenary, across 14 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-23&quot;&gt;std::format &amp;amp; std::print (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2572R1&quot;&gt;P2572R1&lt;/a&gt; — std::format fill character allowances&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2675R1&quot;&gt;P2675R1&lt;/a&gt; — format&amp;#39;s width estimation is too approximate and not forward compatible&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2693R1&quot;&gt;P2693R1&lt;/a&gt; — Formatting thread::id and stacktrace&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2713R1&quot;&gt;P2713R1&lt;/a&gt; — Escaping improvements in std::format&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2789R0&quot;&gt;P2789R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Issaquah, Feb. 2023&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2790R0&quot;&gt;P2790R0&lt;/a&gt; — C++ Standard Library Immediate Issues to be moved in Issaquah, Feb. 2023&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2796R0&quot;&gt;P2796R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the February, 2023 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-fixes&quot;&gt;Ranges: C++20 defect fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2609R3&quot;&gt;P2609R3&lt;/a&gt; — Relaxing Ranges Just A Smidge&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2711R1&quot;&gt;P2711R1&lt;/a&gt; — Making multi-param constructors of views explicit&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2770R0&quot;&gt;P2770R0&lt;/a&gt; — Stashing stashing iterators for proper flattening&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/object-lifetime&quot;&gt;Object lifetime &amp;amp; unions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2674R1&quot;&gt;P2674R1&lt;/a&gt; — A trait for implicit lifetime types&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2679R2&quot;&gt;P2679R2&lt;/a&gt; — Fixing std::start_lifetime_as for arrays&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/char-encodings&quot;&gt;Character sets &amp;amp; encodings (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2736R2&quot;&gt;P2736R2&lt;/a&gt; — Referencing The Unicode Standard&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/concurrency&quot;&gt;Concurrency utilities&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2588R3&quot;&gt;P2588R3&lt;/a&gt; — barrier&amp;#39;s phase completion guarantees&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/deducing-this&quot;&gt;Deducing this&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2797R0&quot;&gt;P2797R0&lt;/a&gt; — Proposed resolution for CWG2692 Static and explicit object member functions with the same parameter-type-lists&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/removals&quot;&gt;Deprecations &amp;amp; removals&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2614R2&quot;&gt;P2614R2&lt;/a&gt; — Deprecate numeric_limits::has_denorm&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2763R1&quot;&gt;P2763R1&lt;/a&gt; — layout_stride static extents default constructor fix&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/modules&quot;&gt;Modules fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2788R0&quot;&gt;P2788R0&lt;/a&gt; — Linkage for modular constants&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-23&quot;&gt;Ranges: new views &amp;amp; algorithms (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2164R9&quot;&gt;P2164R9&lt;/a&gt; — views::enumerate&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/allocators&quot;&gt;Smart pointers &amp;amp; allocators&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2652R2&quot;&gt;P2652R2&lt;/a&gt; — Disallow User Specialization of allocator_traits&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/generator&quot;&gt;std::generator&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2787R1&quot;&gt;P2787R1&lt;/a&gt; — pmr::generator - Promise Types are not Values&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2655R3&quot;&gt;P2655R3&lt;/a&gt; — common_reference_t of reference_wrapper Should Be a Reference Type&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Kona 2022: 16 papers adopted into C++23</title>
<link>https://cpplang.io/plenary/2022-11-kona</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2022-11-kona</guid>
<pubDate>Tue, 01 Nov 2022 00:00:00 GMT</pubDate>
<description>&lt;p&gt;16 papers adopted into C++23 at the Kona, November 2022 plenary, across 12 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2703R0&quot;&gt;P2703R0&lt;/a&gt; — C++ Standard Library Ready Issues to be moved in Kona, Nov. 2022&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2704R0&quot;&gt;P2704R0&lt;/a&gt; — C++ Standard Library Immediate Issues to be moved in Kona, Nov. 2022&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2709R0&quot;&gt;P2709R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the November, 2022 meeting&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2710R0&quot;&gt;P2710R0&lt;/a&gt; — Core Language Working Group NB comment resolutions for the November, 2022 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-fixes&quot;&gt;Ranges: C++20 defect fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2167R3&quot;&gt;P2167R3&lt;/a&gt; — Improved Proposed Wording for LWG 2114 (contextually convertible to bool)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2602R2&quot;&gt;P2602R2&lt;/a&gt; — Poison Pills are Too Toxic&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-23&quot;&gt;constexpr relaxations (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2647R1&quot;&gt;P2647R1&lt;/a&gt; — Permitting static constexpr variables in constexpr functions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/core-wording&quot;&gt;Core wording overhauls&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2706R0&quot;&gt;P2706R0&lt;/a&gt; — Redundant specification for defaulted functions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/if-consteval&quot;&gt;if consteval&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2564R3&quot;&gt;P2564R3&lt;/a&gt; — consteval needs to propagate up&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iostreams&quot;&gt;iostreams &amp;amp; file streams&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1264R2&quot;&gt;P1264R2&lt;/a&gt; — Revising the wording of stream input operations&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/modules&quot;&gt;Modules fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2615R1&quot;&gt;P2615R1&lt;/a&gt; — Meaningful exports&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/nb-housekeeping&quot;&gt;NB-comment omnibus &amp;amp; housekeeping&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2696R0&quot;&gt;P2696R0&lt;/a&gt; — Introduce _Cpp17Swappable_ as additional convenience requirements&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-23&quot;&gt;Small language features (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2718R0&quot;&gt;P2718R0&lt;/a&gt; — Wording for P2644R1 Fix for Range-based for Loop&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/static-ops&quot;&gt;static operator() / operator[]&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2589R1&quot;&gt;P2589R1&lt;/a&gt; — static operator[]&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/expected&quot;&gt;std::expected&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2505R5&quot;&gt;P2505R5&lt;/a&gt; — Monadic Functions for std::expected&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-23&quot;&gt;std::format &amp;amp; std::print (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2539R4&quot;&gt;P2539R4&lt;/a&gt; — Should the output of std::print to a terminal be synchronized with the underlying stream?&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Virtual Jul 2022: 57 papers adopted into C++23</title>
<link>https://cpplang.io/plenary/2022-07-virtual</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2022-07-virtual</guid>
<pubDate>Fri, 01 Jul 2022 00:00:00 GMT</pubDate>
<description>&lt;p&gt;57 papers adopted into C++23 at the Virtual, July 2022 plenary, across 27 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-23&quot;&gt;Ranges: new views &amp;amp; algorithms (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1223R5&quot;&gt;P1223R5&lt;/a&gt; — find_last&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1899R3&quot;&gt;P1899R3&lt;/a&gt; — stride_view&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2278R4&quot;&gt;P2278R4&lt;/a&gt; — cbegin should always return a constant iterator&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2302R4&quot;&gt;P2302R4&lt;/a&gt; — std::ranges::contains&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2322R6&quot;&gt;P2322R6&lt;/a&gt; — ranges::fold&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2374R4&quot;&gt;P2374R4&lt;/a&gt; — views::cartesian_product&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2446R2&quot;&gt;P2446R2&lt;/a&gt; — views::as_rvalue&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2474R2&quot;&gt;P2474R2&lt;/a&gt; — views::repeat&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2540R1&quot;&gt;P2540R1&lt;/a&gt; — Empty Product for certain Views&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/char-encodings&quot;&gt;Character sets &amp;amp; encodings (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2071R2&quot;&gt;P2071R2&lt;/a&gt; — Named universal character escapes&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2290R3&quot;&gt;P2290R3&lt;/a&gt; — Delimited escape sequences&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2295R6&quot;&gt;P2295R6&lt;/a&gt; — Support for UTF-8 as a portable source file encoding&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2362R3&quot;&gt;P2362R3&lt;/a&gt; — Remove non-encodable wide character literals and multicharacter wide character literals&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2460R2&quot;&gt;P2460R2&lt;/a&gt; — Relax requirements on wchar_t to match existing practices&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2513R3&quot;&gt;P2513R3&lt;/a&gt; — char8_t Compatibility and Portability Fix&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-23&quot;&gt;std::format &amp;amp; std::print (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2093R14&quot;&gt;P2093R14&lt;/a&gt; — Formatted output&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2286R8&quot;&gt;P2286R8&lt;/a&gt; — Formatting Ranges&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2419R2&quot;&gt;P2419R2&lt;/a&gt; — Clarify handling of encodings in localized formatting of chrono types&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2508R1&quot;&gt;P2508R1&lt;/a&gt; — Exposing std::basic-format-string&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2585R1&quot;&gt;P2585R1&lt;/a&gt; — Improving default container formatting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/mdspan&quot;&gt;mdspan&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0009R18&quot;&gt;P0009R18&lt;/a&gt; — MDSPAN&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2599R2&quot;&gt;P2599R2&lt;/a&gt; — index_type &amp;amp; size_type in mdspan&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2604R0&quot;&gt;P2604R0&lt;/a&gt; — mdspan: rename pointer and contiguous&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2613R1&quot;&gt;P2613R1&lt;/a&gt; — Add the missing empty to mdspan&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-fixes&quot;&gt;Ranges: C++20 defect fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2404R3&quot;&gt;P2404R3&lt;/a&gt; — Move-only types for equality_comparable_with, totally_ordered_with, and three_way_comparable_with&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2408R5&quot;&gt;P2408R5&lt;/a&gt; — Ranges iterators as inputs to non-Ranges algorithms&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2494R2&quot;&gt;P2494R2&lt;/a&gt; — Relaxing range adaptors to allow for move only types&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2520R0&quot;&gt;P2520R0&lt;/a&gt; — move_iterator should be a random access iterator&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-23&quot;&gt;constexpr relaxations (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2280R4&quot;&gt;P2280R4&lt;/a&gt; — Using unknown pointers and references in constant expressions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2448R2&quot;&gt;P2448R2&lt;/a&gt; — Relaxing some constexpr restrictions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2618R0&quot;&gt;P2618R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Virtual Plenary, Jul. 2022&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2622R0&quot;&gt;P2622R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the July, 2022 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/flat-containers&quot;&gt;flat_map / flat_set&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0429R9&quot;&gt;P0429R9&lt;/a&gt; — A Standard flat_map&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1222R4&quot;&gt;P1222R4&lt;/a&gt; — A Standard flat_set&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-23&quot;&gt;Library constexpr-ification (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2291R3&quot;&gt;P2291R3&lt;/a&gt; — Add Constexpr Modifiers to Functions to_chars and from_chars for Integral Types in  Header&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2417R2&quot;&gt;P2417R2&lt;/a&gt; — A more constexpr bitset&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-23&quot;&gt;Small language features (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2324R2&quot;&gt;P2324R2&lt;/a&gt; — Labels at the end of compound statements (C compatibility)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2468R2&quot;&gt;P2468R2&lt;/a&gt; — The Equality Operator You Are Looking For&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/strings&quot;&gt;Strings &amp;amp; string_view&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2438R2&quot;&gt;P2438R2&lt;/a&gt; — std::string::substr() &amp;amp;&amp;amp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2499R0&quot;&gt;P2499R0&lt;/a&gt; — string_view range constructor should be explicit&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/tuple-variant&quot;&gt;tuple, pair &amp;amp; variant&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2165R4&quot;&gt;P2165R4&lt;/a&gt; — Compatibility between tuple, pair and _tuple-like_ objects&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2517R1&quot;&gt;P2517R1&lt;/a&gt; — Add a conditional noexcept specification to std::apply&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/attributes&quot;&gt;Attributes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1774R8&quot;&gt;P1774R8&lt;/a&gt; — Portable assumptions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ctad&quot;&gt;CTAD improvements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2582R1&quot;&gt;P2582R1&lt;/a&gt; — Wording for class template argument deduction from inherited constructors&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/removals&quot;&gt;Deprecations &amp;amp; removals&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2327R1&quot;&gt;P2327R1&lt;/a&gt; — De-deprecating volatile compound operations&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ext-float&quot;&gt;Extended floating-point types&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1467R9&quot;&gt;P1467R9&lt;/a&gt; — Extended floating-point types and standard names&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/freestanding&quot;&gt;Freestanding library&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1642R11&quot;&gt;P1642R11&lt;/a&gt; — Freestanding Library: Easy [utilities], [ranges], and [iterators]&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/init-value-cat&quot;&gt;Initialization &amp;amp; value categories&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2266R3&quot;&gt;P2266R3&lt;/a&gt; — Simpler implicit move&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iostreams&quot;&gt;iostreams &amp;amp; file streams&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2467R1&quot;&gt;P2467R1&lt;/a&gt; — Support exclusive mode for fstreams&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lambdas&quot;&gt;Lambda improvements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2579R0&quot;&gt;P2579R0&lt;/a&gt; — Mitigation strategies for P2036 &amp;quot;Changing scope for lambda trailing-return-type&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/object-lifetime&quot;&gt;Object lifetime &amp;amp; unions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2590R2&quot;&gt;P2590R2&lt;/a&gt; — Explicit lifetime management&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/preproc-23&quot;&gt;Preprocessor (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2437R1&quot;&gt;P2437R1&lt;/a&gt; — Support for #warning&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/std-modules&quot;&gt;Standard library modules&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2465R3&quot;&gt;P2465R3&lt;/a&gt; — Standard Library Modules std and std.compat&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/static-ops&quot;&gt;static operator() / operator[]&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1169R4&quot;&gt;P1169R4&lt;/a&gt; — static operator()&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/expected&quot;&gt;std::expected&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2549R1&quot;&gt;P2549R1&lt;/a&gt; — std::unexpected should have error() as member accessor&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/generator&quot;&gt;std::generator&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2502R2&quot;&gt;P2502R2&lt;/a&gt; — std::generator: Synchronous Coroutine Generator for Ranges&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2445R1&quot;&gt;P2445R1&lt;/a&gt; — std::forward_like&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Virtual Feb 2022: 16 papers adopted into C++23</title>
<link>https://cpplang.io/plenary/2022-02-virtual</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2022-02-virtual</guid>
<pubDate>Tue, 01 Feb 2022 00:00:00 GMT</pubDate>
<description>&lt;p&gt;16 papers adopted into C++23 at the Virtual, February 2022 plenary, across 8 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-23&quot;&gt;Ranges: new views &amp;amp; algorithms (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1206R7&quot;&gt;P1206R7&lt;/a&gt; — ranges::to: A function to convert any range to a container&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2387R3&quot;&gt;P2387R3&lt;/a&gt; — Pipe support for user-defined range adaptors&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2440R1&quot;&gt;P2440R1&lt;/a&gt; — ranges::iota, ranges::shift_left and ranges::shift_right&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2441R2&quot;&gt;P2441R2&lt;/a&gt; — views::join_with&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2442R1&quot;&gt;P2442R1&lt;/a&gt; — Windowing range adaptors: views::chunk and views::slide&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2443R1&quot;&gt;P2443R1&lt;/a&gt; — views::chunk_by&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2531R0&quot;&gt;P2531R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Virtual Plenary, Feb. 2022&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2533R0&quot;&gt;P2533R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the February, 2022 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-23&quot;&gt;Library constexpr-ification (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0533R9&quot;&gt;P0533R9&lt;/a&gt; — constexpr for  and &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2273R3&quot;&gt;P2273R3&lt;/a&gt; — Making std::unique_ptr constexpr&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0627R6&quot;&gt;P0627R6&lt;/a&gt; — Function to mark unreachable code&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2255R2&quot;&gt;P2255R2&lt;/a&gt; — A type trait to detect reference binding to temporary&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/removals&quot;&gt;Deprecations &amp;amp; removals&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1413R3&quot;&gt;P1413R3&lt;/a&gt; — Deprecate std::aligned_storage and std::aligned_union&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lambdas&quot;&gt;Lambda improvements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2173R1&quot;&gt;P2173R1&lt;/a&gt; — Attributes on Lambda-Expressions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/nb-housekeeping&quot;&gt;NB-comment omnibus &amp;amp; housekeeping&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2493R0&quot;&gt;P2493R0&lt;/a&gt; — Missing feature test macros for C++20 core papers&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/expected&quot;&gt;std::expected&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0323R12&quot;&gt;P0323R12&lt;/a&gt; — std::expected&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Virtual Oct 2021: 29 papers adopted into C++23</title>
<link>https://cpplang.io/plenary/2021-10-virtual</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2021-10-virtual</guid>
<pubDate>Fri, 01 Oct 2021 00:00:00 GMT</pubDate>
<description>&lt;p&gt;29 papers adopted into C++23 at the Virtual, October 2021 plenary, across 21 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/char-encodings&quot;&gt;Character sets &amp;amp; encodings (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2246R1&quot;&gt;P2246R1&lt;/a&gt; — Character encoding of diagnostic text&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2314R4&quot;&gt;P2314R4&lt;/a&gt; — Character sets and encodings&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2316R2&quot;&gt;P2316R2&lt;/a&gt; — Consistent character literal encoding&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-fixes&quot;&gt;Ranges: C++20 defect fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2393R1&quot;&gt;P2393R1&lt;/a&gt; — Cleaning up integer-class types&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2415R2&quot;&gt;P2415R2&lt;/a&gt; — What is a view?&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2432R1&quot;&gt;P2432R1&lt;/a&gt; — fix istream_view&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2450R0&quot;&gt;P2450R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Virtual Plenary, Oct. 2021&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2462R0&quot;&gt;P2462R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; Issues for the October, 2021 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-23&quot;&gt;Small language features (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0849R8&quot;&gt;P0849R8&lt;/a&gt; — auto(x): decay-copy in the language&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2360R0&quot;&gt;P2360R0&lt;/a&gt; — Extend init-statement to allow alias-declaration&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-23&quot;&gt;std::format &amp;amp; std::print (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2372R3&quot;&gt;P2372R3&lt;/a&gt; — Fixing locale handling in chrono formatters&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2418R2&quot;&gt;P2418R2&lt;/a&gt; — Add support for std::generator-like types to std::format&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/strings&quot;&gt;Strings &amp;amp; string_view&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1072R10&quot;&gt;P1072R10&lt;/a&gt; — basic_string::resize_and_overwrite&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2251R1&quot;&gt;P2251R1&lt;/a&gt; — Require span &amp;amp; basic_string_view to be Trivially Copyable&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/assoc-containers&quot;&gt;Associative container lookups&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2077R3&quot;&gt;P2077R3&lt;/a&gt; — Heterogeneous erasure overloads for associative containers&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/bit-ops&quot;&gt;Bit operations&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1272R4&quot;&gt;P1272R4&lt;/a&gt; — Byteswapping for fun&amp;amp;&amp;amp;nuf&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/c-compat&quot;&gt;C compatibility&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2340R1&quot;&gt;P2340R1&lt;/a&gt; — Clarifying the status of the “C headers”&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/constexpr-23&quot;&gt;constexpr relaxations (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2242R3&quot;&gt;P2242R3&lt;/a&gt; — Non-literal variables (and labels and gotos) in constexpr functions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/deducing-this&quot;&gt;Deducing this&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0847R7&quot;&gt;P0847R7&lt;/a&gt; — Deducing this&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/exceptions&quot;&gt;Exceptions &amp;amp; exception_ptr&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1675R2&quot;&gt;P1675R2&lt;/a&gt; — rethrow_exception must be allowed to copy&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iostreams&quot;&gt;iostreams &amp;amp; file streams&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1147R1&quot;&gt;P1147R1&lt;/a&gt; — Printing volatile Pointers&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lambdas&quot;&gt;Lambda improvements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2036R3&quot;&gt;P2036R3&lt;/a&gt; — Change scope of lambda trailing-return-type&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/multidim-subscript&quot;&gt;Multidimensional subscript&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2128R6&quot;&gt;P2128R6&lt;/a&gt; — Multidimensional subscript operator&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/preproc-23&quot;&gt;Preprocessor (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2334R1&quot;&gt;P2334R1&lt;/a&gt; — Add support for preprocessing directives elifdef and elifndef&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-23&quot;&gt;Ranges: new views &amp;amp; algorithms (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2321R2&quot;&gt;P2321R2&lt;/a&gt; — zip&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/optional&quot;&gt;std::optional&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0798R8&quot;&gt;P0798R8&lt;/a&gt; — Monadic operations for std::optional&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/stacktrace&quot;&gt;std::stacktrace&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2301R1&quot;&gt;P2301R1&lt;/a&gt; — Add a pmr alias for std::stacktrace&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/type-erased-callables&quot;&gt;Type-erased callables&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0288R9&quot;&gt;P0288R9&lt;/a&gt; — move_only_function&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2401R0&quot;&gt;P2401R0&lt;/a&gt; — Add a conditional noexcept specification to std::exchange&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Virtual Jun 2021: 28 papers adopted into C++23</title>
<link>https://cpplang.io/plenary/2021-06-virtual</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2021-06-virtual</guid>
<pubDate>Tue, 01 Jun 2021 00:00:00 GMT</pubDate>
<description>&lt;p&gt;28 papers adopted into C++23 at the Virtual, June 2021 plenary, across 17 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-fixes&quot;&gt;Ranges: C++20 defect fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2210R2&quot;&gt;P2210R2&lt;/a&gt; — Superior String Splitting&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2281R1&quot;&gt;P2281R1&lt;/a&gt; — Clarifying range adaptor objects&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2325R3&quot;&gt;P2325R3&lt;/a&gt; — Views should not be required to be default constructible&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2328R1&quot;&gt;P2328R1&lt;/a&gt; — join_view should join all views of ranges&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2367R0&quot;&gt;P2367R0&lt;/a&gt; — Remove misuses of list-initialization from Clause 24&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/allocators&quot;&gt;Smart pointers &amp;amp; allocators&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0401R6&quot;&gt;P0401R6&lt;/a&gt; — Providing size feedback in the Allocator interface&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1132R8&quot;&gt;P1132R8&lt;/a&gt; — out_ptr - a scalable output pointer abstraction&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1518R2&quot;&gt;P1518R2&lt;/a&gt; — Stop overconstraining allocators in container deduction guides&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/char-encodings&quot;&gt;Character sets &amp;amp; encodings (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1949R7&quot;&gt;P1949R7&lt;/a&gt; — C++ Identifier Syntax using Unicode Standard Annex 31&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2201R1&quot;&gt;P2201R1&lt;/a&gt; — Mixed string literal concatenation&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2385R0&quot;&gt;P2385R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Virtual Plenary, June 2021&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2386R0&quot;&gt;P2386R0&lt;/a&gt; — Core Language Working Group “ready” Issues for the June, 2021 meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lib-constexpr-23&quot;&gt;Library constexpr-ification (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1328R1&quot;&gt;P1328R1&lt;/a&gt; — Making std::type_info::operator== constexpr&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2231R1&quot;&gt;P2231R1&lt;/a&gt; — Missing constexpr in std::optional and std::variant&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-23&quot;&gt;Small language features (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1401R5&quot;&gt;P1401R5&lt;/a&gt; — Narrowing contextual conversions to bool&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1847R4&quot;&gt;P1847R4&lt;/a&gt; — Make declaration order layout mandated&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/strings&quot;&gt;Strings &amp;amp; string_view&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1989R2&quot;&gt;P1989R2&lt;/a&gt; — Range constructor for std::string_view 2: Constrain Harder&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2166R1&quot;&gt;P2166R1&lt;/a&gt; — A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/attributes&quot;&gt;Attributes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2156R1&quot;&gt;P2156R1&lt;/a&gt; — Allow Duplicate Attributes&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/removals&quot;&gt;Deprecations &amp;amp; removals&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2186R2&quot;&gt;P2186R2&lt;/a&gt; — Removing Garbage Collection Support&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/if-consteval&quot;&gt;if consteval&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1938R3&quot;&gt;P1938R3&lt;/a&gt; — if consteval&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/iostreams&quot;&gt;iostreams &amp;amp; file streams&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0448R4&quot;&gt;P0448R4&lt;/a&gt; — A strstream replacement using span as buffer&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/preproc-23&quot;&gt;Preprocessor (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2223R2&quot;&gt;P2223R2&lt;/a&gt; — Trimming whitespaces before line splicing&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-23&quot;&gt;Ranges: new views &amp;amp; algorithms (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1659R3&quot;&gt;P1659R3&lt;/a&gt; — starts_with and ends_with&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/format-23&quot;&gt;std::format &amp;amp; std::print (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2216R3&quot;&gt;P2216R3&lt;/a&gt; — std::format improvements&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/tuple-variant&quot;&gt;tuple, pair &amp;amp; variant&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1951R1&quot;&gt;P1951R1&lt;/a&gt; — Default Arguments for pair&amp;#39;s Forwarding Constructor&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/type-erased-callables&quot;&gt;Type-erased callables&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2136R3&quot;&gt;P2136R3&lt;/a&gt; — invoke_r&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1425R4&quot;&gt;P1425R4&lt;/a&gt; — Iterators pair constructors for stack and queue&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Virtual Feb 2021: 9 papers adopted into C++23</title>
<link>https://cpplang.io/plenary/2021-02-virtual</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2021-02-virtual</guid>
<pubDate>Mon, 01 Feb 2021 00:00:00 GMT</pubDate>
<description>&lt;p&gt;9 papers adopted into C++23 at the Virtual, February 2021 plenary, across 7 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2313R0&quot;&gt;P2313R0&lt;/a&gt; — Core Language Working Group &amp;quot;tentatively ready&amp;quot; Issues for the February, 2021 meeting&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2315R0&quot;&gt;P2315R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Virtual Plenary, Feb. 2021&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/ranges-fixes&quot;&gt;Ranges: C++20 defect fixes&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2017R1&quot;&gt;P2017R1&lt;/a&gt; — Conditionally borrowed ranges&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2259R1&quot;&gt;P2259R1&lt;/a&gt; — Repairing input range adaptors and counted_iterator&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/chrono&quot;&gt;chrono &amp;amp; ratio&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2212R2&quot;&gt;P2212R2&lt;/a&gt; — Relax Requirements for time_point::clock&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/concurrency&quot;&gt;Concurrency utilities&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2160R1&quot;&gt;P2160R1&lt;/a&gt; — Locks lock lockables&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/lambdas&quot;&gt;Lambda improvements&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1102R2&quot;&gt;P1102R2&lt;/a&gt; — Down with ()!&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/tuple-variant&quot;&gt;tuple, pair &amp;amp; variant&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2162R2&quot;&gt;P2162R2&lt;/a&gt; — Inheriting from std::variant&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1682R2&quot;&gt;P1682R2&lt;/a&gt; — std::to_underlying for enumerations&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Virtual 2020: 11 papers adopted into C++23</title>
<link>https://cpplang.io/plenary/2020-11-virtual</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2020-11-virtual</guid>
<pubDate>Sun, 01 Nov 2020 00:00:00 GMT</pubDate>
<description>&lt;p&gt;11 papers adopted into C++23 at the Virtual, November 2020 plenary, across 10 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2236R0&quot;&gt;P2236R0&lt;/a&gt; — C++ Standard Library Issues to be moved in Virtual Plenary, Nov. 2020&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2238R0&quot;&gt;P2238R0&lt;/a&gt; — Core Language Working Group &amp;quot;tentatively ready&amp;quot; Issues for the November, 2020 virtual meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/atomics&quot;&gt;Atomics &amp;amp; memory model&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0943R6&quot;&gt;P0943R6&lt;/a&gt; — Support C atomics in C++&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/c-compat&quot;&gt;C compatibility&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2227R0&quot;&gt;P2227R0&lt;/a&gt; — Update normative reference to POSIX&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/char-encodings&quot;&gt;Character sets &amp;amp; encodings (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2029R4&quot;&gt;P2029R4&lt;/a&gt; — Numeric and universal character escapes in character and string literals&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/core-wording&quot;&gt;Core wording overhauls&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1787R6&quot;&gt;P1787R6&lt;/a&gt; — Declarations and where to find them&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/small-lang-23&quot;&gt;Small language features (C++23)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0330R8&quot;&gt;P0330R8&lt;/a&gt; — Literal Suffix for (signed) size_t&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/stacktrace&quot;&gt;std::stacktrace&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0881R7&quot;&gt;P0881R7&lt;/a&gt; — A proposal to add stacktrace library&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/strings&quot;&gt;Strings &amp;amp; string_view&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1679R3&quot;&gt;P1679R3&lt;/a&gt; — string contains function&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/templates-concepts&quot;&gt;Templates &amp;amp; concepts (core)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2096R2&quot;&gt;P2096R2&lt;/a&gt; — Generalized wording for partial specializations&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/utilities&quot;&gt;Utilities &amp;amp; type traits&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1048R1&quot;&gt;P1048R1&lt;/a&gt; — A proposal for a type trait to detect scoped enumerations&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Prague 2020: 44 papers adopted into C++20</title>
<link>https://cpplang.io/plenary/2020-02-prague</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2020-02-prague</guid>
<pubDate>Sat, 01 Feb 2020 00:00:00 GMT</pubDate>
<description>&lt;p&gt;44 papers adopted into C++20 at the Prague, February 2020 plenary, across 21 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-modules&quot;&gt;Modules&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1779R3&quot;&gt;P1779R3&lt;/a&gt; — ABI isolation for member functions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1815R2&quot;&gt;P1815R2&lt;/a&gt; — Translation-unit-local entities&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1857R3&quot;&gt;P1857R3&lt;/a&gt; — Modules dependency discovery&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2109R0&quot;&gt;P2109R0&lt;/a&gt; — Disallow export import foo outside of module interface&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2115R0&quot;&gt;P2115R0&lt;/a&gt; — Merging of multiple definitions for unnamed unscoped enumerations&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/nb-housekeeping&quot;&gt;NB-comment omnibus &amp;amp; housekeeping&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1963R0&quot;&gt;P1963R0&lt;/a&gt; — Fixing US 313&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1983R0&quot;&gt;P1983R0&lt;/a&gt; — Wording for GB301, US296, US292, US291, and US283&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2103R0&quot;&gt;P2103R0&lt;/a&gt; — Core Language Changes for NB Comments at the February, 2020 (Prague) Meeting&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2106R0&quot;&gt;P2106R0&lt;/a&gt; — Alternative wording for GB315 and GB316&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2113R0&quot;&gt;P2113R0&lt;/a&gt; — Proposed resolution for 2019 comment CA 112&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-ranges&quot;&gt;Ranges&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1243R4&quot;&gt;P1243R4&lt;/a&gt; — Rangify new algorithms&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1739R4&quot;&gt;P1739R4&lt;/a&gt; — Avoid template bloat for safe_ranges in combination with &amp;quot;subrange-y&amp;quot; view adaptors&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1970R2&quot;&gt;P1970R2&lt;/a&gt; — Consistency for size functions: add ranges::ssize&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1994R1&quot;&gt;P1994R1&lt;/a&gt; — elements_view needs its own sentinel&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2091R0&quot;&gt;P2091R0&lt;/a&gt; — Issues with range access customization point objects&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-concepts&quot;&gt;Concepts&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2092R0&quot;&gt;P2092R0&lt;/a&gt; — Disambiguating *nested-requirement*s&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2101R0&quot;&gt;P2101R0&lt;/a&gt; — &amp;#39;Models&amp;#39; subsumes &amp;#39;satisfies&amp;#39;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2104R0&quot;&gt;P2104R0&lt;/a&gt; — Disallow changing concept values&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2051R0&quot;&gt;P2051R0&lt;/a&gt; — C++ Library Issues to be moved in Prague&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2108R0&quot;&gt;P2108R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; issues for the February, 2020 (Prague) meeting&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2117R0&quot;&gt;P2117R0&lt;/a&gt; — C++ Standard Library Issues Resolved Directly In Prague&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-mandating&quot;&gt;Library specification rewrite (Mandates/Constraints)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1460R1&quot;&gt;P1460R1&lt;/a&gt; — Mandating the Standard Library: Clause 20 - Utilities library&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1973R1&quot;&gt;P1973R1&lt;/a&gt; — Rename _default_init functions&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2045R1&quot;&gt;P2045R1&lt;/a&gt; — Missing *Mandates:* for the standard library&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-bit&quot;&gt;Bit manipulation &amp;amp; numeric utilities&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0586R2&quot;&gt;P0586R2&lt;/a&gt; — Safe integral comparisons&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1956R1&quot;&gt;P1956R1&lt;/a&gt; — On the names of low-level bit manipulation functions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-chrono&quot;&gt;Calendars &amp;amp; time zones&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1981R0&quot;&gt;P1981R0&lt;/a&gt; — Rename leap to leap_second&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1982R0&quot;&gt;P1982R0&lt;/a&gt; — Rename link to time_zone_link&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-concepts-lib&quot;&gt;Standard library concepts&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1964R2&quot;&gt;P1964R2&lt;/a&gt; — Wording for *boolean-testable*&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2102R0&quot;&gt;P2102R0&lt;/a&gt; — Make &amp;#39;implicit expression variations&amp;#39; more explicit&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-span&quot;&gt;std::span&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1976R2&quot;&gt;P1976R2&lt;/a&gt; — Fixed-size span construction from dynamic range&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2116R0&quot;&gt;P2116R0&lt;/a&gt; — Remove tuple-like protocol support from fixed-extent span&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-spaceship&quot;&gt;Three-way comparison (&amp;lt;=&amp;gt;)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2002R1&quot;&gt;P2002R1&lt;/a&gt; — Defaulted comparison specification cleanups&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2085R0&quot;&gt;P2085R0&lt;/a&gt; — Consistent defaulted comparisons&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-attributes&quot;&gt;Attributes (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1908R1&quot;&gt;P1908R1&lt;/a&gt; — Reserving attribute namespaces for future use&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-constexpr&quot;&gt;constexpr expansion (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1937R2&quot;&gt;P1937R2&lt;/a&gt; — Fixing inconsistencies between constexpr and consteval functions&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-containers&quot;&gt;Containers &amp;amp; algorithms (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1115R3&quot;&gt;P1115R3&lt;/a&gt; — Improving the return value of erase-like algorithms, part 2: free erase[_if]&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-coroutines&quot;&gt;Coroutines&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2107R0&quot;&gt;P2107R0&lt;/a&gt; — Copy semantics of coroutine parameters&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-ctad&quot;&gt;CTAD improvements (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2082R1&quot;&gt;P2082R1&lt;/a&gt; — Fixing CTAD for aggregates&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-deprecations&quot;&gt;Deprecations &amp;amp; removals (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1831R1&quot;&gt;P1831R1&lt;/a&gt; — Deprecating volatile: library&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-implicit-object-creation&quot;&gt;Implicit object creation&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0593R6&quot;&gt;P0593R6&lt;/a&gt; — Implicit creation of objects for low-level object manipulation&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-lambdas&quot;&gt;Lambda improvements (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P2095R0&quot;&gt;P2095R0&lt;/a&gt; — Resolve lambda *init-capture* pack grammar&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-small-lang&quot;&gt;Small language features (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1957R2&quot;&gt;P1957R2&lt;/a&gt; — Converting from T* to bool should be considered narrowing&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-format&quot;&gt;std::format&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1868R2&quot;&gt;P1868R2&lt;/a&gt; — 🦄 width: clarifying units of width and precision in std::format&lt;/li&gt;&lt;/ul&gt;</description>
</item>
<item>
<title>Belfast 2019: 40 papers adopted into C++20</title>
<link>https://cpplang.io/plenary/2019-11-belfast</link>
<guid isPermaLink="true">https://cpplang.io/plenary/2019-11-belfast</guid>
<pubDate>Fri, 01 Nov 2019 00:00:00 GMT</pubDate>
<description>&lt;p&gt;40 papers adopted into C++20 at the Belfast, November 2019 plenary, across 19 features.&lt;/p&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-mandating&quot;&gt;Library specification rewrite (Mandates/Constraints)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1622R3&quot;&gt;P1622R3&lt;/a&gt; — Mandating the standard library: Clause 32 - Thread support library&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1686R2&quot;&gt;P1686R2&lt;/a&gt; — Mandating the standard library: Clause 27 - Time library&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1718R2&quot;&gt;P1718R2&lt;/a&gt; — Mandating the standard library: Clause 25 - Algorithms library&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1719R2&quot;&gt;P1719R2&lt;/a&gt; — Mandating the standard library: Clause 26 - Numerics library&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1720R2&quot;&gt;P1720R2&lt;/a&gt; — Mandating the standard library: Clause 28 - Localization library&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1721R2&quot;&gt;P1721R2&lt;/a&gt; — Mandating the standard library: Clause 29 - Input/Output library&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1722R2&quot;&gt;P1722R2&lt;/a&gt; — Mandating the standard library: Clause 30 - Regular Expression library&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1723R2&quot;&gt;P1723R2&lt;/a&gt; — Mandating the standard library: Clause 31 - Atomics library&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-ranges&quot;&gt;Ranges&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1456R1&quot;&gt;P1456R1&lt;/a&gt; — Move-only views&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1716R3&quot;&gt;P1716R3&lt;/a&gt; — ranges comparison algorithms are over-constrained&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1862R1&quot;&gt;P1862R1&lt;/a&gt; — Ranges adaptors for non-copyable iterators&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1870R1&quot;&gt;P1870R1&lt;/a&gt; — forwarding-range&amp;lt;T&amp;gt; is too subtle&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1878R1&quot;&gt;P1878R1&lt;/a&gt; — Constraining readable types&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/issue-lists&quot;&gt;Core &amp;amp; Library issue resolutions&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1917R0&quot;&gt;P1917R0&lt;/a&gt; — C++ Library Issues to be moved in Belfast&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1968R0&quot;&gt;P1968R0&lt;/a&gt; — Core Language Working Group &amp;quot;tentatively ready&amp;quot; issues for the November, 2019 (Belfast) meeting&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1969R0&quot;&gt;P1969R0&lt;/a&gt; — Core Language Working Group &amp;quot;ready&amp;quot; issues for the November, 2019 (Belfast) meeting&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/nb-housekeeping&quot;&gt;NB-comment omnibus &amp;amp; housekeeping&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1960R0&quot;&gt;P1960R0&lt;/a&gt; — NB Comment Changes Reviewed by SG1&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1971R0&quot;&gt;P1971R0&lt;/a&gt; — Core Language Changes for NB Comments at the November, 2019 (Belfast) Meeting&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1979R0&quot;&gt;P1979R0&lt;/a&gt; — Resolution to US086&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-spaceship&quot;&gt;Three-way comparison (&amp;lt;=&amp;gt;)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1855R0&quot;&gt;P1855R0&lt;/a&gt; — Make &amp;lt;compare&amp;gt; freestanding&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1946R0&quot;&gt;P1946R0&lt;/a&gt; — Allow defaulting comparisons by value&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1959R0&quot;&gt;P1959R0&lt;/a&gt; — Remove std::weak_equality and std::strong_equality&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-atomics&quot;&gt;Atomics &amp;amp; memory model (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P0883R2&quot;&gt;P0883R2&lt;/a&gt; — Fixing atomic initialization&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1961R0&quot;&gt;P1961R0&lt;/a&gt; — Harmonizing the definitions of total order for pointers&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-concepts&quot;&gt;Concepts&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1972R0&quot;&gt;P1972R0&lt;/a&gt; — US105 Check satisfaction of constraints for non-templates when forming pointer to function&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1980R0&quot;&gt;P1980R0&lt;/a&gt; — Declaration matching for non-dependent *requires-clause*s&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-span&quot;&gt;std::span&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1394R4&quot;&gt;P1394R4&lt;/a&gt; — Range constructor for std::span&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1872R0&quot;&gt;P1872R0&lt;/a&gt; — span should have size_type, not index_type&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-sync&quot;&gt;Synchronization library &amp;amp; jthread&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1865R1&quot;&gt;P1865R1&lt;/a&gt; — Add max() to latch and barrier&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1869R1&quot;&gt;P1869R1&lt;/a&gt; — Rename condition_variable_any interruptible wait methods&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-nttp&quot;&gt;Class types in non-type template parameters&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1907R1&quot;&gt;P1907R1&lt;/a&gt; — Inconsistencies with non-type template parameters&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-containers&quot;&gt;Containers &amp;amp; algorithms (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1690R1&quot;&gt;P1690R1&lt;/a&gt; — Refinement proposal for P0919 heterogeneous lookup for unordered containers&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-designated-init&quot;&gt;Designated initializers &amp;amp; aggregates&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1975R0&quot;&gt;P1975R0&lt;/a&gt; — Fixing the wording of parenthesized aggregate-initialization&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-lang-support&quot;&gt;Language support utilities (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1902R1&quot;&gt;P1902R1&lt;/a&gt; — Missing feature-test macros 2017-2019&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-constexpr-lib&quot;&gt;Library constexpr-ification (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1645R1&quot;&gt;P1645R1&lt;/a&gt; — constexpr for &amp;lt;numeric&amp;gt; algorithms&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-modules&quot;&gt;Modules&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1874R1&quot;&gt;P1874R1&lt;/a&gt; — Dynamic initialization order of non-local variables in modules&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-small-lang&quot;&gt;Small language features (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1965R0&quot;&gt;P1965R0&lt;/a&gt; — Hidden friends&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-concepts-lib&quot;&gt;Standard library concepts&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1871R1&quot;&gt;P1871R1&lt;/a&gt; — Concept traits should be named after concepts&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-format&quot;&gt;std::format&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1892R1&quot;&gt;P1892R1&lt;/a&gt; — Extended locale-specific presentation specifiers for std::format&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;a href=&quot;https://cpplang.io/feature/cxx20-strings&quot;&gt;Strings &amp;amp; I/O (C++20)&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://cpplang.io/paper/P1391R4&quot;&gt;P1391R4&lt;/a&gt; — Range constructor for std::string_view&lt;/li&gt;&lt;/ul&gt;</description>
</item>
</channel>
</rss>
