Variants

User:T. Canens

From cppreference.com
  • Note that iterator_traits is intended for C++17 iterators only

Prague 2020 motions

CWG motions

Issue # Status Notes
CWG 2445 ✘ Not done
CWG 2446 ✘ Not done
CWG 2447 ✘ Not done DR (for the 2053 portion)
US028 ✘ Not done DR
US033 ✘ Not done
US041 ✘ Not done DR
CA104 ✘ Not done
CA107 ✘ Not done
US115 ✘ Not done
  • P1779R3 (ABI isolation for member functions)
  • P1857R3 (Modules Dependency Discovery)
  • P0593R6 (Implicit creation of objects for low-level object manipulation)
  • P1957R2 (Converting from T* to bool should be considered narrowing (re: US 212))
  • P2104R0 (Disallow changing concept values)
  • P2107R0 (Core Issue 2436: US064 Copy semantics of coroutine parameters)
  • P2092R0 (Disambiguating Nested-Requirements)
  • P2109R0 (US084: Disallow "export import foo" outside of module interface)
  • P2082R1 (Fixing CTAD for aggregates)
  • P2113R0 (Proposed resolution for 2019 comment CA 112)
  • P2115R0 (US069: Merging of multiple definitions for unnamed unscoped enumerations)
  • P1815R2 (Translation-unit-local entities)
  • P2095R0 (Resolve lambda init-capture pack grammar (CWG2378))
  • P2002R1 (Defaulted comparison specification cleanups)
  • P2085R0 (Consistent defaulted comparisons)
  • P1908R1 (Reserving Attribute Namespaces for Future Use)
  • P1937R2 (Fixing inconsistencies between constexpr and consteval functions)

LWG motions

  • Issues
