User:T. Canens


On StackOverflow.


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  Not done
LWG 3158  Not done
LWG 3169  Not done
LWG 3186  Not done
LWG 3187  Not done
LWG 3183  Not done
LWG 3184  Not done
LWG 3185  Not done
LWG 3191  Not done
LWG 3196  Not done
LWG 3198  Not done
LWG 3199  Not done
LWG 3202  Not done
LWG 3206  Not done
LWG 3208  Not done
LWG 3209  Not done
  • 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

  • Issues (P1457R0)
Issue # Status Notes
LWG 3012  Not done
LWG 3040  Not done
LWG 3077  Not done
LWG 3087  Not done
LWG 3101  Not done
LWG 3112  Not done
LWG 3119  Not done
LWG 3133  Not done
LWG 3144  Not done
LWG 3173  Not done ranges
LWG 3179  Not done ranges
LWG 3180  Not done ranges
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)
  • P1463R1 (Mandating the Standard Library: Clause 21 - Containers library)
  • P1464R1 (Mandating the Standard Library: Clause 22 - Iterators library)
  • P1164R1 (Make create_directory() Intuitive) (DR)
  • 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 )
  • P1252R2 (Ranges Design Cleanup)
  •  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)
  • 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)
  • Needs a new issue here to follow up on LWG 3008.
  • 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