Skip to content
Jeff Garland edited this page Jun 6, 2025 · 306 revisions

NOTE: This is a "live" work document (updated with status).

Papers were prioritized during 2024-10-22 LEWG Telecon and updated for new papers by LWG group on LWG 2025-05-30 telecon.

Papers' scheduling is at LWG chairs discretion.

Legend

Bold means that the paper has been scheduled for LWG.

Monospace means that LWG is waiting on changes from the author.

Strikeout means that LWG is done with the paper.

LWG papers that are not waiting for a paper revision

B1, B2, B3

To be prioritized

C++23/C++20/DRs

C++26

LWG C++26 Papers

  1. B1:P3348 C++26 should refer to C23 not C17
  2. B1: P2996 Reflection for C++26
  3. B1: P3284 write_env and unstoppable Sender Adaptors
  4. B1: P3137 views::to_input
  5. B1: P2079 Parallel Scheduler (Was: System Execution Context) 6/16
  6. B1: P3149 async_scope -- Creating scopes for non-sequential concurrency (6/17-6/19)
  7. B1: P3164 Early Diagnostics for Sender Expressions (subsumed by 3557)
  8. B1: P3296 let_async_scope
  9. B1: P3570: optional variants in sender/receiver (simplify interface, among other things support P3552) (6/16)
  10. B1: P3433 Allocator Support for Operation States (6/16)
  11. B1: P3293 Splicing a base class subobject (6/16)
  12. B1: P3481 std::execution::bulk() issues (6/16)
  13. B1: P3547 Modeling Access Control With Reflection (reviewed by Core, leaving for LWG's final approval)
  14. B1: P3557 High-Quality Sender Diagnostics with Constexpr Exceptions (6/16)
  15. B1: P3560 Error Handling in Reflection (pending P3637) (6/16)
  16. B1: P3394 Annotations for Reflection (1 page) (6/16)
  17. B1: P3491 define_static_{string,object,array} (1 page) (6/16)
  18. B1: P3480: std::simd is a range (6/17)
  19. B1: P3096 Function Parameter Reflection in Reflection for C++26 (6/16)
  20. B1: P3617: std::meta::reflect_constant_{array,string} (mods for P3491, should be applied directly on it)
  21. B2: P2988 std::optional<T&>
  22. B2: P2933 std::simd overloads for <bit> header
  23. B2: P2663 Proposal to support interleaved complex values in std::simd
  24. B2: P3503 Make type-erased allocator use in promise and packaged_task consistent
  25. B2: P1317 Remove return type deduction in std::apply
  26. B2: P2664 Proposal to extend std::simd with permutation API (6/17)
  27. B2: P2876 Proposal to extend std::simd with more constructors and accessors (6/17)
  28. B2: P2927 Observing exceptions stored in exception_ptr (6/18)
  29. B2: P3037 constexpr std::shared_ptr
  30. B2: P3070 Formatting enums (6/17)
  31. B1: P3552 Add a Coroutine Task Type (C++26 if possible) - prioritized during LWG meeting, LWG chairs discretion
  32. B2: P3044 sub-string_view from string (6/17)
  33. B2: P3179 C++ parallel range algorithms
  34. B2: P2319 Prevent path presentation problems (6/17)
  35. B2: P3383 mdspan.at() (6/17)
  36. B2: P3416 exception_ptr_cast: Add && = delete overload (tiny) (6/18)
  37. B2: P3503 Make type-erased allocator use in promise and packaged_task consistent
  38. B2: P3008 Atomic floating-point min/max -- needs re-review
  39. B2: P3016 Resolve inconsistencies in begin/end for valarray and braced initializer lists back from LEWG needs re-review
  40. B2: P3567 flat_meow Fixes
  41. B3: P3074 trivial unions (was std::uninitialized)
  42. B3: P2019 Thread attributes (minor wording change)
  43. B3: P2846 reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges
  44. B3: P2830 Standardized Constexpr Type Ordering (minor wording change - 2 notes from core) - Jeff to start list review
  45. B3: P2781 std::constexpr_wrapper (resent from LEWG with design feedback)
  46. B3: P2786 Trivial Relocatability For C++26
  47. B3: P2758 Emitting messages at compile time (reviewed by Core)

Below the line currently

  1. B3: P3111 Atomic Reduction Operations
  2. B2: P3060 Add std::views::upto(n)
  3. B2: P0177 Cleaning up allocator_traits (needs revision)
  4. B3: P3516 Uninitialized algorithms for relocation
  5. B3: P0260 C++ Concurrent Queues
  6. B2: P3371 Fix C++26 by making the rank-1, rank-2, rank-k, and rank-2k updates consistent with the BLAS (C++26 if possible)
  7. B2: P3295 Freestanding constexpr containers and constexpr exception types (C++26 if possible)
  8. B3: P3319 Add an iota object for simd (and more) (C++26 if possible)
  9. B1: P3388 When Do You Know connect Doesn't Throw? (C++26 if possible)
  10. B2: P2956 Add saturating library support to std::simd (C++26 if possible)
  11. B2: P3395 Formatting of std::error_code (C++26 if possible)
  12. B2: P3663 Future-proof submdspan_mapping? (C++26 if possible)
  13. B3: P3365 Remove deprecated iterator template (C++26 if possible)
  14. B3: P3366 Remove Deprecated Atomic Initialization API from C++26 (C++26 if possible)
  15. B3: P2873 Remove Deprecated locale category facets for Unicode from C++26 (C++26 if possible)
  16. B1: P3425 Reducing operation-state sizes for subobject child operations (pending authors)

C++29

  1. B2: P3391 constexpr std::format (pending EP)
  2. B3: P3367 constexpr coroutines (Moved to C++29 due to P3590R0)
  3. B3: P3449 constexpr std::generator (Pending P3367, which moved to C++29 due to P3590R0)
  4. B3: P3125 constexpr pointer tagging (pending EP)

Technical reports

Clone this wiki locally