Issue # Status Notes
LWG 1203 ✔ Done
LWG 2859 ✔ Done already did this, added a dr list
LWG 3018 ✘ Not done our shared_ptr page doesn't follow the standard terminology (shared_ptr owns a pointer (or a nullptr_t), not the object (or non-object) it points to; need some cleanup
LWG 3050 ✔ Done
LWG 3141 ✔ Done
LWG 3150 ✔ Done
LWG 3175 ✔ Done Do we need to add the projection-to-common-reference in the spec? Doesn't seem to add much for our purposes.
LWG 3194 ✔ Done
LWG 3200 ✔ Done
LWG 3201 ✔ Done
LWG 3226 ✔ Done this was done when I added these
LWG 3233 ✔ Done
LWG 3237 ✔ Done
LWG 3238 ✔ Done
LWG 3242 ✔ Done
LWG 3243 ✔ Done
LWG 3247 ✘ Not done ranges
LWG 3248 ✔ Done
LWG 3250 ✔ Done
LWG 3251 ✔ No-op
LWG 3252 ✔ Done
LWG 3254 ✔ Done
LWG 3255 ✔ Done
LWG 3260 ✔ Done
LWG 3262 ✘ Not done duration format
LWG 3264 ✔ Done
LWG 3269 ✔ Done
LWG 3270 ✘ Not done duration format
LWG 3280 ✘ Not done ranges
LWG 3281 ✘ Not done ranges
LWG 3282 ✘ Not done ranges
LWG 3284 ✘ Not done ranges
LWG 3285 ✔ Done
LWG 3286 ✘ Not done ranges
LWG 3291 ✔ Done
LWG 3292 ✔ Done
LWG 3294 ✔ Done
LWG 3296 ✔ Done
LWG 3299 ✘ Not done ranges
LWG 3300 ✔ Done
LWG 3301 ✘ Not done ranges
LWG 3302 ✘ Not done ranges
LWG 3303 ✔ Done
LWG 3304 ✔ Done
LWG 3307 ✔ Done
LWG 3310 ✔ Done
LWG 3313 ✘ Not done ranges
LWG 3314 ✔ Done
LWG 3315 ✔ No-op Allocator doesn't show the default and that's probably fine. std::allocator_traits already has the changes.
LWG 3316 ✔ Done
LWG 3317 ✔ Done
LWG 3318 ✔ No-op
LWG 3319 ✔ No-op
LWG 3320 ✔ Done
LWG 3321 ✔ Done
LWG 3323 ✘ Not done ranges
LWG 3324 ✔ Done
LWG 3325 ✘ Not done ranges
LWG 3326 ✔ Done
LWG 3327 ✔ Done
LWG 3328 ✔ No-op
LWG 3329 ✔ Done
LWG 3330 ✘ Not done include <compare> everywhere
LWG 3331 ✘ Not done concepts; need to figure out expos-only concepts
LWG 3332 ✘ Not done chrono format
LWG 3334 ✔ Done
LWG 3335 ✔ Done
LWG 3338 ✔ Done
LWG 3340 ✘ Not done
LWG 3346 ✔ No-op
LWG 3347 ✘ Not done
LWG 3348 ✘ Not done
LWG 3349 ✘ Not done
LWG 3350 ✔ Done
LWG 3351 ✔ Done
LWG 3352 ✘ Not done
LWG 3354 ✔ Done
LWG 3355 ✘ Not done
LWG 3356 ✘ Not done
LWG 3358 ✔ Done
LWG 3359 ✘ Not done
LWG 3360 ✔ Done
LWG 3362 ✔ Done
LWG 3363 ✔ Done
LWG 3364 ✘ Not done
LWG 3367 ✘ Not done
LWG 3369 ✔ Done
LWG 3371 ✔ Done
LWG 3372 ✔ Done
LWG 3373 ✔ No-op
LWG 3374 ✔ Done
LWG 3375 ✔ Done
LWG 3377 ✘ Not done
LWG 3379 ✔ Done
LWG 3380 ✘ Not done
LWG 3381 ✘ Not done
LWG 3382 ✘ Not done
LWG 3383 ✘ Not done
LWG 3384 ✘ Not done
LWG 3385 ✘ Not done
LWG 3387 ✘ Not done
LWG 3388 ✘ Not done
LWG 3389 ✘ Not done
LWG 3390 ✔ Done
LWG 3393 ✘ Not done
LWG 3395 ✔ No-op
LWG 3396 ✔ Done
LWG 3397 ✘ Not done
LWG 3398 ✘ Not done
  • ✔ no-op P2045R1 (Missing Mandates for the standard library)
  • P1460R1 (Mandating the Standard Library: Clause 20 - Utilities library)
  • P1963R0 (Fixing US 313)
  • P1983R0 (Wording for GB301, US296, US292, US291, and US283)
  • P1981R0 (Rename leap to leap_second)
  • P1982R0 (Rename link to time_zone_link)
  • ✔ this shouldn't matter for us P2101R0 ('Models' subsumes 'satisfies' (Wording for US298 and US300))
  • ✔ Done P1115R3 (Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if)
  • P2102R0 (Make 'implicit expression variations' more explicit (Wording for US185))
  • P1994R1 (elements_view needs its own sentinel)
  • P1868R2 (width: clarifying units of width and precision in std::format)
  • ✔ Done P1956R1 (On the names of low-level bit manipulation functions)
  • P1976R2 (Fixed-size span construction from dynamic range)
  • P1964R2 (Wording for boolean-testable)
  • P2091R0 (Issues with range access CPOs)
  • P0586R2 (Safe integral comparisons)
  • P1831R1 (Deprecating volatile: library)
  • ✔ Done P1973R1 (Rename "_default_init" Functions, Rev1)
  • P1243R4 (Rangify New Algorithms)
  • P2106R0 (Alternative wording for GB315 and GB316)
  • P1739R4 (Avoid template bloat for safe_ranges in combination with "subrange-y" view adaptors)
  • ✔ Done P2116R0 (Remove tuple-like protocol support from fixed-extent span)
  • P1970R2 (Consistency for size() functions: Add ranges::ssize)
  • P2081R1 (Rebase the Library Fundamentals v3 TS on C++20)

Belfast 2019 motions

CWG motions

