LWG Priorities - cplusplus/LEWG GitHub Wiki

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 (July 2022 Polls)

C++26

  1. B2: P2338 Freestanding Library: Character primitives and the C library [IS]
  2. B2: P2407 Freestanding Library: Partial Classes [IS]
  3. B2: P2562 constexpr Stable Sorting [IS]
  4. B2: P2283 constexpr for specialized memory algorithms [IS]
  5. B3: P2542 views::concat [IS] - saw in Kona, needs update
  6. B2: P2609 Relaxing Ranges Just A Smidge [IS] -- Kona with SG9

Technical reports

  1. B3: P2396 Concurrency TS v2 Fixes [Conc2TS] -- Kona

  2. B3: P1478 Byte-wise atomic memcpy [ConcTS2] -- Kona

  3. B3: P0290 apply() for synchronized_value [ConcTS2] -- Kona (blocked, needs update/champion)

  4. B3: P0561 An RAII Interface for Deferred Reclamation [ConcTS2] - on hold for SG9

  5. B3: P1202 Asymmetric Fences [ConcTS2] -- Kona

  6. B1: P2161 Remove Default Candidate Executor [NetTS / Paper]

Other Backlog Papers from Earlier

  1. B3: P2505 Monadic Functions for std::expected [IS]
  2. B3: P2539 Should the output of std::print to a terminal be synchronized with the underlying stream? [IS]
  3. B3: P2551 Clarify intent of P1841 numeric traits [IS] (Improvement to P1841) (blocked)
  4. B2: P2167 Improved Proposed Wording for LWG 2114 [IS]
  5. B2: P2538 ADL-Proof projected [IS]
  6. B2: P2363 Extending Associative Containers With The Remaining Heterogeneous Overloads [IS]
  7. B3: P1885 Naming Text Encodings to Demystify Them [IS]
  8. B2: P2351 Mark All Library Static Cast Wrappers As nodiscard [IS]
  9. B3: P1450 Enriching type modification traits [IS]
  10. B3: P0493 Atomic Maximum/Minimum [IS]
  11. B3: P0792 function_ref: a non-owning reference to a Callable [IS]
  12. B2: P1636 Formatters for library types [IS] -- stalled -- being replaced
  13. B3: P1083 Move resource_adaptor from Library TS to the C++ WP [IS] - now for 26
  14. B2: P2248 Enabling List-Initialization For Algorithms [IS]
  15. B3: P1901 Enabling the Use of weak_ptr as Keys in Unordered Associative Containers [IS]
  16. B2: P1317 Remove return type deduction in std::apply [IS] -- stalled
  17. B2: P0571 Type Requirements for Algorithms [IS]
  18. B2: P2150 Down with typename in the library! [IS]
  19. B3: P0201 A polymorphic value-type for C++ [IS] - now back in LEWG
  20. B2: P1264 Revising the wording of stream input operations [IS]
  21. B2: P1715 Loosen restrictions on "_t" typedefs and "_v" values. [IS]
  22. B3: P0549 Adjuncts to std::hash [IS] - earliest 26
  23. B3: P1841 Wording for Individually Specializable Numeric Traits [IS] (LEWG)
  24. B3: P2198 Freestanding Feature Test Macro Policy [IS]
  25. B2: P2013 Freestanding Language: Optional ::operator new [IS] (from EWG/CWG)

