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