Issue # Status Notes
CWG 1621 ✘ Not done
CWG 2126 ✘ Not done
CWG 2282 ✘ Not done
CWG 2347 ✘ Not done
CWG 2374 ✘ Not done
CWG 2399 ✘ Not done
CWG 2419 ✘ Not done
CWG 2422 ✘ Not done
CWG 2424 ✘ Not done
CWG 2426 ✘ Not done
CWG 2427 ✘ Not done
CWG 2429 ✘ Not done
CWG 2430 ✘ Not done
CWG 2431 ✘ Not done
CWG 2432 ✘ Not done
CWG 2433 ✘ Not done
CWG 2437 ✘ Not done
CWG 2442 ✘ Not done
CWG 2280 ✘ Not done
CWG 2382 ✘ Not done
CWG 2416 ✘ Not done
CWG 2441 ✘ Not done
RU007 ✘ Not done
US019, US020 ✘ Not done
CA038 ✘ Not done
CZ044 ✘ Not done
US052 ✘ Not done
US053 ✘ Not done
US065 ✘ Not done
GB079 ✘ Not done
US087 ✘ Not done
US111 ✘ Not done
US132 ✘ Not done
US367 ✘ Not done
CA378 ✘ Not done
  • P1972R0 (US105 Check satisfaction of constraints for non-templates when forming pointer to function)
  • P1975R0 (Fixing the wording of parenthesized aggregate-initialization)
  • P1874R1 (Dynamic Initialization Order of Non-Local Variables in Modules)
  • P1946R0 (Allow defaulting comparisons by value)
  • P1907R1 (Inconsistencies with non-type template parameters)
  • P1979R0 (Resolution to US086)
  • P1980R0 (Drafting for CA096: Declaration matching for non-dependent requires-clauses)

LWG motions

  • Issues
Issue # Status Notes
LWG 3070 ✔ Done
LWG 3103 ✔ Done
LWG 3149 ✔ Done
LWG 3190 ✔ Done this was applied as a DR against 11 which seems reasonable - but currently we have impl divergence.
LWG 3218 ✔ Done
LWG 3221 ✔ Done
LWG 3222 ✘ Not done
LWG 3224 ✔ Done
LWG 3225 ✔ Done
LWG 3230 ✔ Done
LWG 3231 ✔ Done
LWG 3232 ✔ Done
LWG 3235 ✔ Done
LWG 3241 ✔ Done
LWG 3244 ✔ Done
LWG 3245 ✔ Done
LWG 3246 ✘ Not done
LWG 3253 ✔ Done
LWG 3256 ✘ Not done feature-test macro
LWG 3257 ✘ Not done feature-test macro
LWG 3259 ✔ Done
LWG 3266 ✔ Done
LWG 3272 ✘ Not done
LWG 3274 ✘ Not done feature-test macro
LWG 3276 ✘ Not done ranges
LWG 3277 ✘ Not done ranges
  • ✔ Done P1855R0 (Make <compare> freestanding)
  • ✔ Done P1690R1 (Refinement Proposal for P0919 Heterogeneous lookup for unordered containers)
  • ✔ Done P1872R0 (span should have size_type, not index_type)
  • ✔ nop P1965R0 (Blanket Wording for Specifying “Hidden Friends”)
  • P1716R3 (ranges compare algorithm are over-constrained)
  • ✔ Done P1869R1 (Rename condition_variable_any interruptible wait methods)
  • P1961R0 (Harmonizing the definitions of total order for pointers)
  • P1878R1 (Constraining Readable Types)
  • P1871R1 (Concept traits should be named after concepts)
  • P1456R1 (Move-only views)
  • P1391R4 (Range constructor for std::string_view)
  • P1394R4 (Range constructor for std::span)
  • P1862R1 (Ranges adaptors for non-copyable iterators)
  • P1870R1 (forwarding-range<T> is too subtle)
  • P1865R1 (Add max() to latch and barrier)
  • P1960R0 (NB Comment Changes Reviewed by SG1)
  • P1902R1 (Missing feature-test macros 2017-2019)
  • P0883R2 (Fixing Atomic Initialization)
  • ✔ Done P1959R0 (Remove std::weak_equality and std::strong_equality)
  • P1892R1 (Extended locale-specific presentation specifiers for std::format)
  • P1645R1 (constexpr for <numeric> algorithms)
  • P1718R2 (Mandating the Standard Library: Clause 25 - Algorithms library)
  • P1719R2 (Mandating the Standard Library: Clause 26 - Numerics library)
  • P1686R2 (Mandating the Standard Library: Clause 27 - Time library)
  • P1720R2 (Mandating the Standard Library: Clause 28 - Localization library)
  • P1721R2 (Mandating the Standard Library: Clause 29 - Input/Output library)
  • P1722R2 (Mandating the Standard Library: Clause 30 - Regular Expression library)
  • P1723R2 (Mandating the Standard Library: Clause 31 - Atomics library)
  • P1622R3 (Mandating the Standard Library: Clause 32 - Thread support library)