Recently culled from the prioritized list

  1. B2: P2553 Make mdspan size_type Controllable [IS] (merged in P0009)
  2. B2: P2554 C-Array Interoperability Of mdspan [IS] (merged in P0009)
  3. B3: P2590 Explicit lifetime management [IS]
  4. B2: P2419 Clarify handling of encodings in localized formatting of chrono types [IS]
  5. B2: P2499 string_view Range Constructor Should Be Explicit [IS]
  6. B2: P2165 Compatibility Between tuple, pair, And tuple-Like Objects [IS]
  7. B2: P2549 unexpected Should Have error As Member Accessor [IS]
  8. B2: P2540 Empty Product For Certain Views [IS]
  9. B3: P0009 mdspan: A Non-Owning Multidimensional Array Reference [IS]
  10. B3: P1169 static operator() [IS]
  11. B3: P2374 views::cartesian_product [IS]
  12. B2: P2460 Relax requirements on wchar_t to match existing practices [IS]
  13. B3: P1899 views::stride [IS]
  14. B2: P2404 Move-Only Types For equality_comparable_with, totally_ordered_with, And three_way_comparable_with [IS]
  15. B2: P2517 Add A Conditional noexcept Specification To apply [IS]
  16. B2: P2520 move_iterator Should Be A Random Access Iterator [IS]
  17. B3: P2417 A more constexpr bitset [IS]
  18. B2: P2585 Improve default container formatting [IS] (Improvement to P2286)
  19. B3: P2510 Formatting pointers [IS]
  20. B1: P2502 std::generator [IS]
  21. B3: P0429 A Standard flatmap [IS]
  22. B3: P2445 forward_like [IS]
  23. B3: P1223 find_last [IS]
  24. B3: P1222 A Standard flatset [IS]
  25. B2: P2494 Relaxing Range Adaptors To Allow For Move Only Types [IS]
  26. B2: P2278 cbegin Should Always Return A Constant Iterator [IS]
  27. B3: P2474 views::repeat [IS]
  28. B3: P1467 Extended Floating-Point Types [IS]
  29. B2: P2291 Add Constexpr Modifiers To Functions to_chars And from_chars For Integral Types In Header [IS]
  30. B2: P1642 Freestanding [utilities], [ranges], and [iterators] [IS]
  31. B2: P2408 Ranges Iterators As Inputs To Non-Ranges Algorithms [IS]
  32. B3: P2322 ranges::fold [IS]
  33. B3: P2302 ranges::contains [IS]
  34. B1: P2465 Standard Library Modules std and std.all [IS]
  35. B3: P2093 Formatted output [IS]
  36. B3: P2446 views::all_move [IS]
  37. B3: P2467 Support Exclusive Mode For fstreams [IS]
  38. B3: P2438 string::substr() && [IS]
  39. B3: P2508 Expose basic-format-string<charT, Args...> [IS]
  40. B3: P0323 std::expected [IS]
  41. B2: P1951 Default Arguments for pair's Forwarding Constructor [IS]
  42. B3: P1206 ranges::to: A function to convert any range to a container [IS]
  43. B2: P2251 Require span & basic_string_view to be Trivially Copyable [IS]
  44. B3: P2255 A type trait to detect reference binding to temporary [IS]
  45. B2: P1675 rethrow_exception must be allowed to copy [IS]
  46. B2: P2387 Pipe support for user-defined range adaptors [IS]
  47. B3 P2441 views::join_with [IS]
  48. B2: P2372 Fixing locale handling in chrono formatters [IS] C++20
  49. B3: P0533 constexpr for <cmath> and <cstdlib> [IS]
  50. B2: P2273 Making std::unique_ptr constexpr [IS]
  51. B3: P2321 zip [IS]
  52. B3: P0798 Monadic operations for std::optional [IS]
  53. B3: P1328 Making std::type_info::operator== constexpr [IS]
  54. B3: P1272 Byteswapping for fun&&nuf [IS]
  55. B2: P1072 basic_string::resize_and_overwrite [IS]
  56. B2: P0627 Function to mark unreachable code [IS]
  57. B3: P0288 any_invocable [IS]
  58. B2: P2077 Heterogeneous erasure overloads for associative containers [IS]
  59. B2: P1147 Printing volatile Pointers [IS]
  60. B2: P1413 Deprecate std::aligned_storage and std::aligned_union [IS]
  61. B3: P2301 Add a pmr alias for std::stacktrace
  62. B3: P0849 auto(x): DECAY_COPY in the language [IS]
  63. B3: P1121 Hazard Pointers: Proposed Interface and Wording for Concurrency TS 2 [ConcTS2]
  64. B3: P1132 out_ptr - a scalable output pointer abstraction [IS]
  65. B2: P1425 Iterators pair constructors for stack and queue [IS]
  66. B2: P2136 invoke_r [IS]
  67. B1: P2186 Removing Garbage Collection Support [IS]
  68. B3: P1122 Proposed Wording for Concurrent Data Structures: Read-Copy-Update (RCU) [ConcTS2]
  69. B2: P1989 Range constructor for std::string_view 2: Constrain Harder [IS]
  70. B1: P2325 Views should not be required to be default constructible [IS] C++20
  71. B2: P2328 join_view should join all views of ranges [IS] C++20
  72. B3: P0881 A Proposal to add stacktrace library [IS]
  73. B2: P1919 Expanding the Rights in SD-8 [SD-8]
  74. B2: P0401 Providing size feedback in the Allocator interface [IS]
  75. B2: P1339 Disallowing the friending of names in namespace std [SD-8]
  76. B3: P1682 std::to_underlying [IS]
  77. B2: P1659 starts_with and ends_with [IS]
  78. B2: P2162 Inheriting from std::variant (resolving LWG3052) [IS]
  79. B2: P2017 Conditionally safe ranges [IS]
  80. B3: P1679 String Contains function [IS]
  81. B3: P0448 A strstream replacement using span as buffer [IS]
  82. B1: P2171 Rebasing the Networking TS on C++20 [Paper]
  83. B2: P1518 Stop overconstraining allocators in container deduction guides [IS]
  84. B2: P2160 Locks lock lockables (wording for LWG 2363) [IS]
  85. B2: P2212 Relax Requirements for time_point::clock [IS]
  86. B3: P1048 A proposal for a type trait to detect scoped enumerations [IS]
  87. B1: P2340 Clarifying the status of the "C headers"
  88. B1: P2367 Remove misuses of list-initialization from Clause 24 (LWG 3524) [IS]
  89. B2: P2166 A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr [IS]
  90. B2: P0943 Support C atomics in C++ [IS]
  91. B3: P1293 ostream_joiner [IS] paper dropped by author
  92. B2: P2599 index_type & size_type in mdspan [IS]
  93. B2: P2604 mdspan: Rename pointer and contiguous [IS]
  94. B2: P2613 Add the missing empty to mdspan [IS]

So high priority that LWG got to them before officially forwarded from LEWG

  1. B1: P2281 Clarifying range adaptor objects [IS]
  2. B1: P2216 std::format improvements
  3. B2: P2231 Missing constexpr in std::optional and std::variant
  4. B2: P1951 Default Arguments for pair's Forwarding Constructor
  5. B2: P2210 Superior String Splitting

To be prioritized from September 2021 polls

  1. B2: P2418 Add support for std::generator-like types to std::format [IS] C++20
  2. B2: P2415 What is a view? [IS] C++20
  3. B2: P2432 Fix istream_view [IS] C++20

To be prioritized from November 2021 polls

  1. B3: P2442 Windowing range adaptors: views::chunk and views::slide [IS]
  2. B3: P0627 Function to mark unreachable code [IS]
  3. B3: P2440 ranges::iota, ranges::shift_left, and ranges::shift_right [IS]
  4. B3: P2443 views::chunk_by [IS]
⚠️ **GitHub.com Fallback** ⚠️