User:T. Canens

  • 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)
  • 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
  • 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)
  • 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.
  • 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 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
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