CGN 2019 motions

CWG motions

Issue # Status Notes
CWG 682 ✘ Not done
CWG 2207 ✘ Not done
CWG 2300 ✘ Not done
CWG 2366 ✘ Not done
CWG 2376 ✘ Not done
CWG 2390 ✘ Not done
CWG 2400 ✘ Not done
CWG 2404 ✘ Not done
CWG 2406 ✘ Not done
CWG 2418 ✘ Not done
  • P1161R3 (Deprecate uses of the comma operator in subscripting expressions)
  • P1331R2 (Permitting trivial default initialization in constexpr contexts)
  • P0735R1 (Interaction of memory_order_consume with release sequences)
  • P0848R3 (Conditionally Trivial Special Member Functions)
  • P1186R3 (When do you actually use <=>?)
  • P1301R4 ([[nodiscard("should have a reason")]])
  • P1099R5 (Using Enum)
  • P1630R1 (Spaceship needs a tune-up)
  • P1616R1 (Using unconstrained template template parameters with constrained templates)
  • P1816R0 (Wording for class template argument deduction for aggregates)
  • P1668R1 (Enabling constexpr Intrinsics By Permitting Unevaluated inline-assembly in constexpr Functions)
  • P1766R1 (Mitigating minor modules maladies); DR for the changes therein for default arguments and classes having typedef names for linkage purposes.
  • P1811R0 (Relaxing redefinition restrictions for re-exportation robustness)
  • P0388R4 (Permit conversions to arrays of unknown bound)
  • ✔ Done P1823R0 (Remove Contracts from C++20)
  • P1143R2 (Adding the constinit keyword)
  • ✔ Done P1452R2 (On the non-uniform semantics of return-type-requirements)
  • P1152R4 (Deprecating volatile)
  • P1771R1 ([[nodiscard]] for constructors) (DR)
  • P1814R0 (Wording for Class Template Argument Deduction for Alias Templates)
  • P1825R0 (Merged wording for P0527R1 and P1155R3) (DR)
  • P1703R1 (Recognizing Header Unit Imports Requires Full Preprocessing)
  • P0784R7 (More constexpr containers)

LWG Motions

Issue # Status Notes
LWG 2899 ✘ Not done
LWG 3055 ✔ Done
LWG 3158 ✔ Done
LWG 3169 ✘ Not done ranges
LWG 3186 ✘ Not done ranges
LWG 3187 ✔ Done
LWG 3183 ✘ Not done ranges
LWG 3184 ✔ No-op
LWG 3185 ✔ Done
LWG 3191 ✘ Not done ranges
LWG 3196 ✔ Done
LWG 3198 ✔ Done
LWG 3199 ✔ Done
LWG 3202 ✔ Done
LWG 3206 ✔ No-op
LWG 3208 ✔ N/A
LWG 3209 ✔ No-op
  • P1355R2 (Exposing a narrow contract for ceil2)
  • P0553R4 (Bit operations)
  • P1424R1 ('constexpr' feature macro concerns)
  • P0645R10 (Text Formatting)
    • P1361R2 (Integration of chrono with text formatting)
    • P1652R1 (Printf corner cases in std::format)
  • P0631R8 (Math Constants)
  • P1135R6 (The C++20 Synchronization Library)
    • P1643R1 (Add wait/notify to atomic_ref)
    • P1644R0 (Add wait/notify to atomic<shared_ptr>)
  • P1466R3 (Miscellaneous minor fixes for chrono)
  • P1754R1 (Rename concepts to standard_case for C++20, while we still can)
    • I demand beers.
  • P1614R2 (The Mothership has Landed)
  • P0325R4 (to_array from LFTS with updates)
  • P0408R7 (Efficient Access to basic_stringbuf ’s Buffer)
  • P1423R3 (char8_t backward compatibility remediation)
  • P1502R1 (Standard library header units for C++20) (only if P1811R0 passes)
  • P1612R1 (Relocate Endian’s Specification)
  • ✔ Done P1661R1 (Remove dedicated precalculated hash lookup interface)
  • ✔ Done P1650R0 (Output std::chrono::days with 'd' suffix)
  • ✔ Done P1651R0 (bind_front should not unwrap reference_wrapper)
  • P1065R2 (Constexpr INVOKE)
  • P1207R4 (Movability of Single-pass Iterators)
  • P1035R7 (Input Range Adaptors)
    • P1638R1 (basic_istream_view::iterator should not be copyable)
  • P1522R1 (Iterator Difference Type and Integer Overflow)
  • P1004R2 (Making std::vector constexpr)
  • P0980R1 (Making std::string constexpr)
  • P0660R10 (Stop Token and Joining Thread, Rev 10)
  • P1474R1 (Helpful pointers for ContiguousIterator)
  • P1523R1 (Views and Size Types)
  • P0466R5 (Layout-compatibility and Pointer-interconvertibility Traits)
  • P1208R6 (Adopt source_location for C++20)

KOA 2019 motions

CWG motions

  • Issues (P1358R0 & P1359R0, all DRs)
Issue # Status Notes
CWG 2256 ✘ Not done
CWG 2267 ✘ Not done
CWG 2278 ✘ Not done
CWG 2303 ✘ Not done
CWG 2309 ✘ Not done
CWG 2310 ✘ Not done
CWG 2317 ✘ Not done
CWG 2318 ✘ Not done
CWG 2330 ✘ Not done
CWG 2332 ✘ Not done
CWG 2336 ✘ Not done
CWG 2352 ✘ Not done
CWG 2358 ✘ Not done
CWG 2360 ✘ Not done
CWG 581 ✘ Not done
CWG 1937 ✘ Not done
CWG 1938 ✘ Not done
CWG 2020 ✘ Not done
CWG 2051 ✘ Not done
CWG 2083 ✘ Not done
CWG 2103 ✘ Not done
CWG 2170 ✘ Not done
CWG 2257 ✘ Not done
CWG 2266 ✘ Not done
CWG 2289 ✘ Not done
CWG 2353 ✘ Not done
CWG 2354 ✘ Not done
CWG 2365 ✘ Not done
CWG 2368 ✘ Not done
CWG 2372 ✘ Not done
CWG 2379 ✘ Not done
CWG 2380 ✘ Not done
CWG 2381 ✘ Not done
CWG 2384 ✘ Not done
CWG 2385 ✘ Not done
CWG 2386 ✘ Not done
CWG 2387 ✘ Not done
CWG 2394 ✘ Not done
  • P1286R2 (Contra CWG DR1778) (DR)
  • P1091R3 (Extending structured bindings to be more like variable declarations) and P1381R1 (Reference capture of structured bindings)
  • ✔ Done by Cubbi P1041R4 (Make char16_t/char32_t string literals be UTF-16/32)
  • ✔ Done by Cubbi P1139R2 (Address wording issues related to ISO 10646)
  • ✔ Done by Cubbi P1323R2 (Contract postconditions and return type deduction)
  • ✔ Done by Cubbi P0960R3 (Allow initializing aggregates from a parenthesized list of values)
  • ✔ Done by Cubbi P1009R2 (Array size deduction in new-expressions) (DR)
  • P1103R3 (Merging Modules)
  • P1185R2 (<=> != ==)
  • P0912R5 (Merge Coroutines TS into C++20 working draft)
no reflection yet
Reflection TS
  • P1390R1 (Reflection TS NB comment resolutions: summary and rationale)

LWG Motions

Issue # Status Notes
LWG 3077 ✘ Not done
LWG 3119 ✘ Not done LWG issue 2139 also missing. Unclear what needs changes
LWG 3179 ✘ Not done ranges
  • P1463R1 (Mandating the Standard Library: Clause 21 - Containers library)
  • P1252R2 (Ranges Design Cleanup)
Done
  • Issues (P1457R0)
Issue # Status Notes
LWG 3012 ✔ Done
LWG 3040 ✔ Done
LWG 3087 ✔ No-op
LWG 3101 ✔ N/A overtaken by later changes
LWG 3112 ✔ Done
LWG 3133 ✔ Done
LWG 3144 ✔ Done
LWG 3173 ✔ Done ranges
LWG 3180 ✔ N/A overtaken by later changes
LWG 3182 ✔ Done
  • ✔ Done by Cubbi P0339R6 (polymorphic_allocator<> as a vocabulary type)
  • ✔ Done P0340R3 (Making std::underlying_type SFINAE-friendly)
  • ✔ Done P0738R2 (I Stream, You Stream, We All Stream for istream_iterator)
  • ✔ No-op P1458R1 (Mandating the Standard Library: Clause 16 - Language support library)
  • ✔ No-op P1459R1 (Mandating the Standard Library: Clause 18 - Diagnostics library)
  • ✔ No-op P1462R1 (Mandating the Standard Library: Clause 20 - Strings library)
  • ✔ Done P1464R1 (Mandating the Standard Library: Clause 22 - Iterators library)
  • ✔ Done P1164R1 (Make create_directory() Intuitive) (DR)
  • ✔ Done P0811R3 (Well-behaved interpolation for numbers and pointers)
  • ✔ Done by Cubbi P1001R2 (Target Vectorization Policies from Parallelism V2 TS to C++20)
  • ✔ Done P1227R2 (Signed ssize() functions, unsigned size() functions )
  • ✔ Done P1024R3 (Usability Enhancements for std::span)
    • New LWG issue: tuple_element_t<I, cv span> is wrong (adds cv); also need to use size_t.
  • ✔ Done P0920R2 (Precalculated hash values in lookup)
  • ✔ Done P1357R1 (Traits for [Un]bounded Arrays)
No LFTSv3 page right now
LFTSv3
  • P0052R10 (Generic Scope Guard and RAII Wrapper for the Standard Library)

SAN 2018 motions

CWG motions

  • ✔ Done by Statementreply P0668R5 (Revising the C++ memory model)
  • ✔ Done by Statementreply P0982R1 (Weaken Release Sequences)
  • P1131R2 (Core Issue 2292: simple-template-id is ambiguous between class-name and type-name)
  • ✔ Done by Cubbi P1236R1 (Alternative Wording for P0907R4 Signed Integers are Two's Complement)
  • ✔ Done by Cubbi P0482R6 (char8_t: A type for UTF-8 characters and strings (Revision 6))
  • ✔ Mostly done P1073R3 (Immediate functions)
  • except the part about "potentially constant evaluated"
  • P0595R2 (std::is_constant_evaluated())
  • P1141R2 (Yet another approach for constrained declarations)
done
  • Tentatively ready issues (P1350R0)
Issue # Status Notes
CWG 1636 ✔ No-op we describe the intent rather than the full spec, so no problem here
CWG 1781 ✔ Done also resolves 2133
CWG 2373 ✔ Done
  • ✔ Done P1084R2 (Today's return-type-requirements Are Insufficient)
  • Reconciled with P1141R2 by using type-constraint. Also didn't do the technical details about what it means to satisfy one since the meaning is pretty clear.
  • ✔ Done P1094R2 (Nested Inline Namespaces)
  • ✔ Done P1330R0 (Changing the active member of a union inside constexpr)
  • ✔ Done P1289R1 (Access control in contract conditions)
  • ✔ Done P1002R1 (Try-catch blocks in constexpr functions)
  • ✔ Done P1327R1 (Allowing dynamic_cast, polymorphic typeid in Constant Expressions)
  • ✔ Done P1353R0 (Missing Feature Test Macros)

LWG motions

  • Deferred until LWG cleans up the mess.
  • ✔ Done P1020R1 (Smart pointer creation with default initialization)
  • P1285R0 (Improving Completeness Requirements for Type Traits)
  • ✔ Done by Cubbi P0591R4 (Utility functions to implement uses-allocator construction)
  • P0896R4 (The One Ranges Proposal)
  • Note: going to pretend that the dediamondification in P1252R0 already happened so that I don't have to redo half the pages
  • ✔ Done by Cubbi P0919R3 (Heterogeneous lookup for unordered containers)
  • May want to add a note on the main container pages.
done
  • TS issues
Issue # Status Notes
LWG 2697 ✔ Done Concurrency
LWG 2960 ✔ Done LFTS
  • Issues
Issue # Status Notes
LWG 2183 ✔ No-op
LWG 2184 ✔ Done
LWG 2412 ✔ Done
LWG 2682 ✔ Done
LWG 2936 ✔ Done
LWG 2943 ✔ Done
LWG 2995 ✔ Done
LWG 2996 ✔ Done
LWG 3008 ✔ Done
LWG 3025 ✔ Done
LWG 3031 ✔ Done
LWG 3037 ✔ Done
LWG 3038 ✔ Done
LWG 3054 ✔ Done
LWG 3065 ✔ Done
LWG 3096 ✔ Done
LWG 3116 ✔ No-op
LWG 3122 ✔ No-op
LWG 3127 ✔ No-op
LWG 3128 ✔ No-op
LWG 3129 ✔ No-op
LWG 3130 ✔ No-op
LWG 3131 ✔ Done
LWG 3132 ✔ Done
LWG 3137 ✔ Done
LWG 3140 ✔ No-op
LWG 3145 ✔ Done
LWG 3147 ✔ Done
LWG 3148 ✔ Done
LWG 3153 ✔ Done
LWG 3154 ✔ Done
LWG 3160 ✔ Done
  • ✔ Done P1123R0 (Editorial Guidance for merging P0019r8 and P0528r3).
  • Did this already when applying atomic_ref
  • ✔ Done P0487R1 (Fixing operator>>(basic_istream&, CharT*) (LWG 2499)).
  • ✔ Done P0602R4 (variant and optional should propagate copy/move triviality).
  • ✔ Done P0655R1 (visit<R>: Explicit Return Type for visit).
  • ✔ Done P0972R0 (<chrono> zero(), min(), and max() should be noexcept)
  • ✔ Done P1006R1 (Constexpr in std::pointer_traits)
  • ✔ Done P0608R3 (A sane variant converting constructor)
  • ✔ Done P0771R1 (std::function move constructor should be noexcept)
  • ✔ Done P1248R1 (Remove CommonReference requirement from StrictWeakOrdering (a.k.a Fixing Relations))
  • ✔ no-op P0899R1 (LWG 3016 is Not a Defect)
  • Remove some specification redundancies
  • ✔ Done P1085R2 (Should Span be Regular?)
  • ✔ Done (mostly by Fruderica) P1032R1 (Misc constexpr bits)
  • ✔ Done P0357R3 (reference_wrapper for incomplete types)
  • ✔ Done P1007R3 (std::assume_aligned)
  • ✔ Done P1165R1 (Make stateful allocator propagation more consistent for operator+(basic_string))
  • ✔ Done P1209R0 (Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20)
  • ✔ Done by Cubbi P0356R5 (Simplified partial function application)
No LFTS V3 page right now
  • P1210R0 (Completing the Rebase of Library Fundamentals, Version 3, Working Draft)
    • We'll do something when we actually have new stuff in LFTS V3. LWG is rather busy with IS right now...

RAP 2018 motions

LEWG motion

  • P0921R2 "Standard Library Compatibility"

CWG motions (C++ IS)

  • Ready issues (P1113R0) and tentatively ready issues (P1114R0) - DRs except 2359
Issue # Status Notes
CWG 2254 ✘ Not done
CWG 2293 ✘ Not done
CWG 2294 ✘ Not done
CWG 2321 ✘ Not done
CWG 2322 ✘ Not done
CWG 2339 ✘ Not done
CWG 2233 ✘ Not done
CWG 2249 ✘ Not done
CWG 2285 ✘ Not done
CWG 2351 ✘ Not done
CWG 2356 ✘ Not done
CWG 2359 ✔ Done not DR
  • P1042R1 (__VA_OPT__ wording clarifications)
  • cpp/preprocessor/replace doesn't cover __VA_OPT__ at the level of detail for which the fixes would be applicable. We don't even have the word "placemarker" anywhere on the page...
  • P0929R2 (Checking for abstract class types) - DR
  • P0732R2 (Class Types in Non-Type Template Parameters)
  • ✔ Done P0542R5 (Support for contract based programming in C++)
  • Core uses contract-level, library uses "assertion-level" => asked LWG & author about intent
  • Implied full set of defaulted SMFs, probably not what we want => asked LWG & author about intent
  • Library wording fails to reserve expects and ensures because they are not technically attribute-tokens => LWG issue 3132
  • P0941R2 (Integrating feature-test macros into the C++ WD (rev. 2))
done
  • ✔ Done P0806R2 (Deprecate implicit capture of this via [=])
  • ✔ No-op P1025R1 (Update The Reference To The Unicode Standard)
  • ✔ Done P0528R3 (The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange)
  • ✔ Done by Cubbi P0722R3 (Efficient sized delete for variable sized classes)
  • ✔ Done P1064R0 (Allowing Virtual Function Calls in Constant Expressions)
  • ✔ Done P1008R1 (Prohibit aggregates with user-declared constructors)
  • ✔ Done P1120R0 (Consistency improvements for <=> and other comparison operators)
  • ✔ Done P0892R2 (explicit(bool))

LWG motions (Parallelism 2 TS)

  • P0964R2 (Finding the right set of traits for simd<T>).
  • P1111R0 (Resolutions to NB Comments on the Parallelism TS v2)
  • P0820R4 (Feedback on P0214).
  • P1118R0 (Concat and Split on simd<> objects).
don't have these

LWG motions (Reflection TS)

LWG motions (Coroutines TS)

  • P0912R2 section "LWG requested edits on 2018-June-08"
  • P0664R4 issue #29

LWG motions (Networking TS)

LWG motions (C++ IS)

  • done except for 3062 (won't fix) and 2139
done
Issue # Status Notes
LWG 2970 ✔ Done
LWG 3058 ✔ Done
LWG 3067 ✔ Done I don't think this requires a DR list.
LWG 3074 ✔ Done
LWG 3076 ✔ Done Rephrased. I find it silly to constrain a constructor for a class template argument that would be UB to use.
LWG 3079 ✔ No-op We did this when applying 2935
LWG 3080 ✔ Done
LWG 3083 ✔ Done
LWG 3094 ✔ Done
LWG 3100 ✔ No-op
LWG 3102 ✔ Done
LWG 3104 ✔ No-op
  • ✔ No-op P0788R3 (Standard Library Specification in a Concepts and Contracts World)
  • ✔ Done P0458R2 (Checking for Existence of an Element in Associative Containers).
  • ✔ Done P0887R1 (The identity metafunction)
  • ✔ Done P0769R2 (Add shift to <algorithm>)
  • ✔ Done P0879R0 (Constexpr for swap and swap related functions) resolves 2800
  • ✔ Done P0758R1 (Implicit conversion traits and utility functions)
  • ✔ Done P1023R0 (constexpr comparison operators for std::array)
  • ✔ Done P0646R1 (Improving the Return Value of Erase-Like Algorithms)
  • ✔ Done P0619R4 (Reviewing Deprecated Facilities of C++17 for C++20)
  • Didn't do the explicit defaulting thing.
  • ✔ Done P0935R0 (Eradicating unnecessarily explicit default constructors from the standard library)
  • ✔ Done P0475R1 (LWG 2511: guaranteed copy elision for piecewise construction)
  • ✔ Done P0476R2 (Bit-casting object representations)
  • ✔ Done P0759R1 (std::fpos Requirements).
  • ✔ Done P0556R3 (Integral power-of-2 operations)
  • ✔ Done P0019R8 (Atomic Ref)
  • ✔ Done P0898R3 (Standard Library Concepts)

JAX 2018 motions not yet applied

  • P0968R0 (Core Language Working Group "tentatively ready" Issues)
Issue # Status Notes
CWG 1893 ✘ Not done
CWG 1910 ✘ Not done
CWG 1983 ✘ Not done
CWG 2059 ✘ Not done
CWG 2081 ✘ Not done
CWG 2088 ✘ Not done
CWG 2092 ✘ Not done
CWG 2164 ✘ Not done
CWG 2226 ✘ Not done
CWG 2227 ✘ Not done
CWG 2229 ✘ Not done
CWG 2234 ✘ Not done
CWG 2235 ✘ Not done
CWG 2237 ✘ Not done not DR
CWG 2255 ✘ Not done
CWG 2260 ✘ Not done
CWG 2299 ✘ Not done
  • P0840R2 (Language support for empty objects)
  • Need to check CIL and maybe other stuff
  • P0780R2 (Allow pack expansion in lambda init-capture)
  • On hold pending possible change to the spelling of reference init-capture pack
  • P0551R3 (Thou Shalt Not Specialize std Function Templates!).
  • P0858R0 (Constexpr iterator requirements).
  • ...this misuses "pseudo-destructor".
  • Also, "constexpr functions"...
  • P0214R9 (Data-Parallel Vector Types & Operations)

Other stuff to do

  • [tab:containers.node.compat] - no row with two multimeows. Intentional (transitivity)?

Misc links