## C++ Standard Core Language Issue Index by Status, Revision 118

This document contains a summary listing of all the C++ Core Language Issues grouped by status. It is part of a group of related documents that together describe the issues that have been raised regarding the C++ Standard. The other documents in the group are:

- Active Issues List, which contains explanatory material for the entire document group and a list of the issues that have not yet been acted upon by the Committee.
- Defect Reports List, which contains the issues that have been categorized by the Committee as Defect Reports, as well as other issues accepted by the Committee, along with their proposed resolutions.
- Closed Issues List, which contains the issues which the Committee has decided are not defects in the International Standard, including a brief rationale explaining the reason for the decision.
- Table of Contents, which contains a summary listing of all issues in numerical order.
- Index by Section, which contains a summary listing of all issues in the order of the sections of the Standard with which they deal most directly.

For more information, including a description of the meaning of the issue status codes and instructions on reporting new issues, please see the Active Issues List.

Section references in this document reflect the section numbering of document WG21 N5014.

### Index by Status

### Issues with "Ready" Status (count=0):

Issue | Section | Title

### Issues with "Tentatively Ready" Status (count=0):

Issue | Section | Title

### Issues with "Review" Status (count=54):

Issue | Section | Title
1001 | 9.3.4.6 | Parameter type adjustment in dependent parameter types
1027 | 6.8.4 | Type consistency and reallocation of scalar types
1602 | 13.9.2 | Linkage of specialization vs linkage of template arguments
1670 | 9.2.9.7 | `auto` as conversion-type-id
1721 | 11.4.9.3 | Diagnosing ODR violations for static data members
1883 | 11.8.5 | Protected access to constructors in mem-initializers
1897 | 6.3 | ODR vs alternative tokens
1924 | 5.13 | Definition of “literal” and kinds of literals
2228 | 9.3.3 | Ambiguity resolution for cast to function type
2412 | 9.2.9.7 | SFINAE vs undeduced placeholder type
2434 | 6.8.7 | Mandatory copy elision vs non-class objects
2551 | 6.8.4 | "Refers to allocated storage" has no meaning
2553 | 9.3.4.6 | Restrictions on explicit object member functions
2554 | 11.7.3 | Overriding virtual functions, also with explicit object parameters
2557 | 7.6.1.5 | Class member access referring to an unrelated class
2563 | 9.6.4 | Initialization of coroutine result object
2566 | 7.6.2.8 | Matching deallocation for uncaught exception
2572 | 12.3 | Address of overloaded function with no target
2587 | 6.10.2.2 | Visible side effects and initial value of an object
2589 | 13.5.2.3 | Context of access checks during constraint satisfaction checking
2593 | 7.6.4 | Insufficient base class restriction for pointer-to-member expression
2617 | 13.2 | Default template arguments for template members of non-template classes
2677 | 6.8.4 | Replacing union subobjects
2726 | 5.9 | Alternative tokens appearing as attribute-tokens
2737 | 7.5.6.3 | Temporary lifetime extension for reference init-captures
2738 | 7.5.5.2 | "denotes a destructor" is missing specification
2756 | 11.9 | Completion of initialization by delegating constructor
2757 | 11.9.5 | Deleting or deallocating storage of an object during its construction
2778 | 7.7 | Trivial destructor does not imply constant destruction
2797 | 12.2.2.3 | Meaning of "corresponds" for rewritten operator candidates
2800 | 7.7 | Instantiating constexpr variables for potential constant evaluation
2808 | 13.9.2 | Explicit specialization of defaulted special member function
2816 | 6.10.2.3 | Unclear phrasing "may assume ... eventually"
2821 | 6.8.4 | Lifetime, zero-initialization, and dynamic initialization
2827 | 6.9.2 | Representation of unsigned integral types
2833 | 6.10.3.3 | Evaluation of odr-use
2834 | 13.7.7.3 | Partial ordering and explicit object parameters
2847 | 13.9.4 | Constrained explicit specializations of function templates at class scope
2862 | 13.1 | Unclear boundaries of template declarations
2875 | C.7.4 | Missing support for round-tripping null pointer values through indirection/address operators
2885 | 11.4.5.2 | Non-eligible trivial default constructors
2888 | 6.5.4 | Missing cases for reference and array types for argument-dependent lookup
2896 | 13.10.3 | Template argument deduction involving exception specifications
2902 | 7.5.5.1 | Implicit `this` transformation outside of permitted contexts
2914 | 6.10.3.2 | Unclear order of initialization of static and thread-local variables
2916 | 13.7.6 | Variable template partial specializations should not be declared `static`
2917 | 13.1 | Disallow multiple friend-type-specifiers for a friend template
2923 | 6.10.2.3 | Note about infinite loops and execution steps
2929 | 6.10.3.4 | Lifetime of trivially-destructible static or thread-local objects
2932 | 9.8.1 | Value range of empty enumeration
2940 | 6.8.2 | Definition of "object"
2976 | 8.10 | Transferring control out of a function
2977 | 9.5.1 | Initialization with string literals
3022 | 11.4.7 | Redundant specification of explicit destructor calls

### Issues with "Drafting" Status (count=128):

Issue | Section | Title
2 | 13.8.4 | How can dependent names be used in member declarations that appear outside of the class template definition?
205 | 13 | Templates and static data members
287 | 13.8.4.1 | Order dependencies in template instantiation
549 | 13.7.6.2 | Non-deducible parameters in partial specializations
1092 | 11.4.5.3 | Cycles in overload resolution during instantiation
1172 | 13.10.3 | “instantiation-dependent” constructs
1255 | 7.7 | Definition problems with `constexpr` functions
1278 | 12.2.2.2.2 | Incorrect treatment of contrived object
1304 | 9.5.3 | Omitted array bound with string initialization
1322 | 13.10.3 | Function parameter type decay in templates
1348 | 9.2.9.7 | Use of `auto` in a trailing-return-type
1390 | 13.8.3.2 | Dependency of alias template specializations
1414 | 9.5.4 | Binding an rvalue reference to a reference-unrelated lvalue
1444 | 13.2 | Type adjustments of non-type template parameters
1463 | 13.1 | `extern "C"` alias templates
1485 | 9.8.1 | Out-of-class definition of member unscoped opaque enumeration
1486 | 13.10.3.3 | Base-derived conversion in member pointer deduction
1488 | 9.3.2 | abstract-pack-declarators in type-ids
1513 | 13.10.3.2 | `initializer_list` deduction failure
1524 | 13.8.3.2 | Incompletely-defined class template base
1529 | 6.1 | Nomenclature for variable vs reference non-static data member
1530 | 6.8.4 | Member access in out-of-lifetime objects
1536 | 12.2.4.2.6 | Overload resolution with temporary from initializer list
1554 | 13.7.8 | Access and alias templates
1580 | 9.3.4.7 | Default arguments in explicit instantiations
1582 | 13.10.3 | Template default arguments and deduction failure
1584 | 13.10.3.2 | Deducing function types from cv-qualified types
1594 | 11.4.5.3 | Lazy declaration of special members vs overload errors
1610 | 13.10.3.5 | Cv-qualification in deduction of reference to array
1623 | 11.4.5 | Deleted default union constructor and member initializers
1635 | 13.2 | How similar are template default arguments to function default arguments?
1647 | 13.7.6 | Type agreement of non-type template arguments in partial specializations
1665 | 13.9.3 | Declaration matching in explicit instantiations
1668 | 9.3.4.6 | Parameter type determination still not clear enough
1676 | 6.8.6.5.2 | `auto` return type for allocation and deallocation functions
1680 | 8.6.5 | Including `<initializer_list>` for range-based `for`
1702 | 11.5 | Rephrasing the definition of “anonymous union”
1706 | 9.13.1 | `alignas` pack expansion syntax
1730 | 13.7 | Can a variable template have an unnamed type?
1755 | 13.7.6.4 | Out-of-class partial specializations of member templates
1808 | 11.4.5 | Constructor templates vs default constructors
1827 | 9.5.4 | Reference binding with ambiguous conversions
1840 | 13.9.4 | Non-deleted explicit specialization of deleted function template
1845 | 13.8.4.1 | Point of instantiation of a variable template specialization
1854 | 9.6.2 | Disallowing use of implicitly-deleted functions
1890 | 11.4 | Member type depending on definition of member function
1979 | 13.7.8 | Alias template specialization in template member definition
1980 | 13.7.8 | Equivalent but not functionally-equivalent redeclarations
1986 | 6.10.3.2 | odr-use and delayed initialization
1989 | 12.4 | Insufficient restrictions on parameters of postfix operators
1996 | 9.5.5 | Reference list-initialization ignores conversion functions
2003 | 15.7 | Zero-argument macros incorrectly specified
2013 | 7.6.6 | Pointer subtraction in large array
2023 | 7.6.16 | Composite reference result type of conditional operator
2028 | 12.2.2.7 | Converting constructors in rvalue reference initialization
2037 | 13.6 | Alias templates and template declaration matching
2042 | 6.8.6.5.3 | Exceptions and deallocation functions
2043 | 13.4.3 | Generalized template arguments and array-to-pointer decay
2055 | 13.10.2 | Explicitly-specified non-deduced parameter packs
2057 | 13.4.4 | Template template arguments with default arguments
2074 | 13.8.3.2 | Type-dependence of local class of function template
2077 | 12.2.4.2.5 | Overload resolution and invalid rvalue-reference initialization
2086 | 7.5.6.3 | Reference odr-use vs implicit capture
2089 | 12.2.2.3 | Restricting selection of builtin overloaded operators
2108 | 12.2.2.7 | Conversions to non-class prvalues in reference initialization
2110 | 12.2.4.3 | Overload resolution for base class conversion and reference/non-reference
2127 | 13.7.6 | Partial specialization and nullptr
2131 | 9.8.1 | Ambiguity with opaque-enum-declaration
2148 | 6.10.3.2 | Thread storage duration and order of initialization
2158 | 11.4.7 | Polymorphic behavior during destruction
2166 | 7.7 | Unclear meaning of “undefined `constexpr` function”
2172 | 14.4 | Multiple exceptions with one exception object
2179 | 13.7.6.1 | Required diagnostic for partial specialization after first use
2182 | 7.6.6 | Pointer arithmetic in array-like containers
2187 | 11.8.5 | Protected members and access via qualified-id
2194 | 12.2.2.8 | Impossible case in list initialization
2202 | 13.9.2 | When does default argument instantiation occur?
2203 | 11.4.5.3 | Defaulted copy/move constructors and UDCs
2219 | 14.4 | Dynamically-unreachable handlers
2222 | 13.9.2 | Additional contexts where instantiation is not required
2223 | 9.13.2 | Multiple `alignas` specifiers
2236 | 13.7.8 | When is an alias template specialization dependent?
2243 | 7.6.1.9 | Incorrect use of implicit conversion sequence
2245 | 13.8.4.1 | Point of instantiation of incomplete class template
2246 | 11.8.3 | Access of indirect virtual base class constructors
2263 | 13.9.2 | Default argument instantiation for `friend`s
2264 | 11.4.5.3 | Memberwise copying with indeterminate value
2265 | 13.9.2 | Delayed pack expansion and member redeclarations
2275 | 13.8.3.3 | Type-dependence of function template
2281 | 7.6.2.8 | Consistency of aligned `operator delete` replacement
2316 | 7.6.16 | Simplifying class conversions in conditional expressions
2319 | 12.2.4.2 | Nested brace initialization from same type
2324 | 6.8.2 | Size of base class subobject
2325 | 6.8.2 | `std::launder` and reuse of character buffers
2327 | 9.5 | Copy elision for direct-initialization with a conversion function
2328 | 13.10.3.6 | Unclear presentation style of template argument deduction rules
2335 | 11.4.9.3 | Deduced return types vs member types
2395 | 13.2 | Parameters following a pack expansion
2398 | 13.4.4 | Template template parameter matching and deduction
2401 | 13.4.3 | Array decay vs prohibition of subobject non-type arguments
2403 | 11.9.3 | Temporary materialization and base/member initialization
2409 | 13.9.4 | Explicit specializations of constexpr static data members
2421 | 13.9.3 | Explicit instantiation of constrained member functions
2444 | 6.10.3.3 | Constant expressions in initialization odr-use
2467 | 12.2.2.9 | CTAD for alias templates and the deducible check
2469 | 6.8.2 | Implicit object creation vs constant expressions
2471 | 12.2.2.9 | Nested class template argument deduction
2480 | 6.5.1 | Lookup for enumerators in modules
2487 | 13.8.3.3 | Type dependence of function-style cast to incomplete array type
2497 | 13.8.4.1 | Points of instantiation for constexpr function templates
2501 | 13.9.3 | Explicit instantiation and trailing requires-clauses
2503 | 7.5.5 | Unclear relationship among name, qualified name, and unqualified name
2505 | 9.9.2.2 | Nested unnamed namespace of inline unnamed namespace
2537 | 9.3.4.6 | Overbroad grammar for parameter-declaration
2555 | 9.10 | Ineffective redeclaration prevention for using-declarators
2564 | 12.2.2.2.3 | Conversion to function pointer with an explicit object parameter
2596 | 13.9.2 | Instantiation of constrained non-template friends
2607 | 10.2 | Visibility of enumerator names
2623 | 7.6.2.8 | Invoking destroying `operator delete` for constructor failure
2632 | 3 | 'user-declared' is not defined
2656 | 7.7 | Converting consteval lambda to function pointer in non-immediate context
2742 | 9.5.5 | Guaranteed copy elision for brace-initialization from prvalue
2799 | 11.4.5.2 | Inheriting default constructors
2826 | 6.8.7 | Missing definition of "temporary expression"
2863 | 6.8.4 | Unclear synchronization requirements for object lifetime rules
2903 | 13.3 | Can we omit the `template` disambiguator in nested-name-specifiers in type-only contexts?
2926 | 6.5.5.1 | Lookup context for dependent qualified names
3029 | 6.8.3 | Confusing note about ordinary character types for aligned memory areas

### Issues with "Open" Status (count=357):

Issue | Section | Liaison | Title
57 | 11.5 | Empty unions
144 | 9.2.9.5 | Position of `friend` specifier
146 | 6.9.2 | Floating-point zero
157 | 9.1 | Omitted typedef declarator
186 | 13.8.2 | Name hiding and template template-parameters
189 | 5.8 | Definition of operator and punctuator
196 | 7.6.2.9 | Arguments to deallocation functions
251 | 6.9.2 | How many signed integer types are there?
260 | 12.5 | User-defined conversions and built-in `operator=`
264 | 13.10.2 | Unusable template constructors and conversion functions
267 | 7.6.2.8 | Alignment requirement for new-expressions
268 | 15.7.5 | Macro name suppression in rescanned replacement text
282 | 7.6.1.8 | Namespace for `extended_type_info`
293 | 13.9.3 | Syntax of explicit instantiation/specialization too permissive
310 | 13.7.7.2 | Can function templates differing only in parameter cv-qualifiers be overloaded?
325 | 9.3.4.7 | When are default arguments parsed?
350 | 6.9 | `signed char` underlying representation for objects
361 | 9.3.4.7 | Forward reference to default argument
365 | 6.8.6 | Storage duration and temporaries
369 | 5.5 | Are `new`/`delete` identifiers or preprocessing-op-or-punc?
371 | 6.10.3.2 | Interleaving of constructor calls
380 | 6.5.2 | Definition of "ambiguous base class" missing
402 | 13.7.7.3 | More on partial ordering of function templates
419 | 6.8.4 | Can cast to virtual base class be done on partially-constructed object?
472 | 11.8.5 | Casting across protected inheritance
498 | 9.2.2 | Storage class specifiers in definitions of class members
503 | 13.10.3.2 | Cv-qualified function types in template argument deduction
511 | 11.2 | POD-structs with template assignment operators
523 | 6.8.6.5.3 | Can a one-past-the-end pointer be invalidated by deleting an adjacent object?
529 | 13.9.4 | Use of `template<>` with “explicitly-specialized” class templates
545 | 12.2.2.3 | User-defined conversions and built-in operator overload resolution
579 | 13.3 | What is a “nested” `>` or `>>`?
697 | 13.10.3 | Deduction rules apply to more than functions
698 | 6.10.1 | The definition of “sequenced before” is too narrow
708 | 13.7.6 | Partial specialization of member templates of class templates
742 | 7.6.1.6 | Postfix increment/decrement with long bit-field operands
783 | 3 | Definition of “argument”
813 | 9.10 | `typename` in a using-declaration with a non-dependent name
897 | 15.13 | `_Pragma` and extended string-literals
901 | 7.6.2.8 | Deleted `operator delete`
914 | 7.6.1.4 | Value-initialization of array types
925 | 15.2 | Type of character literals in preprocessor expressions
949 | 4.1 | Requirements for freestanding implementations
954 | 12.5 | Overload resolution of conversion operator templates with built-in types
1046 | 13.9.3 | What is a “use” of a class specialization?
1049 | 11.9.6 | Copy elision through reference parameters of inline functions
1089 | 6.5.5.1 | Template parameters in member selections
1157 | 13.7.7.3 | Partial ordering of function templates is still underspecified
1209 | 6.3 | Is a potentially-evaluated expression in a template definition a “use?”
1211 | 6.8.3 | Misaligned lvalues
1221 | 13.10.3.5 | Partial ordering and reference collapsing
1248 | C.7 | Updating Annex C to C99 and C23
1256 | 7.7 | Unevaluated operands are not necessarily constant expressions
1257 | 13.8 | Instantiation via non-dependent references in uninstantiated templates
1266 | 5.13.9 | user-defined-integer-literal overflow
1279 | C.6 | Additional differences between C++ 2003 and C++ 2011
1283 | 11.4.9.3 | Static data members of classes with typedef name for linkage purposes
1286 | 13.7.8 | Equivalence of alias templates
1294 | 6.10.3.2 | Side effects in dynamic/static initialization
1404 | 11.5 | Object reallocation in unions
1430 | 13.7.8 | Pack expansion into fixed alias template parameter list
1432 | 13.7.4 | Newly-ambiguous variadic template expansions
1436 | 15.2 | Interaction of constant expression changes with preprocessor expressions
1459 | 12.2.4.3 | Reference-binding tiebreakers in overload resolution
1517 | 11.9.5 | Unclear/missing description of behavior during construction/destruction
1542 | 7.6.19 | Compound assignment of braced-init-list
1548 | 11.4.5.3 | Copy/move construction and conversion functions
1549 | 12.4.3 | Overloaded comma operator with `void` operand
1609 | 9.3.4.7 | Default arguments and function parameter packs
1617 | 9.13.2 | `alignas` and non-defining declarations
1619 | 13.8.3.2 | Definition of current instantiation
1620 | 12.6 | User-defined literals and extended integer types
1625 | 15.7.3 | Adding spaces between tokens in stringizing
1628 | 7.6.2.8 | Deallocation function templates
1634 | 6.8.6 | Temporary storage duration
1655 | 5.5 | Line endings in raw string literals
1659 | 6.10.3.2 | Initialization order of thread_local template static data members
1682 | 6.8.6.5.2 | Overly-restrictive rules on function templates as allocation functions
1699 | 11.8.4 | Does befriending a class befriend its friends?
1701 | 6.9 | Array vs sequence in object representation
1709 | 15.7.3 | Stringizing raw string literals containing newline
1718 | 15.7 | Macro invocation spanning end-of-file
1723 | 5.13.9 | Multicharacter user-defined character literals
1735 | 5.13.9 | Out-of-range literals in user-defined-literals
1763 | 13.10.3.6 | Length mismatch in template type deduction
1789 | 12.2.4.3 | Array reference vs array decay in overload resolution
1790 | 9.3.4.6 | Ellipsis following function parameter pack
1817 | 9.12 | Linkage specifications and nested scopes
1842 | 6.10.2 | Unevaluated operands and “carries a dependency”
1844 | 13.10.3 | Defining “immediate context”
1856 | 13.9.2 | Indirect nested classes of class templates
1868 | 9.2.9.7 | Meaning of “placeholder type”
1889 | 15.10 | Unclear effect of `#pragma` on conformance
1901 | 5.10 | punctuator referenced but not defined
1915 | 11.9.3 | Potentially-invoked destructors in non-throwing constructors
1919 | 12.2.2.3 | Overload resolution for `!` with explicit conversion operator
1939 | 13.10.3.2 | Argument conversions to nondeduced parameter types revisited
1944 | Annex C | New C incompatibilities
1962 | 9.6.1 | Type of `__func__`
1977 | 11.4.7 | Contradictory results of failed destructor lookup
1993 | 13.9.4 | Use of `template<>` defining member of explicit specialization
2002 | 15.1 | White space within preprocessing directives
2048 | 7.6.1.9 | C-style casts that cast away constness vs `static_cast`
2056 | 11.9.3 | Member function calls in partially-initialized class objects
2067 | 13.8 | Generated variadic templates requiring empty pack
2073 | 6.8.6.5.2 | Allocating memory for exception objects
2090 | 13.8.3.7 | Dependency via non-dependent base class
2105 | 13.4 | When do the arguments for a parameter pack end?
2115 | 8.8 | Order of implicit destruction vs release of automatic storage
2118 | 13.7.5 | Stateful metaprogramming via friend injection
2123 | 8.10 | Omitted constant initialization of local static variables
2128 | 9.5.2 | Imprecise rule for reference member initializer
2160 | 13.7.7.3 | Issues with partial ordering
2168 | 9.5.5 | Narrowing conversions and +/- infinity
2169 | 12.2.4.2.6 | Narrowing conversions and overload resolution
2173 | 13.7.6 | Partial specialization with non-deduced contexts
2188 | 11.4.1 | empty-declaration grammar ambiguity
2189 | 12.2.2.2.3 | Surrogate call template
2190 | 15.2 | Insufficient specification of `__has_include`
2192 | 7.7 | Constant expressions and order-of-eval undefined behavior
2195 | 9.2.9.2 | Unsolicited reading of trailing volatile members
2232 | 9.2.2 | `thread_local` anonymous unions
2244 | 11.8.5 | Base class access in aggregate initialization
2250 | 13.8.4.1 | Implicit instantiation, destruction, and TUs
2258 | 6.8.4 | Storage deallocation during period of destruction
2284 | 7.6.1.3 | Sequencing of braced-init-list arguments
2296 | 13.10.3 | Are default argument instantiation failures in the “immediate context”?
2297 | 6.10.2.2 | Unclear specification of atomic operations
2298 | 6.10.2.2 | Actions and expression evaluation
2301 | 7.7 | Value-initialization and constexpr constructor evaluation
2311 | 12.2.2.8 | Missed case for guaranteed copy elision
2329 | 11.4.6 | Virtual base classes and generated assignment operators
2334 | 6.8.2 | Creation of objects by `typeid`
2337 | 12.2.4.3 | Incorrect implication of logic ladder for conversion sequence tiebreakers
2340 | 9.7 | Reference collapsing and structured bindings
2361 | 17.14.3 | Unclear description of `longjmp` undefined behavior
2362 | 9.6.1 | `__func__` should be `constexpr`
2417 | 14.5 | Explicit instantiation and exception specifications
2425 | 12.2.2.9 | Confusing wording for deduction from a type
2435 | 13.9 | Alias template specializations
2438 | 7.3.6 | Problems in the specification of qualification conversions
2456 | 7.7 | Viable user-defined conversions in converted constant expressions
2462 | 13.8.1 | Problems with the omission of the `typename` keyword
2463 | 11.2 | Trivial copyability and unions with non-trivial members
2468 | 13.8.1 | Omission of the `typename` keyword in a member template parameter list
2473 | 7.5.5.5 | Parentheses in pseudo-destructor calls
2488 | 6.4.1 | Overloading virtual functions and functions with trailing requires-clauses
2492 | 12.2.4.2.6 | Comparing user-defined conversion sequences in list-initialization
2495 | 8.8.4 | Glvalue result of a function call
2498 | 13.10.3.1 | Partial specialization failure and the immediate context
2513 | 11.4.8.3 | Ambiguity with requires-clause and operator-function-id
2514 | 6.8.4 | Modifying const subobjects
2515 | 7.6.1.3 | Result of a function call
2522 | 15.7.4 | Removing placemarker tokens and retention of whitespace
2525 | 12.2.4.2.1 | Incorrect definition of implicit conversion sequence
2532 | 7.6.2.8 | Kind of pointer value returned by `new T[0]`
2536 | 7.7 | Partially initialized variables during constant initialization
2541 | 10.1 | Linkage specifications, module purview, and module attachment
2544 | 6.9.4 | Address of past-the-end of a potentially-overlapping subobject
2545 | 7.7 | Transparently replacing objects in constant expressions
2559 | 7.7 | Defaulted consteval functions
2562 | 9.6.4 | Exceptions thrown during coroutine startup
2565 | 7.5.8.1 | Invalid types in the parameter-declaration-clause of a requires-expression
2575 | 15.2 | Undefined behavior when macro-replacing "defined" operator
2576 | 15.3 | Undefined behavior with macro-expanded `#include` directives
2577 | 15.7.1 | Undefined behavior for preprocessing directives in macro arguments
2578 | 15.7.3 | Undefined behavior when creating an invalid string literal via stringizing
2579 | 15.7.4 | Undefined behavior when token pasting does not create a preprocessing token
2580 | 15.8 | Undefined behavior with `#line`
2581 | 15.12 | Undefined behavior for predefined macros
2584 | 13.7.7.2 | Equivalent types in function template declarations
2592 | 7.6.2.8 | Missing definition for placement allocation/deallocation function
2609 | 7.6.2.5 | Padding in class types
2633 | 7.7 | typeid of constexpr-unknown dynamic type
2660 | 7.6.1.3 | Confusing term "this parameter"
2666 | 6.8.7 | Lifetime extension through `static_cast`
2669 | 11.9.3 | Lifetime extension for aggregate initialization
2670 | 6.7 | Programs and translation units
2671 | 9.3.4.1 | friend named by a template-id
2675 | 11.5.1 | `start_lifetime_as`, placement-new, and active union members
2676 | 6.8.4 | Replacing a complete object having base subobjects
2679 | 12.2.4.2.1 | Implicit conversion sequence with a null pointer constant
2680 | 12.2.2.9 | Class template argument deduction for aggregates with designated initializers
2684 | 6.10.3.3 | thread_local dynamic initialization
2686 | 13.5.2 | Pack expansion into a non-pack parameter of a concept
2688 | 7.6.1.3 | Calling explicit object member functions
2693 | 15.8 | Escape sequences for the string-literal of `#line`
2694 | 15.13 | string-literals of the `_Pragma` operator
2701 | 9.3.4.7 | Default arguments in multiple scopes / inheritance of array bounds in the same scope
2702 | 7.7 | Constant destruction of reference members
2704 | 9.5.4 | Clarify meaning of "bind directly"
2705 | 7.6.1.5 | Accessing ambiguous subobjects
2706 | 6.7 | Repeated structured binding declarations
2727 | 10.3 | Importing header units synthesized from source files
2730 | 12.2.2.3 | Comparison templates on enumeration types
2731 | 12.2.4.2.3 | List-initialization sequence with a user-defined conversion
2734 | 7.7 | Immediate forward-declared function templates
2735 | 12.2.4 | List-initialization and conversions in overload resolution
2736 | 11.2 | Standard layout class with empty base class also in first member
2739 | 7.5.8.5 | Nested requirement not a constant expression
2740 | 7.7 | Too many objects have constexpr-unknown type
2741 | 12.2.4.2.6 | Implicit conversion sequence from empty list to array of unknown bound
2743 | 11.4.5.3 | Copying non-trivial objects nested within a union
2744 | 6.8.2 | Multiple objects of the same type at the same address
2752 | 5.13.4 | Excess-precision floating-point literals
2765 | 6.8.2 | Address comparisons between potentially non-unique objects during constant evaluation
2766 | 5.13.5 | Repeated evaluation of a string-literal may yield different objects
2767 | 11.5.2 | Non-defining declarations of anonymous unions
2769 | 13.10.3.1 | Substitution into template parameters and default template arguments should be interleaved
2770 | 13.10.3.1 | Trailing requires-clause can refer to function parameters before they are substituted into
2773 | 11.5.2 | Naming anonymous union members as class members
2774 | 13.8.3.4 | Value-dependence of requires-expressions
2776 | 4.1.1 | Substitution failure and implementation limits
2779 | 5.3.1 | Restrictions on the ordinary literal encoding
2781 | 6.3 | Unclear recursion in the one-definition rule
2782 | 6.3 | Treatment of closure types in the one-definition rule
2784 | 17.2.4 | Unclear definition of member-designator for `offsetof`
2786 | 7.6.10 | Comparing pointers to complete objects
2787 | 11.4.4 | Kind of explicit object copy/move assignment function
2788 | 6.4.1 | Correspondence and redeclarations
2790 | 12.2.4.2.6 | Aggregate initialization and user-defined conversion sequence
2794 | 13.7.8 | Uniqueness of lambdas in alias templates
2802 | 9.3.4.6 | Constrained `auto` and redeclaration with non-abbreviated syntax
2804 | 12.2.2.3 | Lookup for determining rewrite targets
2805 | 7.6.2.9 | Underspecified selection of deallocation function
2812 | 7.6.2.8 | Allocation with explicit alignment
2817 | 7.6.2.5 | sizeof(abstract class) is underspecified
2829 | 12.2.4.2.1 | Redundant case in restricting user-defined conversion sequences
2832 | 6.8.7 | Invented temporary variables and temporary objects
2835 | 6.4.1 | Name-independent declarations
2837 | 11.4.5.3 | Instantiating and inheriting by-value copy constructors
2838 | 6.4.3 | Declaration conflicts in lambda-expressions
2839 | 11.4.7 | Explicit destruction of base classes
2840 | 6.8.3 | Missing requirements for fundamental alignments
2841 | 11.4.5.1 | When do const objects start being const?
2842 | 12.2.4.3 | Preferring an `initializer_list` over a single value
2844 | 12.2.2.3 | Enumerating a finite set of built-in candidates
2852 | 11.4.1 | Complete-class contexts and class-scope lambdas
2866 | 9.13 | Observing the effects of `[[no_unique_address]]`
2868 | 6.8.7 | Self-references in trivially copyable objects as function return values
2873 | 12.3 | Taking the address of a function involving template argument deduction
2878 | 7.6.3 | C-style casts to reference types
2889 | 7.6.2.9 | Requiring an accessible destructor for destroying operator delete
2897 | 11.4.6 | Copying potentially-overlapping union subobjects
2900 | 13.10.3.6 | Deduction of non-type template arguments with placeholder types
2904 | 13.1 | Introducing template-names
2912 | 7.6.2.8 | Too-large value for size in array new
2920 | 13.3 | The `template` keyword for base classes
2928 | 6.10.3.3 | No ordering for initializing thread-local variables
2934 | 9.6.4 | Unclear semantics of exception escaping from `unhandled_exception`
2935 | 9.6.4 | Destroying the coroutine state when initial-await-resume-called is false
2938 | 6.7 | Inheriting linkage from a previous declaration
2941 | 6.8.7 | Lifetime extension for function-style cast to reference type
2942 | 9.3.4.6 | Packs in a function's parameter-type-list
2945 | 6.7 | Redundant constraints on matching function template declarations
2946 | 13.7.7.2 | Dependent call equivalence in non-ADL cases
2947 | 15.5 | Limiting macro expansion in pp-module
2948 | 13.7.6.1 | Late ambiguity for partial template specialization
2949 | 13.7.7.3 | Treatment of ellipsis during partial ordering
2950 | 11.4.10 | Value preservation in enumeration vs. integer bit-fields
2951 | 13.7.1 | Distinguishing a primary template
2952 | 6.8.4 | Vacuous initialization for subobjects
2953 | 6.9.1 | Value representation for non-trivially-copyable types
2955 | 6.10.1 | Unify rules about conflicting unordered accesses
2956 | 6.5.5.1 | Missing allowance for pseudo-destructors in qualified lookup
2957 | 7.6.1.5 | Evaluating a reference member should constitute access
2958 | 12.2.4.3 | Overload resolution involving lvalue transformation and qualification conversion
2959 | 7.6.1.5 | Naming enumerators in class member access expressions
2960 | 6.8.4 | Introduce discontiguous object lifetime
2961 | 13.5 | Checking of ill-formed types in constraint-expressions
2962 | 7.7 | Evaluation of destructor call for variable with constant destruction
2963 | 8.11 | Paradoxical variable-or-function declaration
2964 | 7.3.2 | Reading "invalid pointer values"
2965 | 6.4.9 | Generic lambdas do not have a template parameter scope
2966 | 6.9.2 | Alignment and value representation of `std::nullptr_t`
2967 | 12.2.2.7 | Explicit conversion functions
2968 | 6.5.1 | Name lookup result for typedef-name vs. class-name
2969 | 6.4 | Scopes in the function-try-block of a constructor
2971 | 10.4 | Specializations for a class are not decl-reachable
2972 | 7.5.5.3 | Declarative nested-name-specifier naming a partial specialization
2973 | 9.2.4 | Does an alias-declaration introduce a name for linkage purposes?
2974 | 13.10.3.6 | Non-deduced context for qualified-id naming a template
2975 | 13.5.4 | Effect of concept template-head on parameter mappings
2978 | 13.10.3.2 | Deduction involving reference to similar types
2979 | 11.4.1 | Duplicate declarations of enumerations in class scope
2980 | 13.3 | Constraints on template template parameters
2981 | 7.4 | Usual arithmetic conversions and result types
2983 | 6.1 | Non-type template parameters are not variables
2984 | 13.8.3.4 | Value-dependent structured bindings
2986 | 6.8.4 | Creating objects within a mutable member of a const object
2988 | 6.7 | Is a closure type from a lambda-expression appearing in a concept-definition a TU-local entity?
2989 | 7.5.4 | Remove misleading general allowance for parentheses
2991 | 9.5.1 | "array size" is vague
2992 | 6.1 | Labels do not have names
2993 | 9.6.1 | Body of a destructor
2994 | 13.2 | Allowing template parameters following template parameter packs that are pack expansions
2995 | 8.8.4 | Meaning of flowing off the end of a function
2996 | 13.5.2.3 | Impenetrable definition of atomic constraint
2997 | 9.6.2 | Defaulted functions with deleted definition
2998 | 13.10.3.5 | Missing deduction consistency check for partial ordering
2999 | 11.4.5.2 | Trivial unions changing existing behavior
3000 | 7.6.16 | Handling of cv-qualified class types in conditional operator
3001 | 6.8.4 | Inconsistent restrictions for `static_cast` on pointers to out-of-lifetime objects
3002 | 13.8.3.7 | Template parameter/argument confusion
3003 | 9.2.9.3 | Naming a deducible template for class template argument deduction
3004 | 7.7 | Pointer arithmetic on array of unknown bound
3005 | 6.4.1 | Function parameters should never be name-independent
3006 | 13.9.3 | Vague restrictions for explicit instantiations of class templates
3007 | 11.10.1 | Access checking during synthesis of defaulted comparison operator, take 2
3008 | C.7.6 | Missing Annex C entry for `void` object declarations
3009 | 7.7 | Unclear rules for constant initialization
3010 | 7.7 | constexpr placement-new should require transparent replaceability
3011 | 7.6.2.8 | Parenthesized aggregate initialization for new-expressions
3012 | 9.2.6 | Deviating `constexpr` or `consteval` across translation units
3017 | 15.2 | Commas in controlling expression of conditional inclusion
3019 | 5.6 | Restrictions on character sequences in header-names
3021 | 13.5.5 | Subsumption rules for fold expanded constraints
3023 | 9.5.5 | Default arguments in list-initialization
3024 | 9.13.2 | Alignment of references
3025 | 6.8.6.5.3 | Deallocation functions returning void
3026 | 7.6.2.2 | Class for pointer-to-member formation
3027 | 13.6 | Equivalence of pack-index-specifiers
3028 | 9.10 | A using-declarator should bind a name
3030 | 9.3.4.5 | Initializing array prvalues of unknown bound
3031 | 12.2.2.1 | Finding declarations for conversion operators for access checking
3032 | 13.4.1 | Template argument disambiguation
3033 | 6.4.6 | Scope after declarator-id before determining correspondence
3034 | 13.9.2 | Infinite recursion should hit an implementation limit
3035 | 11.5.2 | Lambda expressions in anonymous unions
3036 | 6.9.3 | Extended floating-point types should not be cv-qualified
3037 | 9.10 | Name lookup results for using-declarators
3038 | 9.13.1 | Ignorability of attributes, again
3039 | 6.8.2 | Undefined behavior from implicit object creation ignores observable checkpoints
3040 | 9.6.4 | Mishandling of lambda coroutines
3041 | 11.4.7 | Overly aggressive rule for deleting the destructor of a union
3042 | 7.2.1 | Implicit object creation is insufficient to model effective type rule of C
3043 | 6.8.7 | Lifetime extension for temporaries in expansion statements
3044 | 8.7 | Iterating expansion statements woes
3045 | 6.4.3 | Regularizing environment interactions of expansion statement
3046 | 9.8.1 | Enumerations as part of the common initial sequence
3047 | 6.8.4 | Calling destructors on out-of-lifetime objects
3048 | 8.7 | Empty destructuring expansion statements
3049 | 11.2 | Implicitly deleted move operation should not disable trivial relocation
3050 | 9.13.4 | [[deprecated]] for class template partial specializations
3051 | 11.4.1 | Missing specification for types of member subobjects
3052 | 8.8.4 | Unclear handling of checks on discarded `return` statements
3053 | 15.7.1 | Allowing `#undef likely`
3054 | 7.6.1.3 | Use of default arguments depending on shape of postfix-expression in a function call
3055 | 12.2.2.2.3 | Misleading body for surrogate call function
3056 | 7.5.8.3 | Missing semicolons in grammar for type-requirement
3057 | 12.2.4.2.5 | Ranking of derived-to-base conversions should ignore reference binding
3058 | 6.5.1 | "Program point" is not defined
3059 | 7.7 | `throw;` in constant expressions
3060 | 6.10.3.1 | Change in behavior for `noexcept` `main`
3061 | 8.7 | Trailing comma in an expansion-init-list
3062 | 9.3.4.7 | Overlapping specification of default template arguments
3063 | 6.8.7 | Lifetime extension of temporaries past function return

### Issues with "Dup" Status:

Issue | Section | Title
12 | 6.5.4 | Default arguments on different declarations for the same function and the Koenig lookup
15 | 9.3.4.7 | Default arguments for parameters of function templates
72 | 13 | Linkage and storage class specifiers for templates
79 | 17.6.3.4 | Alignment and placement new
82 | 6.3 | Definition of "using" a constant expression
133 | 14.5 | Exception specifications and checking
155 | 9.5 | Brace initializer for scalar
200 | 13.7.7.3 | Partial ordering and explicit arguments
265 | 7.6.2.9 | Destructors, exceptions, and deallocation
313 | 7.6.2.8 | Class with single conversion function to integral as array size in `new`
321 | 6.5.4 | Associated classes and namespaces for argument-dependent lookup
375 | 13.8 | Confusing example on lookup with `typename`
507 | 12.5 | Ambiguity assigning class object to built-in type
548 | 9.3.4 | qualified-ids in declarations
550 | 9.3.4.6 | Pointer to array of unknown bound in parameter declarations
595 | 14.5 | Exception specifications in templates instantiated from class bodies
747 | 11.8.3 | Access of protected base classes
839 | 7.6.2.5 | `sizeof` with opaque enumerations
998 | 9.3.4.6 | Function parameter transformations and template functions
1019 | 11.7 | Dependent simple-template-ids in base-specifiers and mem-initializers
1023 | 13.4.3 | `thread_local` objects as non-type template arguments
1039 | 9.13.2 | Coordinating C and C++ alignment specifications
1041 | 11.4 | alias-declarations as class members
1052 | 11.4.5.3 | `const` non-static data member and PODness
1203 | 11.4.9.3 | Misleading note regarding initialized static data members
1205 | 12.2.4.2.5 | Lvalue reference binding and function viability
1230 | 7.6.2.2 | Confusing description of ambiguity of destructor name
1300 | 7.6.1.4 | `T()` for array types
1326 | 13.10.3.2 | Deducing an array bound from an initializer-list
1337 | 13.10.3.5 | Partial ordering and non-deduced parameters
1349 | 13.7.8 | Consistency of alias template redeclarations
1373 | 12.2.2.7 | Overload resolution changes matching reference-binding changes
1377 | C.6 | Access declarations not mentioned in Annex C
1422 | 5.13.3 | Type of character literals containing universal-character-names
1445 | 8.6.5 | Argument-dependent lookup of `begin` and `end`
1498 | 8.6.5 | Lifetime of temporaries in range-based `for`
1505 | 9.5.5 | Direct binding of reference to temporary in list-initialization
1521 | 7.6.1.4 | `T{`expr`}` with reference types
1526 | 13.8.3 | Dependent-class lookup in the current instantiation
1534 | 7.2.1 | cv-qualification of prvalue of type “array of class”
1568 | 6.8.7 | Temporary lifetime extension with intervening cast
1626 | 7.7 | `constexpr` member functions in brace-or-equal-initializers
1654 | 6.9 | Literal types and `constexpr` defaulted constructors
1713 | 9.12 | Linkage of variable template specializations
1853 | 6.8.4 | Defining “allocated storage”
1855 | 11.9.5 | Out-of-lifetime access to nonstatic data members
1927 | 7.5.6.3 | Lifetime of temporaries in init-captures
1994 | 13.9.4 | Confusing wording regarding multiple `template<>` prefixes
2018 | 9.5.4 | Qualification conversion vs reference binding
2021 | 13.7.7.2 | Function template redeclaration via alias template
2025 | 13.7.7.2 | Declaration matching via alias templates
2029 | 7.6.1.3 | Abstract class return type in `decltype` operand
2269 | 9.5.2 | Additional recursive references in aggregate DMIs
2291 | 12.2.4.2 | Implicit conversion sequences in non-call contexts
2314 | 9.7 | Structured bindings and lambda capture
2326 | 13.10.3.2 | Type deduction with initializer list containing ambiguous functions
2391 | 13.7.4 | Additional template parameters following pack expansion
2420 | 14.5 | Exception specifications in explicit instantiation
2493 | 9.2.9.7.1 | `auto` as a conversion-type-id
2696 | 7.6.9 | Relational comparisons of pointers to `void`
2860 | 6.8.4 | Remove and fix the term "vacuous initialization"
2884 | 9.2.9.5 | Qualified declarations of partial specializations

### Issues with "NAD" Status:

Issue | Section | Title
3 | 13.9.4 | The template compilation model rules render some explicit specialization declarations not visible during instantiation
6 | 11.9.6 | Should the optimization that allows a class object to alias another object also allow the case of a parameter in an inline function to alias its argument?
7 | 11.8.3 | Can a class with a private virtual base class be derived from?
13 | 9.12 | extern "C" for Parameters of Function Templates
14 | 9.12 | extern "C" functions and declarations in different namespaces
17 | 11.8.3 | Footnote 99 should discuss the naming class when describing members that can be accessed from friends
18 | 9.3.4.6 | f(TYPE) where TYPE is void should be allowed
19 | 11.8.5 | Clarify protected member access
23 | 13.7.7.3 | Some questions regarding partial ordering of function templates
26 | 11.4.5.3 | Copy constructors and default arguments
27 | 12.5 | Overload ambiguities for builtin ?: prototypes
31 | 7.6.2.8 | Looking up new/delete
34 | 13.9.2 | Argument dependent lookup and points of instantiation
37 | _N5001_.14.6.3 | When is uncaught_exception() true?
42 | 6.4.7 | Redefining names from base classes
46 | 13.9.3 | Explicit instantiation of member templates
47 | 13.7.5 | Template friend issues
50 | 6.3 | Converting pointer to incomplete type to same type
55 | 7.6.6 | Adding/subtracting pointer and enumeration value
61 | 12.3 | Address of static member function "`&p->f`"
66 | 9.3.4.7 | Visibility of default args vs overloads added after using-declaration
71 | 7 | Incorrect cross reference
81 | Annex C | Null pointers and C compatibility
88 | 13.9.4 | Specialization of member constant templates
91 | 6.5.4 | A union's associated types should include the union itself
95 | _N4868_.9.8.2.3 | Elaborated type specifiers referencing names declared in friend decls
97 | 7.7 | Use of bool constants in integral constant expressions
99 | 13.10.3.2 | Partial ordering, references and cv-qualifiers
102 | 12.2.2.3 | Operator lookup rules do not work well with parts of the library
104 | 14.2 | Destroying the exception temp when no handler is found
107 | 9.12 | Linkage of operator functions
109 | 9.10 | Allowing `::template` in using-declarations
111 | 11.4.5.3 | Copy constructors and cv-qualifiers
114 | 13.7.3 | Virtual overriding by template member function specializations
117 | 6.8.7 | Timing of destruction of temporaries
130 | 7.6.2.8 | Sequence points and new-expressions
132 | 6.7 | Local types and linkage
154 | 9.2.2 | Anonymous unions in unnamed namespaces
156 | _N4868_.6.5.6 | Name lookup for conversion functions
165 | _N4868_.9.8.2.3 | Definitions of friends and block-scope externs
167 | _N3225_.D.2 | Deprecating static functions
168 | 9.12 | C linkage for static member functions
169 | 9.10 | template-ids in using-declarations
174 | _N3225_.D.2 | Undeprecating global static
182 | 13.9.4 | Access checking on explicit specializations
192 | 6.5.3 | Name lookup in parameters
203 | 7.6.2.2 | Type of address-of-member expression
209 | 11.8.4 | Must friend declaration names be accessible?
211 | 14 | Constructors should not be allowed to return normally after an exception
219 | 14.6.2 | Cannot defend against destructors that throw exceptions
225 | 6.5.4 | Koenig lookup and fundamental types
229 | 13.7.6 | Partial specialization of function templates
230 | 11.7.4 | Calls to pure virtual functions
231 | 6.5.3 | Visibility of names after using-directives
232 | 7.6.2.2 | Is indirection through a null pointer undefined behavior?
234 | 6.8.4 | Reuse of base class subobjects
236 | 7.7 | Explicit temporaries and integral constant expressions
243 | 12.2.4.2.3 | Weighting of conversion functions in direct-initialization
247 | 12.3 | Pointer-to-member casts and function overload resolution
266 | Annex A | No grammar sentence symbol
269 | 6.10.3.2 | Order of initialization of multiply-defined static data members of class templates
278 | 6.7 | External linkage and nameless entities
285 | 13.9.4 | Identifying a function template being specialized
290 | 6.9 | Should memcpy be allowed into a POD with a const member?
294 | 7.6.1.9 | Can `static_cast` drop exception specifications?
297 | 13.10.3 | Which template does an explicit specialization specialize?
303 | 7.3.7 | Integral promotions on bit-fields
307 | 11.9.5 | Initialization of a virtual base class subobject
308 | 14.4 | Catching exceptions with ambiguous base classes
311 | 9.9.2 | Using qualified name to reopen nested namespace
315 | 11.4.9.2 | Is call of static member function through null pointer undefined?
316 | 13.8.2 | Injected-class-name of template used as template template parameter
333 | 9.3.3 | Ambiguous use of "declaration" in disambiguation section
334 | 13.8.3.3 | Is a comma-expression dependent if its first operand is?
340 | 9.3.3 | Unclear wording in disambiguation section
346 | 14.5 | Typo in 15.4
347 | 11.4.12 | Use of derived class name in defining base class nested class
356 | 11.4.5.3 | Wording of behavior of generated copy constructor for scalar members
358 | 9.12 | Namespaces and extern "C"
359 | 11.5 | Type definition in anonymous union
363 | 11.9.2 | Initialization of class from self
376 | 9.2.3 | Class "definition" versus class "declaration"
384 | 6.5.4 | Argument-dependent lookup and operator functions
395 | 11.4.8.3 | Conversion operator template syntax
412 | 9.2.3 | Can a replacement allocation function be inline?
422 | 9.2.4 | Is a typedef redeclaration allowed with a template type that might be the same?
423 | 12.2.2.3 | Can a conversion be done on the left operand of a compound assignment?
434 | 9.5.4 | Unclear suppression of standard conversions while binding reference to lvalue
435 | 9.1 | Change "declararation or definition" to "declaration"
440 | 13.4 | Allow implicit pointer-to-member conversion on nontype template argument
444 | 11.4.6 | Overriding and the generated copy assignment operator
445 | 11.8.4 | Wording issue on friend declarations
449 | 3 | Consistency in use of hyphen with names of "non" entities
455 | 12.2.4 | Partial ordering and non-deduced arguments
456 | 7.3.12 | Is initialized const int or const bool variable a null pointer constant?
459 | 13.8.2 | Hiding of template parameters by base class members
461 | 9.11 | Make `asm` conditionally-supported
465 | 6.10.3.2 | May constructors of global objects call `exit()`?
467 | 8.10 | Jump past initialization of local static variable
469 | 13.10.3.6 | Const template specializations and reference arguments
471 | 11.8.3 | Conflicting inherited access specifications
473 | 7.6.2.8 | Block-scope declarations of allocator functions
478 | 9.3.4.5 | May a function parameter be an array of an abstract class type?
487 | 7.7 | Operator overloading in constant expressions
489 | 13.9.2 | Must member function templates be instantiated during overload resolution?
501 | 11.8.4 | Visibility of friend declarations within the befriending class
504 | 9.3.4.3 | Should use of a variable in its own initializer require a diagnostic?
512 | 11.5 | Union members with user-declared non-default constructors
528 | 7.6.1.8 | Why are incomplete class types not allowed with `typeid`?
533 | 15.3 | Special treatment for C-style header names
544 | 13.8.3 | Base class lookup in explicit specialization
552 | 13.3 | Use of `typename` in the type in a non-type parameter-declaration
553 | _N4868_.9.8.2.3 | Problems with friend allocation and deallocation functions
560 | 13.8 | Use of the `typename` keyword in return types
566 | 7.3.11 | Conversion of negative floating point values to integer type
567 | 7.6.6 | Can `size_t` and `ptrdiff_t` be larger than `long`?
574 | 11.4.6 | Definition of “copy assignment operator”
584 | 7.2.1 | Unions and aliasing
585 | 11.8.4 | Friend template template parameters
586 | 13.10.3.6 | Default template-arguments and template argument deduction
593 | 14.4 | Falling off the end of a destructor's function-try-block handler
596 | _N4606_.15.5.2 | Replacing an exception object
610 | 7.6.2.2 | Computing the negative of `0U`
617 | 7.3.2 | Lvalue-to-rvalue conversions of uninitialized `char` objects
622 | 7.6.9 | Relational comparisons of arbitrary pointers
627 | 6.9.2 | Values behaving as types
635 | 6.5.5.2 | Names of constructors and destructors of templates
640 | 6.10.3.3 | Accessing destroyed local objects of static storage duration
643 | 9.2.9.3 | Use of `decltype` in a class member-specification
646 | 6.9 | Can a class with a constexpr copy constructor be a literal type?
662 | 13.10.3 | Forming a pointer to a reference type
669 | 9.2.9.3 | Confusing specification of the meaning of `decltype`
673 | _N4868_.9.8.2.3 | Injection of names from elaborated-type-specifiers in `friend` declarations
687 | _N4567_.5.1.1 | `template` keyword with unqualified-ids
706 | 9.2.9.7 | Use of `auto` with rvalue references
718 | 11.8.4 | Non-class, non-function friend declarations
728 | 13 | Restrictions on local classes
733 | 11.4.6 | Reference qualification of copy assignment operators
736 | 9.3 | Is the `&` ref-qualifier needed?
794 | 7.3.13 | Base-derived conversion in member type of pointer-to-member conversion
795 | 7.5.6 | Dependency of lambdas on `<functional>`
800 | 7.6.1.10 | Safely-derived pointers and object pointers converted from function pointers
807 | 7.7 | `typeid` expressions in constant expressions
819 | 11.4.4 | Access control and deleted implicitly-declared special member functions
822 | 13 | Additional contexts for template aliases
829 | 14.5 | At what point is `std::unexpected` called?
836 | 9.13.10 | `[[noreturn]]` applied to function types
885 | 13.10.3.5 | Partial ordering of function templates with unordered parameter pairs
893 | 9.8.1 | Brace syntax for enumerator-definitions
902 | 11.4.9.3 | In-class initialization of non-constant static data members
909 | 7.6.3 | Old-style casts with conversion functions
937 | 5.13.9 | Restrictions on values of template arguments in user-defined literals
944 | 7.6.1.10 | `reinterpret_cast` for all types with the same size and alignment
947 | 13.10.4 | Deducing type template arguments from default function arguments
958 | 7.5.6 | Lambdas and `decltype`
967 | 6.8.6.5 | Exception specification of replacement allocation function
982 | 9.5.5 | Initialization with an empty initializer list
992 | 11.4.5.3 | Inheriting explicitness
1002 | 13.7.4 | Pack expansion for function arguments
1005 | 11.4.3 | Qualified name resolution in member functions of class templates
1007 | 11.8.5 | Protected access and pointers to members
1008 | 7.6.2.6 | Querying the alignment of an object
1014 | 13.10.3.2 | Overload resolution between `const T&` and `T&&`
1026 | 7.2.1 | Cv-qualified non-class rvalues
1040 | 6.10.2 | Memory model issues
1045 | 13.9.3 | Requiring explicit instantiation declarations
1050 | 6.8.4 | Effects of thread support on object lifetime
1053 | 14.5 | Terminate vs undefined behavior for noexcept violation
1058 | 9.5.4 | Reference binding of incompatible array types
1067 | _N3225_.7.6.5 | `[[hiding]]`, using-declarations, and multiple inheritance
1077 | _N4868_.9.8.2.3 | Explicit specializations in non-containing namespaces
1078 | 9.5.5 | Narrowing and the usual arithmetic conversions
1084 | 11.4.5.3 | Conditions for a deleted move function
1085 | 11.4.6 | Move assignment operators and virtual bases
1097 | 9.5.2 | Aggregate initialization of function parameters
1108 | 5.13.9 | User-defined literals have not been implemented
1110 | 6.3 | Incomplete return type should be allowed in `decltype` operand
1118 | 7.5.6.3 | Implicit lambda capture via explicit copy constructor
1124 | 7.6.4 | Error in description of value category of pointer-to-member expression
1132 | 9.13.10 | Keyword vs attribute for `noreturn`
1141 | 11.4 | Non-static data member initializers have not been implemented
1143 | 11.4.3 | Move semantics for `*this` have not been implemented
1150 | _N4527_.12.9 | Inheriting constructors have not been implemented
1162 | 13.8 | Dependent elaborated-type-specifiers in non-deduced contexts
1163 | 13.9.3 | `extern template` prevents inlining functions not marked `inline`
1179 | 13.2 | Cv-qualification of non-type template parameters
1217 | 9.6.3 | Are deleted functions implicitly `noexcept`?
1222 | 9.3.4.5 | Unnecessary restriction on `auto` array types
1228 | 12.2.2.8 | Copy-list-initialization and `explicit` constructors
1254 | 6.3 | odr-use vs template arguments and constexpr functions
1259 | 7.6.2.9 | Deleting a POD via a pointer to base
1263 | 9.5.4 | Mismatch between rvalue reference binding and overload resolution
1272 | 11.4.9.3 | Implicit definition of static data member of const literal type
1273 | 13.10.3 | Accessibility and function signatures
1276 | 6.9.2 | Reference to `stdint.h`
1277 | 17.4.1 | Lax definition of `intmax_t` and `uintmax_t`
1280 | 6.8.4 | Object reallocation and reference members
1281 | 13.8.3.2 | Virtual and dependent base classes
1285 | 6.8.4 | Trivial destructors and object lifetime
1289 | 13.8.3.2 | Can an alias template name the current instantiation?
1303 | 13 | C language linkage for template with internal linkage
1314 | 7.6.6 | Pointer arithmetic within standard-layout objects
1316 | 9.2.6 | `constexpr` function requirements and class scope
1317 | 9.8.1 | Unnamed scoped enumerations
1319 | 13.2 | Error in pack expansion example
1323 | 9.13.1 | Nonexistent nonterminal in alignment-specifier grammar
1325 | 9.1 | Omitted declarator in `friend` declarations
1334 | 6.9 | Layout compatibility and cv-qualification
1339 | 9.5 | Parenthesized braced-init-list and arrays
1341 | 11.4 | Bit-field initializers
1371 | 13.10.3.6 | Deduction from `T&&` in return types
1379 | 9.5.5 | Is `std::initializer_list` an aggregate?
1384 | 7.7 | `reinterpret_cast` in constant expressions
1386 | 13.10.2 | Explicitly-specified partial argument list with multiple parameter packs
1389 | 9.3.4.6 | Recursive reference in trailing-return-type
1400 | 7.6.10 | Function pointer equality
1407 | 7.7 | Integral to `bool` conversion in converted constant expressions
1419 | 9.5.5 | Evaluation order in aggregate initialization
1420 | 11.7.4 | Abstract final classes
1421 | 9.5.5 | Full expressions and aggregate initialization
1427 | 11.4.5 | Default constructor and deleted or inaccessible destructors
1429 | 6.4.9 | Scope of a member template's template parameter
1433 | 6.4.2 | trailing-return-type and point of declaration
1434 | 9.5 | Parenthesized braced-init-list
1443 | 9.3.4.7 | Default arguments and non-static data members
1448 | 6.9.2 | Integral values of type `bool`
1452 | 7.7 | Value-initialized objects may be constants
1461 | 9.5.5 | Narrowing conversions to bit-fields
1470 | 6.10.2 | Thread migration
1474 | 5.13.9 | User-defined literals and `<inttypes.h>` format macros
1483 | 13.8 | Non-dependent static_assert-declarations
1497 | 9.5.2 | Aggregate initialization with parenthesized string literal
1501 | 9.5.5 | Nested braces in list-initialization
1519 | 13.7.4 | Conflicting default and variadic constructors
1520 | 13.7.8 | Alias template specialization vs pack expansion
1525 | 7.6.1.4 | Array bound inference in temporary array
1540 | 7.7 | Use of address constants in constant expressions
1545 | 13.7.5 | `friend` function templates defined in class templates
1546 | 13.10.3 | Errors in function template default arguments
1547 | 13.8 | `typename` keyword in alias-declarations
1555 | 7.6.1.3 | Language linkage and function type compatibility
1564 | 9.2.9.7 | Template argument deduction from an initializer list
1565 | 9.5.5 | Copy elision and lifetime of `initializer_list` underlying array
1566 | 7.6.2.8 | Should `new std::initializer_list<T>` be ill-formed?
1574 | 9.6.2 | Explicitly-defaulted `constexpr` functions in wrapper templates
1577 | 13.7.6.1 | Unnecessary restrictions on partial specializations
1578 | 9.5 | Value-initialization of aggregates
1585 | 7.6.1.5 | Value category of member access of rvalue reference member
1586 | 11.4.7 | Naming a destructor via `decltype`
1606 | 7.6.2.5 | `sizeof` closure class
1624 | 14.3 | Destruction of union members with member initializers
1627 | 9.13.2 | Agreement of dependent `alignas` specifiers
1637 | 9.2.6 | Recursion in `constexpr` template default constructor
1641 | 11.9.3 | Assignment in member initializer
1643 | 13.2 | Default arguments for template parameter packs
1644 | 13.7.7.2 | Equivalent exception-specifications in function template declarations
1650 | 9.5.4 | Class prvalues in reference initialization
1651 | 6.8.7 | Lifetime extension of temporary via reference to subobject
1661 | 6.10.2 | Preservation of infinite loops
1663 | 7.5.6.3 | Capturing an empty pack expansion
1667 | 14.2 | Function exiting via exception called by destructor during unwinding
1671 | 13.10.3.2 | Unclear rules for deduction with cv-qualification
1675 | Annex B | Size limit for automatic array object
1678 | 7.6.2.5 | Naming the type of an array of runtime bound
1679 | 8.6.5 | Range-based `for` and array of runtime bound
1685 | 7.6.2.7 | Value category of `noexcept` expression
1688 | 9.2.6 | Volatile `constexpr` variables
1695 | 6.8.7 | Lifetime extension via init-capture
1700 | 13.10.3.2 | Does the special rvalue-reference deduction apply to alias templates?
1703 | 9.12 | Language linkage of names of functions with internal linkage
1714 | 11.6 | odr-use of `this` from a local class
1720 | 15.3 | Macro invocation in `#include` directive
1725 | 9.2.9.7 | Trailing return type with nested function declarator
1727 | 13.9.4 | Type of a specialization of a variable template
1731 | 11.4.5.3 | `is_trivially_`X and definitions of special member functions
1743 | 7.5.6.3 | init-captures in nested lambdas
1745 | 9.2.6 | `thread_local constexpr` variable
1749 | 6.10.3.2 | Confusing definition for constant initializer
1754 | 13.7.6 | Declaration of partial specialization of static data member template
1761 | 9.3.4.5 | Runtime check on size of automatic array
1768 | 9.3.4.5 | Zero-element array of runtime bound
1783 | 11.4.7 | Why are virtual destructors non-trivial?
1785 | 13.8 | Conflicting diagnostic requirements for template definitions
1792 | 13.9.4 | Incorrect example of explicit specialization of member enumeration
1798 | 14.5 | exception-specifications of template arguments
1826 | 7.7 | `const` floating-point in constant expressions
1831 | 11.4.5.3 | Explicitly vs implicitly deleted move constructors
1833 | 11.8.4 | `friend` declarations naming implicitly-declared member functions
1864 | 9.5.5 | List-initialization of array objects
1867 | 9.3.3 | Function/expression ambiguity with qualified parameter name
1869 | 9.12 | `thread_local` vs linkage-specifications
1871 | 5.13.9 | Non-identifier characters in ud-suffix
1876 | 13.9.4 | Preventing explicit specialization
1879 | 6.8.3 | Inadequate definition of alignment requirement
1904 | 13.2 | Default template arguments for members of class templates
1905 | 13.8.3.2 | Dependent types and injected-class-names
1906 | 6.5.3 | Name lookup in member `friend` declaration
1917 | 9.8.1 | decltype-qualified enumeration names
1921 | 7.7 | `constexpr` constructors and point of initialization of `const` variables
1923 | 7.6.2.2 | Lvalues of type `void`
1928 | 11.4.5.3 | Triviality of deleted special member functions
1933 | Annex B | Implementation limit for initializer-list elements
1934 | 14.5 | Relaxing exception-specification compatibility requirements
1947 | 5.13.2 | Digit separators following non-octal prefix
1948 | 6.8.6.5 | exception-specification of replacement global `new`
1950 | 12.2.4.3 | Restructuring description of ranks of conversion sequences
1957 | 9.2.9.7 | `decltype(auto)` with direct-list-initialization
1960 | 9.10 | Visibility of entity named in class-scope using-declaration
1964 | 9.2.4 | opaque-enum-declaration in alias-declaration?
1968 | 7.7 | Address of `typeid` in constant expressions
1970 | 9.3.3 | Ambiguity resolution for `(T())*x`
1974 | 13.8 | Redundant specification of non-type typename-specifier
1976 | 9.9.3 | Ambiguity of namespace-aliases
1982 | 13.10.2 | Deduction extending parameter pack
1984 | 9.5.5 | Lossless narrowing conversions
1985 | 9.5.2 | Unknown bound array member with brace-or-equal-initializer
1987 | 11.4.9.3 | `constexpr` static data members across translation units
1998 | 7.2.1 | Additional sources of xvalue expressions
2005 | 7.7 | Incorrect `constexpr` reference initialization requirements
2014 | 17.6.3.3 | Unneeded deallocation signatures
2030 | 11.8.3 | Access of injected-class-name with template arguments
2034 | _N5001_.14.6.3 | Deprecating `uncaught_exception()`
2036 | 9.3 | Refactoring parameters-and-qualifiers
2050 | 9.2.2 | Consolidate specification of linkage
2060 | 9.2.9.7 | Deduced return type for explicit specialization
2078 | 6.5.2 | Name lookup of mem-initilizer-id
2087 | 7.6.7 | Left shift of negative value by zero bits
2111 | 9.5.4 | Array temporaries in reference binding
2117 | 9.2.6 | Explicit specializations and `constexpr` function templates
2119 | 11.7.3 | Disambiguation of multi-level covariant return type
2125 | 11.9.6 | Copy elision and comma operator
2132 | 11.4.5.3 | Deprecated default generated copy constructors
2134 | _N4567_.5.1.1 | Objectless references to non-static member functions
2135 | 11.9.3 | mem-initializers for virtual bases of abstract classes
2136 | 6.5.4 | Argument-dependent lookup and initializer lists
2138 | 13.9.4 | Explicit member specialization vs implicit instantiation
2139 | 7.3.11 | Floating-point requirements for integer representation
2142 | 6.5.4 | Missing definition of associated classes and namespaces
2152 | 5.13.9 | Can an alternative token be used as a ud-suffix?
2159 | 7.5.6.3 | Lambda capture and local `thread_local` variables
2161 | 13.9.3 | Explicit instantiation declaration and “preceding initialization”
2178 | 13.2 | Substitution of dependent template arguments in default template arguments
2183 | 14.5 | Problems in description of potential exceptions
2193 | 17.3.5.2 | `numeric_limits<int>::radix` and `digits`
2200 | 13.10.2 | Conversions in template argument deduction
2204 | 11.9.3 | Naming delegated constructors
2208 | 11.4 | static_assert-declaration does not declare a member
2209 | 14.3 | Destruction of constructed array elements
2210 | 14.3 | Principal/target constructor confusion
2216 | 14.5 | Exception specifications in unevaluated contexts
2217 | 9.2.6 | `constexpr` constructors for non-literal types
2225 | 7.6.1.10 | `reinterpret_cast` to same floating-point type
2230 | 6.7 | Linkage of `extern "C"` function in unnamed namespace
2231 | 7.6.1.5 | Class member access to static data member template
2238 | 6.8.6.5.2 | Contradictory alignment requirements for allocation
2239 | 7.6.2.9 | Sized deallocation with a trivial destructor
2240 | 6.3 | `this` is not odr-used in a constant expression
2270 | 13.9.3 | Non-inline functions and explicit instantiation declarations
2274 | 8.5.2 | Generic lambda capture vs constexpr if
2279 | 9.13.1 | Multiple attribute-specifiers in one attribute-list
2286 | 7.6.19 | Assignment evaluation order
2288 | 9.1 | Contradictory optionality in simple-declaration
2302 | 7.6.10 | Address comparison between different member subobjects
2304 | 12.2.4.2 | Incomplete type vs overload resolution
2306 | 13.7.5 | Nested friend templates of class templates
2308 | 9.7 | Structured bindings and lambda capture
2344 | 8.5 | Redeclaration of names in init-statements
2348 | 8.5.2 | Non-templated `constexpr if`
2349 | 8 | Class/enumeration names vs conditions
2350 | 13.10.3.5 | Forwarding references and deduction guides
2357 | 6.5.3 | Lookup in member function declarations
2363 | 11.8.4 | Opaque enumeration friend declarations
2364 | 7.7 | Constant expressions, aggregate initialization, and modifications
2367 | 6.3 | Lambdas in default arguments vs the ODR
2375 | 11.4.9.3 | Multiple redeclarations of `constexpr` static data members
2377 | 12.2.3 | Explicit copy constructor vs function viability
2383 | 13.2 | Variadic member functions of variadic class templates
2388 | 9.13.1 | Applicability of contract-attribute-specifiers
2393 | _N4778_.7.6.1.4 | Pseudo-destructors and object lifetime
2408 | 9.5.2 | Temporaries and previously-initialized elements in aggregate initialization
2415 | 11.4.6 | using-declarations vs copy assignment operators
2423 | 6.1 | Typedefs, names, and entities
2453 | 9.2.9.7.1 | Deduced return types and coroutine lambdas
2454 | 7.6.2.4 | Tail recursion and coroutine symmetric transfer
2472 | 7.6.2.4 | Value categories in await-expressions
2510 | 11.4.1 | noexcept-specifier of friend function vs class completeness
2512 | 7.6.1.8 | `typeid` and incomplete class types
2524 | 12.2.4.3 | Distinguishing user-defined conversion sequences by ref-qualifier
2527 | 9.13.11 | Non-class potentially-overlapping objects
2548 | 7.6.6 | Array prvalues and additive operators
2567 | 6.5.2 | Operator lookup ambiguity
2655 | 13.9.2 | Instantiation of default arguments in lambda-expressions
2665 | 6.8.4 | Replacing a subobject with a complete object
2709 | 9.5.1 | Parenthesized initialization of reference-to-aggregate
2751 | 8.10 | Order of destruction for parameters for operator functions
2814 | 7.6.1.9 | Alignment requirement of incomplete class type
2893 | 13.9.2 | Instantiations in discarded `if constexpr` substatements
2925 | 7.6.2.9 | Deleting a pointer to an incomplete enumeration type
2954 | 6.10.2.2 | Simultaneous modifications of an atomic object

### Issues with "Concepts" Status:

Issue | Section | Title
723 | 8.10 | Archetypes in skipped declarations
724 | 6.5.5 | Qualified name lookup in a constrained context
725 | 9.3.4.6 | When should the requirement for `std::Returnable<T>`, etc., apply?
748 | _N2914_.14.11.2.1 | Always-complete archetypes
780 | _N2914_.14.10.2 | Questions regarding the point of definition of a concept map
781 | _N2914_.14.11.2 | Missing requirement in constrained function example
791 | 6.7 | Linkage of concept names
802 | 7.6.2.2 | Problems with restrictions on taking the address of a member of a concept map
821 | 13 | Exported concept map templates?
824 | 13.7.2 | Constrained special member functions
825 | _N2914_.14.10.4 | `TriviallyCopyableType` concept
826 | _N2914_.14.11.1 | Accept boolean constant expressions as constraints
827 | _N2914_.14.11.1 | Use of `&&` as requirement separator
841 | _N2914_.14.10.3.2 | Ill-formed concept refinement example
843 | 13.7.2 | Unclear interaction of constraints and special member functions
844 | 11.4 | Is a constrained member function a template?
848 | _N2914_.14.11 | Unconstrained template template parameters in constrained contexts
849 | 13.4.4 | Constraints and template template parameters
851 | 13.7.8 | Constraints and template aliases
856 | _N2960_.3.3.9 | Overlapping concept and requirements scopes
857 | _N2914_.14.11.1.2 | Implying requirements from enclosing scopes
859 | _N2960_.6.9 | Incomplete comment in `late_check` example
866 | 8.6.5 | Concept maps and the range-based `for`
867 | 13.3 | Naming a specialization of a constrained template
868 | 13.3 | Specifying a concept map in the name of a specialization
870 | _N2914_.14.10.2.1 | Context of expression when satisfying an associated function requirement
871 | _N2914_.14.10.2.1 | Satisfying associated functions with built-in operators
875 | 11.4.8.3 | Associated conversion functions converting to the same type
878 | 12.5 | Effective class types in built-in pointer-to-member operator
881 | 13.2 | Inconsistent requirement for naming template parameters
889 | _N2914_.14.10.1.1 | Default implementations of associated functions
890 | _N2914_.14.11.1.1 | Missing requirement in example
894 | _N2914_.14.11.4 | Incorrect example for constrained overload resolution
895 | _N2914_.14.11.2.1 | Missing destructor requirements
907 | _N2914_.14.10.2.2 | Default types in requirements in auto concepts
911 | _N2914_.14.10.2 | `late_check` and concept map templates
916 | _N2914_.14.10.2.1 | Does a reference type have a destructor?
917 | 7.3.12 | Pointer conversions between archetypes
918 | _N2914_.14.10.2.1 | Declaration/expression ambiguity in associated function expressions

### Issues with "Extension" Status (count=6):

Issue | Section | Title
1914 | 9.13 | Duplicate standard attributes
2097 | 7.5.6 | Lambdas and `noreturn` attribute
2261 | 13.7.5 | Explicit instantiation of in-class `friend` definition
2320 | 8.5.2 | `constexpr if` and boolean conversions
2449 | 7.6.2.2 | Thunks as an implementation technique for pointers to virtual functions
2500 | 7.6.1.9 | `noexcept(false)` functions and `noexcept` expressions

### Issues with "DR" Status:

Issue | Section | Title

### Issues with "accepted" Status:

Issue | Section | Title

### Issues with "DRWP" Status:

Issue | Section | Title

### Issues with "WP" Status:

Issue | Section | Title

### Issues with "TC1" Status:

Issue | Section | Title
1 | 9.3.4.7 | What if two using-declarations refer to the same function but the declarations introduce different default-arguments?
20 | 11.4.5.3 | Some clarifications needed for 12.8 para 15
21 | 13.2 | Can a default argument for a template parameter appear in a friend declaration?
22 | 13.8.4 | Template parameter with a default argument that refers to itself
24 | 13.9.4 | Errors in examples in 14.7.3
25 | 14.5 | Exception specifications and pointers to members
30 | 13.3 | Valid uses of "`::template`"
32 | 13 | Clarification of explicit instantiation of non-exported templates
33 | 6.5.4 | Argument dependent lookup and overloaded functions
35 | 9.5 | Definition of default-initialization
38 | 13.3 | Explicit template arguments and operator functions
40 | 9.3.4 | Syntax of declarator-id
41 | 6.5.3 | Clarification of lookup of names after declarator-id
43 | 6.9 | Copying base classes (PODs) using memcpy
48 | 11.4.9.3 | Definitions of unused static members
49 | 13.2 | Restriction on non-type, non-value template arguments
51 | 12.2.4 | Overloading and user-defined conversions
52 | 7.6.1.5 | Non-static members, member selection and access checking
53 | 7.6.1.9 | Lvalue-to-rvalue conversion before certain static_casts
56 | 9.2.4 | Redeclaring typedefs within classes
59 | 12.2.2.5 | Clarification of overloading and UDC to reference type
64 | 13.9.4 | Partial ordering to disambiguate explicit specialization
65 | 9.3.4.7 | Typo in default argument example
67 | 11.4.9 | Evaluation of left side of object-expression
68 | 9.2.9.5 | Grammar does not allow "friend class A<int>;"
69 | 9.2.2 | Storage class specifiers on template declarations
73 | 7.6.10 | Pointer equality
74 | 7.6.2.8 | Enumeration value in direct-new-declarator
75 | 11.4 | In-class initialized members must be const
76 | 9.2.9.2 | Are const volatile variables considered "constant expressions"?
80 | 11.4 | Class members with same name as class
83 | 12.2.4.3 | Overloading and deprecated conversion of string literal
84 | 12.2.4.2 | Overloading and conversion loophole used by `auto_ptr`
85 | 6.5.6 | Redeclaration of member class
89 | 6.8.4 | Object lifetime does not account for reference rebinding
90 | 6.5.4 | Should the enclosing class be an "associated class" too?
93 | 6.8.4 | Missing word in 3.8 basic.life paragraph 2
94 | 7.7 | Inconsistencies in the descriptions of constant expressions
98 | 14 | Branching into try block
100 | 13.4.3 | Clarify why string literals are not allowed as template arguments
101 | 9.10 | Redeclaration of extern "C" names via using-declarations
103 | 9.9.4 | Is it extended-namespace-definition or extension-namespace-definition ?
105 | 13 | Meaning of "template function"
108 | 13.8.3.2 | Are classes nested in templates dependent?
116 | 13.7.7.2 | Equivalent and functionally-equivalent function templates
120 | 13.8 | Nonexistent non-terminal qualified-name
121 | 13.8 | Dependent type names with non-dependent nested-name-specifiers
123 | _N4567_.5.1.1 | Bad cross-reference
126 | 14.5 | Exception specifications and `const`
127 | 7.6.2.8 | Ambiguity in description of matching deallocation function
128 | 7.6.1.9 | Casting between enum types
131 | _N2691_.E | Typo in Lao characters
134 | 13 | Template classes and declarator-ids
135 | 9.3.4.6 | Class type in in-class member function definitions
137 | 7.6.1.9 | `static_cast` of cv `void*`
142 | 11.8.3 | Injection-related errors in access example
145 | D.6 | Deprecation of prefix `++`
147 | _N4567_.5.1.1 | Naming the constructor
148 | 11 | POD classes and pointers to members
149 | 7.3.12 | Accessibility and ambiguity
151 | 9.5 | Terminology of zero-initialization
152 | 11.4.8.2 | `explicit` copy constructors
153 | 12.2.4.3 | Misleading wording (rank of conversion)
159 | 9.3.4 | Namespace qualification in declarators
161 | 11.8.5 | Access to protected nested type
163 | 9.5.2 | Description of subaggregate initializer
164 | 6.5.4 | Overlap between Koenig and normal lookup
166 | _N4868_.9.8.2.3 | Friend declarations of template-ids
171 | 9.9 | Global namespace scope
173 | 5.3.1 | Constraints on execution character set
176 | 11 | Name injection and templates
178 | 9.5 | More on value-initialization
179 | 7.6.6 | Function pointers and subtraction
181 | 13.10.3.6 | Errors in template template-parameter example
183 | 13.8 | `typename` in explicit specializations
185 | 11.4.5.3 | "Named" temporaries and copy elision
187 | 13.2 | Scope of template parameter names
188 | 7.6.20 | Comma operator and rvalue conversion
190 | 11.4 | Layout-compatible POD-struct types
193 | 11.4.7 | Order of destruction of local automatics of destructor
194 | 11.4.5 | Identifying constructors
202 | 12.3 | Use of overloaded function name
206 | _N4868_.13.8.4 | Semantic constraints on non-dependent names
210 | 14.4 | What is the type matched by an exception handler?
213 | 13.8.3 | Lookup in dependent base classes
217 | 9.3.4.7 | Default arguments for non-template member functions of class templates
227 | 8.5 | How many scopes in an `if` statement?
235 | 11.9.3 | Assignment vs initialization
241 | 13.10.2 | Error in example in 14.8.1
249 | 13.7.2.2 | What is a member function template?
250 | 12.3 | Address of function template specialization with non-deduced template arguments
304 | 9.5 | Value-initialization of a reference

### Issues with "CD1" Status:

Issue | Section | Title
4 | 9.12 | Does extern "C" affect the linkage of function names with internal linkage?
5 | 9.5 | CV-qualifiers and type conversions
8 | 11.8 | Access to template arguments used in a function return type and in the nested name specifier
9 | 11.8.3 | Clarification of access to base class members
10 | 11.8.8 | Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?
11 | 9.10 | How do the keywords typename/template interact with using-declarations?
16 | 11.8.3 | Access to members of indirect private base classes
28 | 6.10.3.3 | 'exit', 'signal' and static object destruction
29 | 9.12 | Linkage of locally declared functions
39 | 6.5.2 | Conflicting ambiguity rules
44 | 13.9.4 | Member specializations
45 | 11.8.8 | Access to nested classes
54 | 7.6.1.9 | Static_cast from private base to derived class
58 | 11.4.10 | Signedness of bit fields of enum type
60 | 12.2.4.2.5 | Reference binding and valid conversion sequences
62 | 13.4.2 | Unnamed members of classes used as type parameters
63 | 13.9.2 | Class instantiation from pointer conversion to void*, null and self
70 | 13.10.3.6 | Is an array bound a nondeduced context?
77 | 11.8.4 | The definition of friend does not allow nested classes to be friends
78 | 9.5 | Section 8.5 paragraph 9 should state it only applies to non-static objects
86 | 6.8.7 | Lifetime of temporaries in query expressions
87 | 14.5 | Exception specifications on function parameters
106 | unknown | Creating references to references during template deduction/instantiation
112 | 9.3.4.5 | Array types and cv-qualifiers
113 | 7.6.1.3 | Visibility of called function
115 | 12.3 | Address of template-id
118 | 7.6.1.3 | Calls via pointers to virtual member functions
119 | 6.8.4 | Object lifetime and aggregate initialization
122 | _N4567_.5.1.1 | template-ids as unqualified-ids
124 | 6.8.7 | Lifetime of temporaries in default initialization of class arrays
125 | _N4567_.5.1.1 | Ambiguity in `friend` declaration syntax
136 | 9.3.4.7 | Default arguments and friend declarations
139 | 6.5.3 | Error in `friend` lookup example
140 | 9.3.4.6 | Agreement of parameter declarations
141 | _N4868_.6.5.6 | Non-member function templates in member access expressions
143 | 6.5.4 | Friends and Koenig lookup
158 | 7.2.1 | Aliasing and qualification conversions
160 | 9.3.3 | Missing `std::` qualification
162 | 12.2.2.2 | (`&C::f)()` with nonstatic members
172 | 9.8.1 | Unsigned int as underlying type of enum
175 | 11 | Class name injection and base name access
177 | 9.5 | Lvalues vs rvalues in copy-initialization
180 | 13.8 | `typename` and elaborated types
184 | 13.2 | Default arguments in template template-parameters
195 | 7.6.1.10 | Converting between function and object pointers
197 | 13.8.4.2 | Issues with two-stage lookup of dependent names
198 | 11.6 | Definition of "use" in local and nested classes
199 | 6.8.7 | Order of destruction of temporaries
201 | 6.8.7 | Order of destruction of temporaries in initializers
204 | 13 | Exported class templates
207 | 11.8.3 | using-declarations and protected access
208 | 14.2 | Rethrowing exceptions in nested handlers
214 | 13.7.7.3 | Partial ordering of function templates is underspecified
215 | 13.2 | Template parameters are not allowed in nested-name-specifiers
216 | 6.7 | Linkage of nameless class-scope enumeration types
218 | 6.5.4 | Specification of Koenig lookup
220 | 6.8.6.5.3 | All deallocation functions should be required not to throw
221 | 12.4.3.2 | Must compound assignment operators be member functions?
222 | 7 | Sequence points and lvalue-returning operators
224 | 13.8.3.2 | Definition of dependent names
226 | 13.2 | Default template arguments for function templates
228 | 13.3 | Use of `template` keyword with non-member templates
237 | 13.9.3 | Explicit instantiation and base class members
239 | 12.2.2.2.2 | Footnote 116 and Koenig lookup
244 | 11.4.7 | Destructor lookup
245 | 6.5.6 | Name lookup in elaborated-type-specifiers
246 | 13.4 | Jumps in function-try-block handlers
252 | 11.4.7 | Looking up deallocation functions in virtual destructors
254 | 6.5.6 | Definitional problems with elaborated-type-specifiers
256 | 7.6.2.8 | Overflow in size calculations
258 | 9.10 | using-declarations and cv-qualifiers
259 | 13.9 | Restrictions on explicit specialization and instantiation
261 | 6.3 | When is a deallocation function "used?"
262 | 9.3.4.6 | Default arguments and ellipsis
263 | 11.4.5 | Can a constructor be declared a friend?
270 | 6.10.3.2 | Order of initialization of static data members of class templates
272 | 11.4.7 | Explicit destructor invocation and qualified-ids
273 | 11 | POD classes and `operator&()`
274 | 6.8.4 | Cv-qualification and char-alias access to out-of-lifetime objects
275 | 13.9.4 | Explicit instantiation/specialization and using-directives
276 | 8.8 | Order of destruction of parameters and temporaries
277 | 9.5 | Zero-initialization of pointers
280 | 12.2.2.2.3 | Access and surrogate call functions
281 | 9.2.3 | `inline` specifier in `friend` declarations
283 | 9.2.9.3 | Template type-parameters are not syntactically type-names
284 | 11 | qualified-ids in class declarations
286 | 13.7.6 | Incorrect example in partial specialization
288 | 7.6.2.9 | Misuse of "static type" in describing pointers
289 | 6.3 | Incomplete list of contexts requiring a complete type
291 | 9.5.4 | Overload resolution needed when binding reference to class rvalue
295 | 9.3.4.6 | cv-qualifiers on function types
296 | 11.4.8.3 | Can conversion functions be static?
298 | 6.5.5.2 | `T::x` when `T` is cv-qualified
299 | 7.6.2.8 | Conversion on array bound expression in `new`
300 | 13.10.3.6 | References to functions in template argument deduction
301 | 13.3 | Syntax for template-name
302 | 9.5 | Value-initialization and generation of default constructor
305 | _N4868_.6.5.6 | Name lookup in destructor call
306 | 6.5.2 | Ambiguity by class name injection
309 | 6.1 | Linkage of entities whose names are not simply identifiers, in introduction
317 | 9.2.3 | Can a function be declared inline after it has been called?
318 | 6.5.5.2 | `struct A::A` should not name the constructor of `A`
319 | 6.7 | Use of names without linkage in declaring entities with linkage
320 | 6.8.7 | Question on copy constructor elision example
322 | 13.10.3.4 | Deduction of reference conversions
323 | 13 | Where must `export` appear?
324 | 7.6.2.2 | Can "`&`" be applied to assignment to bit-field?
326 | 11.4.5 | Wording for definition of trivial constructor
327 | 11 | Use of "structure" without definition
328 | 11.4 | Missing requirement that class member types be complete
329 | 13.7.5 | Evaluation of friends of templates
331 | 11.4.5 | Allowed copy constructor signatures
335 | 13 | Allowing `export` on template members of nontemplate classes
336 | 13.9.4 | Explicit specialization examples are still incorrect
337 | 13.10.3 | Attempt to create array of abtract type should cause deduction to fail
339 | 7.7 | Overload resolution in operand of `sizeof` in constant expression
345 | 13.8 | Misleading comment on example in templates chapter
348 | 6.8.6.5.3 | `delete` and user-written deallocation functions
349 | 13.10.3.4 | Template argument deduction for conversion functions and qualification conversions
351 | 7 | Sequence point error: unspecified or undefined?
352 | 13.10.3.2 | Nondeduced contexts
353 | 7.6.2.9 | Is deallocation routine called if destructor throws exception in delete?
354 | 13.4.3 | Null as nontype template argument
357 | 3 | Definition of signature should include name
362 | 5.2 | Order of initialization in instantiation units
364 | 12.2.2.2.2 | Calling overloaded function with static in set, with no object
366 | 7.7 | String literal allowed in integral constant expression?
367 | 7.7 | `throw` operator allowed in constant expression?
368 | 13.10.3 | Uses of non-type parameters that should cause deduction to fail
370 | 15.3 | Can `#include <...>` form be used other than for standard C++ headers?
372 | 13.4 | Is access granted by base class specifiers available in following base class specifiers?
377 | 9.8.1 | Enum whose enumerators will not fit in any integral type
378 | 8.8 | Wording that says temporaries are declared
379 | 11 | Change "class declaration" to "class definition"
381 | _N4868_.6.5.6 | Incorrect example of base class member lookup
382 | 13.8 | Allow `typename` outside of templates
383 | 11 | Is a class with a declared but not defined destructor a POD?
385 | 11.8.5 | How does protected member check of 11.5 interact with using-declarations?
387 | _N4868_.13.8.6 | Errors in example in 14.6.5
389 | 6.7 | Unnamed types in entities with linkage
390 | 11.7.4 | Pure virtual must be defined when implicitly called
391 | 9.5.4 | Require direct binding of short-lived references to rvalues
392 | 6.8.7 | Use of full expression lvalue before temporary destruction
394 | 15.1 | identifier-list is never defined
396 | 9.2.3 | Misleading note regarding use of `auto` for disambiguation
397 | 9.2.3 | Same address for string literals from default arguments in inline functions?
398 | 13.10.3 | Ambiguous wording on naming a type in deduction
400 | 6.5.5.3 | Using-declarations and the "struct hack"
401 | 13.2 | When is access for template parameter default arguments checked?
403 | 6.5.4 | Reference to a type as a template-id
404 | 6.8.4 | Unclear reference to construction with non-trivial constructor
406 | 11.4.9.3 | Static data member in class with name for linkage purposes
409 | 13.8 | Obsolete paragraph missed by changes for issue 224
410 | 13.7.5 | Paragraph missed in changes for issue 166
413 | 11 | Definition of "empty class"
414 | _N4868_.6.5.6 | Multiple types found on destructor lookup
415 | 13.10.4 | Template deduction does not cause instantiation
416 | 12.2.2.3 | Class must be complete to allow operator lookup?
417 | 11.3 | Using derived-class qualified name in out-of-class nested class definition
420 | 12.4.6 | postfixexpression->scalar_type_dtor() inconsistent
421 | 7.6.1.5 | Is rvalue.field an rvalue?
424 | 9.2.4 | Wording problem with issue 56 resolution on redeclaring typedefs in class scope
425 | 12.5 | Set of candidates for overloaded built-in operator with float operand
427 | 7.6.1.9 | `static_cast` ambiguity: conversion versus cast to derived
428 | 14.2 | Mention of expression with reference type
429 | 7.6.2.8 | Matching deallocation function chosen based on syntax or signature?
430 | 9.5.2 | Ordering of expression evaluation in initializer list
432 | 6.4.7 | Is injected class name visible in base class specifier list?
433 | 6.4.2 | Do elaborated type specifiers in templates inject into enclosing namespace scope?
436 | 11.4.10 | Problem in example in 9.6 paragraph 4
437 | 11.4 | Is type of class allowed in member function exception specification?
439 | 7.6.1.9 | Guarantees on casting pointer back to cv-qualified version of original type
441 | 6.10.3.2 | Ordering of static reference initialization
442 | 7.6.2.9 | Incorrect use of null pointer constant in description of delete operator
443 | 6.8.7 | Wording nit in description of lifetime of temporaries
446 | 7.6.16 | Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary?
447 | 13.8.3.4 | Is offsetof type-dependent?
450 | 9.5.4 | Binding a reference to const to a cv-qualified array rvalue
451 | 7 | Expressions with invalid results and ill-formedness
452 | _N4868_.11.4.3.2 | Wording nit on description of `this`
454 | 11.4.9.3 | When is a definition of a static data member required?
457 | 7.7 | Wording nit on use of const variables in constant expressions
460 | 9.10 | Can a using-declaration name a namespace?
463 | 7.6.1.10 | `reinterpret_cast<T*>(0)`
464 | 6.8.7 | Wording nit on lifetime of temporaries to which references are bound
466 | _N4778_.7.6.1.4 | cv-qualifiers on pseudo-destructor type
468 | 13.3 | Allow `::template` outside of templates
470 | 13.9.3 | Instantiation of members of an explicitly-instantiated class template
474 | 6.7 | Block-scope `extern` declarations in namespace members
477 | 9.2.3 | Can `virtual` appear in a `friend` declaration?
479 | 14.2 | Copy elision in exception handling
480 | 7.3.13 | Is a base of a virtual base also virtual?
484 | 11.7 | Can a base-specifier name a cv-qualified class type?
485 | 6.1 | What is a “name”?
486 | 13.10.3 | Invalid return types and template argument deduction
488 | 13.10.3 | Local types, overload resolution, and template argument deduction
491 | 9.5.2 | Initializers for empty-class aggregrate members
492 | 7.6.1.8 | `typeid` constness inconsistent with example
494 | 11.8 | Problems with the resolution of issue 45
497 | 7.6.4 | Missing required initialization in example
500 | 11.8.4 | Access in base-specifiers of friend and nested classes
505 | 5.13.3 | Conditionally-supported behavior for unknown character escapes
506 | 7.6.1.3 | Conditionally-supported behavior for non-POD objects passed to ellipsis
509 | 9.5 | Dead code in the specification of default initialization
510 | 11.9 | Default initialization of POD classes?
513 | 6.8.2 | Non-class “most-derived” objects
514 | 6.5.3 | Is the initializer for a namespace member in the scope of the namespace?
515 | 13.8.3 | Non-dependent references to base class members
516 | 9.2.9.3 | Use of `signed` in bit-field declarations
517 | 13.7.6.1 | Partial specialization following explicit instantiation
518 | 9.8.1 | Trailing comma following enumerator-list
519 | 7.3.12 | Null pointer preservation in `void*` conversions
520 | 7.6.3 | Old-style casts between incomplete class types
521 | 6.8.6.5.2 | Requirements for exceptions thrown by allocation functions
522 | 13.10.3.2 | Array-to-pointer decay in template argument deduction
524 | 13.8.3 | Can function-notation calls to operator functions be dependent?
525 | 13.9.2 | Missing `*` in example
526 | 13.10.3.6 | Confusing aspects in the specification of non-deduced contexts
530 | 7.7 | Nontype template arguments in constant expressions
534 | 13 | template-names and operator-function-ids
537 | 3 | Definition of “signature”
538 | 11 | Definition and usage of structure, POD-struct, POD-union, and POD class
540 | 9.9.2 | Propagation of cv-qualifiers in reference-to-reference collapse
543 | 9.5 | Value initialization and default constructors
551 | 13.9.3 | When is `inline` permitted in an explicit instantiation?
557 | 6.5.4 | Does argument-dependent lookup cause template instantiation?
558 | 5.3.1 | Excluded characters in universal character names
559 | 13.8 | Editing error in issue 382 resolution
568 | 11 | Definition of POD is too strict
582 | 13.7.3 | Template conversion functions
592 | 14.3 | Exceptions during construction of local static objects
594 | 6.8.4 | Coordinating issues 119 and 404 with delegating constructors
603 | 13.6 | Type equivalence and unsigned overflow
606 | 13.10.3.2 | Template argument deduction for rvalue references
613 | 11.4 | Unevaluated uses of non-static class members
614 | 7.6.5 | Results of integer `/` and `%`
620 | 11.4 | Declaration order in layout-compatible POD structs
624 | 7.6.2.8 | Overflow in calculating size of allocation
629 | 9.2.9.7 | `auto` parsing ambiguity
632 | 9.5.2 | Brace-enclosed initializer for scalar member of aggregate
634 | 7.6.1.3 | Conditionally-supported behavior for non-POD objects passed to ellipsis redux
637 | 6.10.1 | Sequencing rules and example disagree
639 | 6.10.1 | What makes side effects “different” from one another?
644 | 6.9 | Should a trivial class type be a literal type?
647 | 9.2.6 | Non-constexpr instances of constexpr constructor templates
648 | 9.2.6 | Constant expressions in constexpr initializers
649 | 6.8.3 | Optionally ill-formed extended alignment requests
651 | 9.2.9.3 | Problems in `decltype` specification and examples
654 | 7.3.12 | Conversions to and from `nullptr_t`
659 | 7.6.2.6 | Alignment of function types
660 | 9.8.1 | Unnamed scoped enumerations
661 | 7.6.9 | Semantics of arithmetic comparisons
663 | _N2691_.E | Valid Cyrillic identifier characters
666 | 13.8 | Dependent qualified-ids without the `typename` keyword
671 | 7.6.1.9 | Explicit conversion from a scoped enumeration type to integral type
677 | 11.4.7 | Deleted `operator delete` and virtual destructors
679 | 13.6 | Equivalence of template-ids and operator function templates
681 | 9.3.4.6 | Restrictions on declarators with late-specified return types
683 | 11.4.5.3 | Requirements for trivial subobject special functions
684 | 7.7 | Constant expressions involving the address of an automatic variable
686 | 9.3.2 | Type declarations/definitions in type-specifier-seqs and type-ids
688 | 6.10.3.2 | Constexpr constructors and static initialization

### Issues with "CD2" Status:

Issue | Section | Title
257 | 11.9.3 | Abstract base constructors and virtual base initialization
374 | 9.3.4 | Can explicit specialization outside namespace use qualified name?
408 | 13.7.2.5 | sizeof applied to unknown-bound array static data member of template
438 | 7 | Possible flaw in wording for multiple accesses to object between sequence points
481 | 6.4 | Scope of template parameters
490 | 6.5.3 | Name lookup in friend declarations
493 | 13.10.3.4 | Type deduction from a `bool` context
495 | 12.2.4 | Overload resolution with template and non-template conversion functions
499 | 14.2 | Throwing an array of unknown size
527 | 6.7 | Problems with linkage of types
541 | 13.8.3.3 | Dependent function types
542 | 11.9 | Value initialization of arrays of POD-structs
556 | 7.6.19 | Conflicting requirements for acceptable aliasing
561 | 13.8.4.2 | Internal linkage functions in dependent name lookup
564 | 9.12 | Agreement of language linkage or linkage-specifications?
569 | 9.1 | Spurious semicolons at namespace scope should be allowed
570 | 6.3 | Are references subject to the ODR?
571 | 6.7 | References declared `const`
576 | 9.2.4 | Typedefs in function definitions
587 | 7.6.16 | Lvalue operands of a conditional expression differing only in cv-qualification
588 | 13.8.3 | Searching dependent bases of classes local to function templates
589 | 9.5.4 | Direct binding of class and array rvalues in reference initialization
598 | 6.5.4 | Associated namespaces of overloaded functions and function templates
599 | 7.6.2.9 | Deleting a null function pointer
601 | 15.2 | Type of literals in preprocessing expressions
604 | 12.2.2.4 | Argument list for overload resolution in copy-initialization
608 | 11.7.3 | Determining the final overrider of a virtual function
611 | 9.5 | Zero-initializing references
612 | 6.10.1 | Requirements on a conforming implementation
618 | 15.2 | Casts in preprocessor conditional expressions
625 | 9.2.9.7 | Use of `auto` as a template-argument
626 | 15.7.3 | Preprocessor string literals
628 | 9.8.1 | The values of an enumeration with no enumerator
630 | 5.3.1 | Equality of narrow and wide character values in the basic character set
633 | 6.1 | Specifications for variables that should also apply to references
638 | 13.7.5 | Explicit specialization and friendship
641 | 12.2.3 | Overload resolution and conversion-to-same-type operators
642 | 6.4.3 | Definition and use of “block scope” and “local scope”
645 | 11.4 | Are bit-field and non-bit-field members layout compatible?
650 | 6.8.7 | Order of destruction for temporaries bound to the returned value of a function
652 | 7.7 | Compile-time evaluation of floating-point expressions
653 | 11.4.6 | Copy assignment of unions
656 | 9.5.4 | Direct binding to the result of a conversion operator
657 | 13.10.3 | Abstract class parameter in synthesized declaration
658 | 7.6.1.10 | Defining `reinterpret_cast` for pointer types
664 | 9.5.4 | Direct binding of references to non-class rvalue references
665 | 7.6.1.7 | Problems in the specification of `dynamic_cast`
667 | 11.4.5.3 | Trivial special member functions that cannot be implicitly defined
668 | 14.6.2 | Throwing an exception from the destructor of a local static object
672 | 7.6.2.8 | Sequencing of initialization in new-expressions
680 | 11.4.5.3 | What is a move constructor?
685 | 7.3.7 | Integral promotion of enumeration ignores fixed underlying type
690 | 3 | The dynamic type of an rvalue reference
693 | 7.3.3 | New string types and deprecated conversion
695 | 7 | Compile-time calculation errors in constexpr functions
699 | 9.2.6 | Must constexpr member functions be defined in the class member-specification?
701 | 9.3.4.5 | When is the array-to-pointer conversion applied?
702 | 12.2.4.3 | Preferring conversion to `std::initializer_list`
703 | 9.5.5 | Narrowing for literals that cannot be exactly represented
704 | 12.2.2.2 | To which postfix-expressions does overload resolution apply?
705 | 6.5.4 | Suppressing argument-dependent lookup via parentheses
707 | 7.3.11 | Undefined behavior in integral-to-floating conversions
710 | 11.9.5 | Data races during construction
711 | 9.2.9.7 | `auto` with braced-init-list
713 | 9.3.4.6 | Unclear note about cv-qualified function types
714 | 11.4.9.3 | Static const data members and braced-init-lists
715 | 7.7 | Class member access constant expressions
716 | 11.5 | Specifications that should apply only to non-static union data members
717 | 9.2.2 | Unintentional restrictions on the use of `thread_local`
719 | 6.1 | Specifications for operator-function-id that should also apply to literal-operator-id
720 | 7.5.6 | Need examples of lambda-expressions
721 | 7.7 | Where must a variable be initialized to be used in a constant expression?
722 | 7.6.1.3 | Can `nullptr` be passed to an ellipsis?
726 | 6.10.2 | Atomic and non-atomic objects in the memory model
730 | 13.9.4 | Explicit specializations of members of non-template classes
731 | 7.6.1.5 | Omitted reference qualification of member function type
732 | 9.6 | Late-specified return types in function definitions
734 | 7.6.1.10 | Are unique addresses required for namespace-scope variables?
735 | _N4885_6.7.5.5.4 | Missing case in specification of safely-derived pointers
737 | 9.5.3 | Uninitialized trailing characters in string initialization
740 | 6.10.2 | Incorrect note on data races
743 | _N4567_.5.1.1 | Use of `decltype` in a nested-name-specifier
744 | 13.4.4 | Matching template arguments with template template parameters with parameter packs
746 | 9.2.9.7 | Use of `auto` in new-expressions
749 | 12.5 | References to function types with a cv-qualifier or ref-qualifier
750 | 7.5.6.2 | Implementation constraints on reference-only closure objects
751 | 7.5.6.2 | Deriving from closure classes
752 | 7.5.6 | Name lookup in nested lambda-expressions
753 | 7.5.6.3 | Array names in lambda capture sets
754 | 7.5.6 | Lambda expressions in default arguments of block-scope function declarations
756 | 7.5.6.2 | Dropping cv-qualification on members of closure objects
757 | 6.7 | Types without linkage in declarations
759 | 7.5.6.2 | Destruction of closure objects
760 | _N4567_.5.1.1 | `this` inside a nested class of a non-static member function
761 | 7.5.6.2 | Inferred return type of closure object call operator
762 | 7.5.6 | Name lookup in the compound-statement of a lambda expression
763 | 7.5.6.2 | Is a closure object's `operator()` inline?
764 | 7.5.6.3 | Capturing unused variables in a lambda expression
765 | 9.2.3 | Local types in inline functions with external linkage
766 | 7.5.6 | Where may lambda expressions appear?
767 | 7.5.6 | `void` and other unnamed lambda-parameters
768 | 7.5.6 | Ellipsis in a lambda parameter list
769 | 7.5.6 | Initialization of closure objects
770 | 9.3 | Ambiguity in late-specified return type
771 | 7.5.6.2 | Move-construction of reference members of closure objects
772 | 7.5.6.3 | capture-default in lambdas in local default arguments
774 | 7.5.6.2 | Can a closure class be a POD?
775 | 7.5.6.3 | Capturing references to functions
776 | 6.10.3.3 | Delegating constructors, destructors, and `std::exit`
777 | 9.3.4.7 | Default arguments and parameter packs
779 | 7.5.6.2 | Rvalue reference members of closure objects?
782 | 7.5.6 | Lambda expressions and argument-dependent lookup
785 | 6.10.1 | “Execution sequence” is inappropriate phraseology
786 | 6.10.2 | Definition of “thread”
787 | 5.2 | Unnecessary lexical undefined behavior
788 | 5.3.1 | Relationship between locale and values of the execution character set
789 | _N4140_.2.4 | Deprecating trigraphs
790 | 5.13.5 | Concatenation of raw and non-raw string literals
792 | 6.10.3.1 | Effects of `std::quick_exit`
793 | 6.8.4 | Use of class members during destruction
796 | 7.5.6 | Lifetime of a closure object with members captured by reference
797 | 7.5.6.2 | Converting a no-capture lambda to a function type
799 | 7.6.1.10 | Can `reinterpret_cast` be used to cast an operand to its own type?
801 | 7.6.1.11 | Casting away constness in a cast to rvalue reference type
803 | 7.6.2.5 | `sizeof` an enumeration type with a fixed underlying type
804 | 7.6.2.8 | Deducing the type in `new auto(x)`
805 | 7.6.2.8 | Which exception to throw for overflow in array size calculation
806 | 7.7 | Enumeration types in integral constant expressions
808 | 9.2 | Non-type decl-specifiers versus max-munch
809 | 9.2.2 | Deprecation of the `register` keyword
810 | 9.2.2 | Block-scope `thread_local` variables should be implicitly `static`
811 | 9.2.9.2 | Unclear implications of const-qualification
812 | 9.9.2 | Duplicate names in inline namespaces
814 | 9.13 | Attribute to indicate that a function throws nothing
815 | 9.13.1 | Parameter pack expansion inside attributes
816 | _N3225_.7.6.4 | Diagnosing violations of `[[final]]`
817 | _N3225_.7.6.4 | Meaning of `[[final]]` applied to a class definition
818 | 9.3.4.6 | Function parameter packs in non-final positions
820 | 13 | Deprecation of `export`
823 | 13.4.3 | Literal types with constexpr conversions as non-type template arguments
828 | 14.2 | Destruction of exception objects
830 | 14.5 | Deprecating exception specifications
831 | Annex B | Limit on recursively nested template instantiations
832 | 5.7 | Value of preprocessing numbers
833 | 7.6.1.9 | Explicit conversion of a scoped enumeration value to a floating type
834 | 5.13.5 | What is an “ordinary string literal”?
835 | 7 | Scoped enumerations and the “usual arithmetic conversions”
840 | 13.2 | Rvalue references as nontype template parameters
842 | 7.6.1.10 | Casting to rvalue reference type
845 | 9.6 | What is the “first declaration” of an explicit specialization?
846 | 7.2.1 | Rvalue references to functions
847 | 13.10.3.2 | Error in rvalue reference deduction example
850 | _N4567_.5.1.1 | Restrictions on use of non-static data members
853 | _N4885_6.7.5.5.4 | Support for relaxed pointer safety
854 | 7.6.7 | Left shift and unsigned extended types
855 | 7.6.19 | Incorrect comments in braced-init-list assignment example
858 | 7 | Example binding an rvalue reference to an lvalue
861 | 6.5.5.3 | Unintended ambiguity in inline namespace lookup
862 | 9.8.1 | Undefined behavior with enumerator value overflow
863 | 7.6.1 | Rvalue reference cast to incomplete type
865 | 9.5.5 | Initializing a `std::initializer_list`
869 | 9.5 | Uninitialized `thread_local` objects
872 | 5.13.5 | Lexical issues with raw strings
874 | 11.4 | Class-scope definitions of enumeration types
876 | 13.10.3.2 | Type references in rvalue reference deduction specification
877 | 12.2.3 | Viable functions and binding references to rvalues
879 | 12.5 | Missing built-in comparison operators for pointer types
880 | 12.5 | Built-in conditional operator for scoped enumerations
882 | 6.10.3.1 | Defining `main` as deleted
883 | 6.9 | `std::memcpy` vs `std::memmove`
884 | 13.9.4 | Defining an explicitly-specialized static data member
886 | 9.5.2 | Member initializers and aggregates
887 | 11.4.5.3 | Move construction of thrown object
888 | 11.9.3 | Union member initializers
891 | 7.6.1.11 | `const_cast` to rvalue reference from objectless rvalue
896 | 9.5.4 | Rvalue references and rvalue-reference conversion functions
899 | 12.2.2.5 | Explicit conversion functions in direct class initialization
904 | 7.5.6.3 | Parameter packs in lambda-captures
905 | 11 | Explicit defaulted copy constructors and trivial copyability
906 | 9.6 | Which special member functions can be defaulted?
908 | 9.6 | Deleted global allocation and deallocation functions
910 | 11.4.5.3 | Move constructors and implicitly-declared copy constructors
913 | 13.10.3.4 | Deduction rules for array- and function-type conversion functions
915 | 9.6 | Deleted specializations of member function templates
919 | 9.9.2 | Contradictions regarding inline namespaces
920 | 9.3.4 | Interaction of inline namespaces and using-declarations
921 | 9.9.2 | Unclear specification of inline namespaces
922 | 11.4.5 | Implicit default constructor definitions and `const` variant members
923 | 13.9.4 | Inline explicit specializations
926 | 9.9.2.2 | Inline unnamed namespaces
927 | 11.4.5 | Implicitly-deleted default constructors and member initializers
928 | 9.6 | Defaulting a function that would be implicitly defined as deleted
929 | 13.7.8 | What is a template alias?
930 | 7.6.2.6 | `alignof` with incomplete array type
931 | 5.13.9 | Confusing reference to the length of a user-defined string literal
932 | 5.13.5 | UCNs in closing delimiters of raw string literals
933 | 5.13.3 | 32-bit UCNs with 16-bit `wchar_t`
934 | 9.5.5 | List-initialization of references
935 | 12.6 | Missing overloads for character types for user-defined literals
936 | 9.5.3 | Array initialization with new string literals
939 | 11.7.3 | Explicitly checking virtual function overriding
940 | 9.2.2 | Global anonymous unions
942 | 6.1 | Is `this` an entity?
946 | 6.10.3.3 | Order of destruction of local static objects and calls to `std::atexit`
950 | 9.2.9.3 | Use of `decltype` as a class-name
951 | 9.13 | Problems with attribute-specifiers
953 | 12.2.4.2.5 | Rvalue references and function viability
955 | 7.5.6.2 | Can a closure type's `operator()` be virtual?
956 | 9.3.4.6 | Function prototype scope with late-specified return types
957 | 9.13.1 | Alternative tokens and attribute-tokens
959 | 9.13.2 | Alignment attribute for class and enumeration types
960 | 11.7.3 | Covariant functions and lvalue/rvalue references
961 | 12.2.4.3 | Overload resolution and conversion of `std::nullptr_t` to `bool`
962 | 9.2.9.5 | Attributes appertaining to class and enum types
963 | 7.6.9 | Comparing `nullptr` with 0
965 | _N5001_.9.12.4 | Limiting the applicability of the `carries_dependency` attribute
966 | 6.7 | Nested types without linkage
968 | 9.13.1 | Syntactic ambiguity of the attribute notation
969 | 13.9.3 | Explicit instantiation declarations of class template specializations
970 | 9.13 | Consistent use of “appertain” and “apply”
973 | 14.5 | Function types in exception-specifications
976 | 13.10.3.4 | Deduction for `const T&` conversion operators
978 | 12.2.4.2 | Incorrect specification for copy initialization
979 | 9.3 | Position of attribute-specifier in declarator syntax
980 | 13.9.3 | Explicit instantiation of a member of a class template
983 | 7.6.2.2 | Ambiguous pointer-to-member constant
984 | 9.2.9.7 | “Deduced type” is unclear in `auto` type deduction
986 | 9.9.4 | Transitivity of using-directives versus qualified lookup
988 | 9.2.9.3 | Reference-to-reference collapsing with `decltype`
989 | 9.5.5 | Misplaced list-initialization example
990 | 9.5.5 | Value initialization with multiple initializer-list constructors
991 | 9.2.6 | Reference parameters of constexpr functions and constructors
995 | 13.9.3 | Incorrect example for using-declaration and explicit instantiation
999 | 12.2 | “Implicit” or “implied” object argument/parameter?
1000 | 6.5.5.2 | Mistaking member typedefs for constructors
1010 | 7.7 | Address of object with dynamic storage duration in constant expression

### Issues with "C++11" Status:

Issue | Section | Title
96 | 13.3 | Syntactic disambiguation using the `template` keyword
248 | _N2691_.E | Identifier characters
341 | 9.12 | `extern "C"` namespace member function versus global variable
355 | 11 | Global-scope `::` in nested-name-specifier
373 | 6.5.7 | Lookup on namespace qualified name in using-directive
407 | 9.2.4 | Named class with associated typedef: two names or one?
431 | 13.3 | Defect in wording in 14.2
448 | 13.8.2 | Set of template functions in call with dependent explicit argument
458 | 13.8.2 | Hiding of member template parameters by other members
475 | _N5001_.14.6.3 | When is `std::uncaught_exception()` true? (take 2)
502 | 13.8.3.2 | Dependency of nested enumerations and enumerators
508 | 9.5 | Non-constructed value-initialized objects
531 | 13.9.4 | Defining members of explicit specializations
532 | 13.7.7.3 | Member/nonmember operator template partial ordering
546 | 13.9.3 | Explicit instantiation of class template members
547 | 9.3.4.6 | Partial specialization on member function types
572 | 7.3 | Standard conversions for non-built-in types
573 | 7.6.1.10 | Conversions between function pointers and `void*`
575 | 13.10.3 | Criteria for deduction failure
580 | 11.8 | Access in template-parameters of member and friend definitions
590 | 13.8.3.2 | Nested classes and the “current instantiation”
602 | 13.8.2 | When is the injected-class-name of a class template a template?
605 | 13.9.4 | Linkage of explicit specializations
615 | 9.5 | Incorrect description of variables that can be initialized
619 | 6.9 | Completeness of array types
621 | 13.9.4 | Template argument deduction from function return types
655 | 11.9.3 | Initialization not specified for forwarding constructors
674 | 13.7.5 | “matching specialization” for a friend declaration
676 | 6.2 | static_assert-declarations and general requirements for declarations
678 | 6.3 | Language linkage of member function parameter types and the ODR
691 | 13.2 | Template parameter packs in class template partial specializations
692 | 13.10.3.6 | Partial ordering of variadic class template partial specializations
694 | 9.5 | Zero- and value-initialization of union objects
696 | 11.6 | Use of block-scope constants in local classes
700 | 9.2.6 | Constexpr member functions of class templates
709 | 13.10.3 | Enumeration names as nested-name-specifiers in deduction failure
738 | 11.4.5 | `constexpr` not permitted by the syntax of constructor declarations
741 | 11.4.10 | “plain” `long long` bit-fields
758 | 6.2 | Missing cases of declarations that are not definitions
773 | 13.4.3 | Parentheses in address non-type template arguments
778 | 13.2 | Template parameter packs in non-type template parameters
784 | 4.2 | List of incompatibilities with the previous Standard
798 | 7.6.1.2 | Overloaded subscript operator described in clause 5
837 | 9.2.6 | Constexpr functions and `return` braced-init-list
838 | 11.9.3 | Use of `this` in a brace-or-equal-initializer
860 | 9.2.6 | Explicit qualification of constexpr member functions
864 | 8.6.5 | braced-init-list in the range-based `for` statement
873 | 13.10.3.6 | Deducing rvalue references in declarative contexts
892 | 9.2.6 | Missing requirements for constexpr constructors
898 | 9.2.6 | Declarations in constexpr functions
924 | 11.4 | alias-declaration as a class member
938 | 9.5.2 | Initializer lists and array new
941 | 13.9.4 | Explicit specialization of deleted function template
945 | _N4567_.5.1.1 | Use of `this` in a late-specified return type
948 | 8.5 | `constexpr` in conditions
964 | 7.2.1 | Incorrect description of when the lvalue-to-rvalue conversion applies
971 | 14.4 | Incorrect treatment of exception-declarations
972 | 9.13.1 | Allowing multiple attribute-specifiers
981 | 6.9 | Constexpr constructor templates and literal types
985 | 5.9 | Alternative tokens and user-defined literals
993 | 13.8.4.1 | Freedom to perform instantiation at the end of the translation unit
994 | 9.3.4.6 | braced-init-list as a default argument
996 | 13.7.6 | Ambiguous partial specializations of member class templates
997 | 6.5.4 | Argument-dependent lookup and dependent function template parameter types
1004 | 13.8.2 | Injected-class-names as arguments for template template parameters
1006 | 13.2 | `std::nullptr_t` as a non-type template parameter
1009 | 13 | Missing cases in the declarator-id of a function template declaration
1011 | 7.6.1.9 | Standard conversions that cannot be inverted
1012 | 9.9.2.2 | Undeprecating `static`
1015 | 6.5.4 | Template arguments and argument-dependent lookup
1016 | 12 | Overloadable declarations, function templates, and references
1017 | 11.4.3 | Member access transformation in unevaluated operands
1018 | 9.1 | Ambiguity between simple-declaration and attribute-declaration
1020 | 11.4.5.3 | Implicitly-defined copy constructors and explicit base class constructors
1022 | 9.8.1 | Can an enumeration variable have values outside the values of the enumeration?
1025 | 13.4.3 | Use of a reference as a non-type template argument
1029 | 11.4.7 | Type of a destructor call
1030 | 9.5.2 | Evaluation order in initializer-lists used in aggregate initialization
1031 | 9.13.1 | Optional elements in attributes
1032 | 13.7.4 | Empty pack expansions
1033 | 9.13.2 | Restrictions on alignment attributes
1034 | 7.5.6 | Attributes for `return` statements in lambdas
1035 | 11.4 | Omitted and required decl-specifiers
1036 | 9.13.2 | Alignment attribute in an exception-declaration
1037 | 7.6.2.9 | Requirements for operands of delete-expressions and deallocation functions
1042 | 9.1 | Attributes in alias-declarations
1043 | 13.8.3.2 | Qualified name lookup in the current instantiation
1044 | 6.4.2 | Point of declaration for an alias-declaration
1047 | 13.8.3.4 | When is `typeid` value-dependent?
1051 | 11.4.5.3 | Reference members and generated copy constructors
1054 | 8.3 | Lvalue-to-rvalue conversions in expression statements
1055 | 6.9.2 | Permissible uses of `void`
1056 | 13.7.8 | Template aliases, member definitions, and the current instantiation
1057 | 13.8.3.2 | `decltype` and the current instantiation
1060 | 7.7 | Scoped enumerators in integral constant expressions
1061 | 7.6.2.8 | Negative array bounds in a new-expression
1062 | 7.5.6 | Syntax of attribute-specifiers in lambdas
1063 | _N3225_.7.6.5 | `[[hiding]]` with non-attribute declarations
1064 | 11.4.5.3 | Defaulted move constructor for a union
1065 | _N3225_.7.6.5 | `[[hiding]]` with `[[override]]`
1066 | 11.4.6 | When is a copy/move assignment operator implicitly defined?
1068 | 13.2 | Template aliases with default arguments and template parameter packs
1069 | 9.3.4.6 | Incorrect function type with trailing-return-type
1070 | 9.5.2 | Missing initializer clauses in aggregate initialization
1071 | 6.9 | Literal class types and trivial default constructors
1072 | 11.4 | Scoped enumerator with the same name as its containing class
1073 | 14.5 | Merging dynamic-exception-specifications and noexcept-specifications
1074 | 13.8.3.4 | Value-dependent noexcept-expressions
1075 | 9.2.9.3 | Grammar does not allow template alias in type-name
1079 | 12.2.4.3 | Overload resolution involving aggregate initialization
1080 | 11.4.5.3 | Confusing relationship between templates and copy constructors
1081 | 11.4.7 | Defaulted destructor and unusable operator delete
1082 | 11.4.5.3 | Implicit copy function if subobject has none?
1083 | 7.6.1.3 | Passing an object to ellipsis with non-trivial move constructor
1086 | 7.6.1.11 | `const_cast` to rvalue reference to function type
1087 | 12.2.2.5 | Additional applications of issue 899
1088 | 13.8.3.4 | Dependent non-type template arguments
1090 | 6.8.3 | Alignment of subobjects
1091 | 7.6.4 | Inconsistent use of the term “object expression”
1094 | 7.6.1.9 | Converting floating-point values to scoped enumeration types
1095 | 9.5.5 | List-initialization of references
1096 | 13 | Missing requirement for template definitions
1098 | 7.7 | Pointer conversions in constant expressions
1099 | 7.7 | Infinite recursion in `constexpr` functions
1100 | 7.7 | `constexpr` conversion functions and non-type template arguments
1101 | 11.4.9.3 | Non-integral initialized static data members
1102 | 6.10.1 | Better example of undefined behavior
1103 | 5.2 | Reversion of phase 1 and 2 transformations in raw string literals
1104 | 5.9 | Global-scope template arguments vs the `<:` digraph
1105 | 5.11 | Issues relating to TR 10176:2003
1106 | 5.13.8 | Need more detail in `nullptr` keyword description
1107 | 5.13.9 | Overload resolution for user-defined integer literals
1109 | 6.3 | When is “use” a reference to the ODR meaning?
1111 | _N4868_.6.5.6 | Remove dual-scope lookup of member template names
1112 | 6.7 | `constexpr` variables should have internal linkage like `const`
1113 | 6.7 | Linkage of namespace member of unnamed namespace
1114 | 6.8.4 | Incorrect use of placement `new` in example
1115 | 6.8.3 | C-compatible alignment specification
1117 | 7 | Incorrect note about xvalue member access expressions
1119 | 7.6.1.5 | Missing case in description of member access ambiguity
1120 | 7.6.1.10 | `reinterpret_cast` and `void*`
1121 | 7.6.2.2 | Unnecessary ambiguity error in formation of pointer to member
1122 | 7.6.2.5 | Circular definition of `std::size_t`
1123 | 7.6.2.7 | Destructors should be `noexcept` by default
1125 | 7.7 | Unclear definition of “potential constant expression”
1126 | 7.7 | `constexpr` functions in `const` initializers
1127 | 7.7 | Overload resolution in `constexpr` functions
1128 | 9.2 | attribute-specifiers in decl-specifier-seqs
1129 | 9.2.6 | Default `nothrow` for `constexpr` functions
1130 | 9.2.9.3 | Function parameter type adjustments and `decltype`
1131 | 9.2.9.5 | Template aliases in elaborated-type-specifiers
1133 | _N3225_.7.6.5 | Keywords vs attributes for control of hiding and overriding
1134 | 9.6.2 | When is an explicitly-defaulted function defined?
1135 | 9.6.2 | Explicitly-defaulted non-public special member functions
1136 | 9.6.2 | Explicitly-defaulted explicit constructors
1137 | 9.6.2 | Explicitly-defaulted virtual special member functions
1138 | 9.5.4 | Rvalue-ness check for rvalue reference binding is wrong
1139 | 9.5.4 | Rvalue reference binding to scalar xvalues
1140 | 11 | Incorrect redefinition of POD class
1142 | 11.4.2 | `friend` declaration of member function of containing class
1144 | _N3225_.11.3 | Remove access declarations
1145 | 11.4.5 | Defaulting and triviality
1146 | 11.4.7 | exception-specifications of defaulted functions
1147 | 11.4.7 | Destructors should be default `nothrow`
1148 | 11.9.6 | Copy elision and move construction of function parameters
1149 | 11.4.5.3 | Trivial non-public copy operators in subobjects
1151 | 12.2.2.8 | Overload resolution with initializer-list and non-list constructors
1152 | 12.2.3 | Rules for determining existence of implicit conversion sequence
1153 | 12.3 | Type matching in address of overloaded function
1154 | 13.4.3 | Address of `thread_local` variable as non-type template argument
1155 | 13.4.3 | Internal-linkage non-type template arguments
1156 | 13.7.7.3 | Partial ordering in a non-call context
1158 | 13.7.8 | Recursive instantiation via alias template
1159 | 13.7.8 | Class and enumeration definitions in template aliases
1160 | 13.8.3.2 | Definitions of template members and the current instantiation
1161 | 13.8 | Dependent nested-name-specifier in a pointer-to-member declarator
1164 | 13.10.3.2 | Partial ordering of `f(T&)` and `f(T&&)`
1165 | 14.3 | Exceptions when destroying array elements
1166 | 14.4 | exception-declarations that do not declare objects
1167 | 14.5 | function-try-blocks for destructors
1168 | 14.6.2 | Additional reasons to call `std::terminate`
1169 | 15.12 | Missing feature macro for strict pointer safety
1170 | 13.10.3 | Access checking during template argument deduction
1171 | 14.6.2 | Partial stack unwinding with `noexcept` violation
1173 | 6.10.1 | Unclear specification of effects of signal handling
1174 | 6.3 | When is a pure virtual function “used?”
1175 | 5.13.9 | Disambiguating user-defined literals
1176 | 6.10.2 | Definition of release sequence
1177 | 6.10.2 | Intra-thread dependency-ordered-before
1178 | 13.10.3.7 | Deduction failure matching placement new
1180 | 6.8.3 | Over-aligned class types
1181 | 6.9 | What is a “built-in type?”
1182 | 13.7.4 | Incorrect description of pack expansion syntax
1183 | 9.3.4.6 | Expansion of parameter packs in declarators
1184 | 13.10.3.2 | Argument conversions to nondeduced parameter types
1185 | 9.12 | Misleading description of language linkage and member function types
1186 | 9.2.6 | Non-dependent `constexpr` violations in function templates
1187 | 6.10.3.2 | Problems in initialization example
1188 | 7.7 | Type punning in constant expressions
1189 | 6.8.2 | Address of distinct base class subobjects
1190 | _N4885_6.7.5.5.4 | Operations on non-safely-derived pointers
1191 | 11.4.5 | Deleted subobject destructors and implicitly-defined constructors
1192 | 6.3 | Inadvertent change to ODR and templates
1193 | 7.7 | Use of address-constant pointers in constant expressions
1194 | 9.2.6 | Constexpr references
1195 | 9.2.6 | References to non-literal types in constexpr functions
1196 | 13.9.3 | Definition required for explicit instantiation after explicit specialization?
1197 | 7.7 | Constexpr arrays
1198 | 6.9 | Literal types and copy constructors
1199 | 9.2.6 | Deleted constexpr functions
1201 | 6.2 | Are deleted and defaulted functions definitions?
1202 | 11.9.5 | Calling virtual functions during destruction
1204 | 8.6 | Specifiers in a for-range-declaration
1206 | 13.7.2 | Defining opaque enumeration members of class templates
1207 | 11.4.3 | Type of class member in trailing-return-type
1208 | 11.4.3 | Explicit `noexcept` in defaulted definition
1210 | 6.4.2 | Injection of elaborated-type-specifier in enumeration scope
1212 | 9.2.9.3 | Non-function-call xvalues and `decltype`
1214 | 9.5 | Kinds of initializers
1215 | 11 | Definition of POD struct
1216 | 14.5 | Exceptions “allowed” by a noexcept-specification
1218 | 14.4 | What is the “currently-handled exception” in a multi-threaded program?
1219 | 6.9 | Non-static data member initializers in constant expressions
1220 | _N4868_.6.5.6 | Looking up conversion-type-ids
1224 | 11.4.5.3 | `constexpr` defaulted copy constructors
1225 | 9.2.6 | `constexpr` constructors and virtual bases
1229 | 12.2.2.8 | Overload resolution with empty braced-init-list argument
1231 | 13.7.4 | Variadic templates requiring an empty pack expansion
1232 | 9.5.5 | Creation of array temporaries using a braced-init-list
1233 | 13.8.3 | Pack expansions and dependent calls
1234 | 9.3.2 | abstract-declarator does not permit `...` after ptr-operator
1235 | 13.7.7.3 | “Unused” ellipsis and default arguments in partial ordering
1236 | 9.5.4 | Inconsistently-interrelated examples
1237 | 6.8.7 | Deprecated implicit copy assignment in example
1238 | 12.2.4.3 | Overloading ambiguity binding reference to function
1239 | 5.13.9 | Hexadecimal floating-point literals vs user-defined literals
1240 | 9.3.2 | `constexpr` defaulted constructors
1241 | 11.4.7 | Which members does a destructor destroy?
1242 | 11.9.3 | Initializing variant class members
1243 | 9.3 | Misleading footnote regarding multiple-declarator declarations
1244 | 13.6 | Equivalence of alias templates and class templates
1245 | 13.7.2.2 | Matching declarations involving `decltype`
1246 | 13.2 | Non-deduced non-final parameter packs

### Issues with "CD3" Status:

Issue | Section | Title
129 | 6.10.1 | Stability of uninitialized auto variables
223 | Annex D | The meaning of deprecation
240 | 7.3.2 | Uninitialized values and undefined behavior
292 | 7.6.2.8 | Deallocation on exception in `new` before arguments evaluated
312 | 6.8.6.5.3 | “use” of invalid pointer value not defined
332 | 9.3.4.6 | cv-qualified `void` parameter types
342 | 7.6.2 | Terminology: "indirection" versus "dereference"
344 | 11.4.7 | Naming destructors
388 | 14.4 | Catching base`*&` from a throw of derived`*`
462 | 6.8.7 | Lifetime of temporaries bound to comma expressions
482 | 9.3.4 | Qualified declarators in redeclarations
483 | 6.9.2 | Normative requirements on integral ranges
496 | 6.9 | Is a volatile-qualified type really a POD?
535 | 11.4.5.3 | Copy construction without a copy constructor
539 | 9.2.9 | Constraints on type-specifier-seq
565 | 9.10 | Conflict rules for using-declarations naming function templates
577 | 9.3.4.6 | `void` in an empty parameter list
583 | 7.6.9 | Relational pointer comparisons against the null pointer constant
597 | 6.8.4 | Conversions applied to out-of-lifetime non-POD lvalues
616 | 3 | Definition of “indeterminate value”
623 | 6.8.6.5.3 | Use of pointers to deallocated storage
631 | 8.5.2 | Jumping into a “then” clause
675 | 11.4.10 | Signedness of bit-field with typedef or template parameter type
712 | 6.3 | Are integer constant operands of a conditional-expression “used?”
729 | 14.4 | Qualification conversions and handlers of reference-to-pointer type
739 | 11.4.10 | Signedness of plain bit-fields
755 | 7.5.6.3 | Generalized lambda-captures
903 | 13.8.3.4 | Value-dependent integral null pointer constants
912 | 5.13.3 | Character literals and universal-character-names
974 | 7.5.6 | Default arguments for lambdas
975 | 7.5.6 | Restrictions on return type deduction for lambdas
977 | 9.8.1 | When is an enumeration type complete?
1003 | 6.10.3.1 | Acceptable definitions of `main`
1013 | 7.3.2 | Uninitialized `std::nullptr_t` objects
1024 | 5.13.3 | Limits on multicharacter literals
1048 | 7.5.6 | `auto` deduction and lambda return type deduction.
1059 | 6.9.5 | Cv-qualified array types (with rvalues)
1093 | 9.5 | Value-initializing non-objects
1213 | 7.6.1.2 | Array subscripting and xvalues
1226 | 9.3.4.7 | Converting a braced-init-list default argument
1227 | 13.10.3 | Mixing immediate and non-immediate contexts in deduction failure
1250 | 11.7.3 | Cv-qualification of incomplete virtual function return types
1251 | _N4750_.C.1.3 | C compatibility: casting to unqualified `void*`
1260 | 6.3 | Incorrect use of term “overloaded” in description of odr-use
1261 | 7 | Explicit handling of cv-qualification with non-class prvalues
1262 | 13.10.3 | Default template arguments and deduction failure
1264 | 7.7 | Use of `this` in `constexpr` constructor
1265 | 9.2.9.7 | Mixed use of the `auto` specifier
1267 | 14.5 | Rvalue reference types in exception-specifications
1268 | 7.6.1.10 | `reinterpret_cast` of an xvalue operand
1269 | 7.6.1.7 | `dynamic_cast` of an xvalue operand
1270 | 9.5.5 | Brace elision in array temporary initialization
1275 | 13.2 | Incorrect comment in example of template parameter pack restriction
1282 | 14.5 | Underspecified destructor exception-specification
1288 | 9.5.5 | Reference list initialization
1290 | 9.5.5 | Lifetime of the underlying array of an `initializer_list` member
1293 | 7.7 | String literals in constant expressions
1295 | 9.5.4 | Binding a reference to an rvalue bit-field
1296 | 13.8 | Ill-formed template declarations (not just definitions)
1297 | 9.3 | Misplaced function attribute-specifier
1298 | 12.2.4.3 | Incorrect example in overload resolution
1301 | 9.5 | Value initialization of union
1302 | 6.9.2 | `noexcept` applied to expression of type `void`
1305 | 7.6.2.6 | `alignof` applied to array of unknown size
1306 | _N4868_.11.4.3.2 | Modifying an object within a `const` member function
1308 | 11.4 | Completeness of class type within an exception-specification
1310 | 6.5.5.2 | What is an “acceptable lookup result?”
1311 | 7.7 | Volatile lvalues in constant expressions
1312 | 7.7 | Simulated `reinterpret_cast` in constant expressions
1313 | 7.7 | Undefined pointer arithmetic in constant expressions
1318 | 11 | Syntactic ambiguities with `final`
1320 | 7.6.1.9 | Converting scoped enumerations to `bool`
1321 | 13.7.7.2 | Equivalency of dependent calls
1324 | 9.5 | Value initialization and defaulted constructors
1327 | 9.6.2 | virt-specifier in a defaulted definition
1328 | 9.5.4 | Conflict in reference binding vs overload resolution
1329 | Annex B | Recursive deduction substitutions
1330 | 13.10.3 | Delayed instantiation of `noexcept` specifiers
1333 | 9.6.2 | Omission of `const` in a defaulted copy constructor
1336 | 11.4.8.2 | Definition of “converting constructor”
1340 | 7.6.4 | Complete type in member pointer expressions
1345 | 11.9.3 | Initialization of anonymous union class members
1346 | 9.2.9.7 | expression-list initializers and the `auto` specifier
1347 | 9.2.9.7 | Consistency of `auto` in multiple-declarator declarations
1350 | _N4527_.12.9 | Incorrect exception specification for inherited constructors
1352 | 6.4.7 | Inconsistent class scope and completeness rules
1354 | 7.6.2.7 | Destructor exceptions for temporaries in noexcept expressions
1355 | 9.6.2 | Aggregates and “user-provided” constructors
1357 | 11.4 | brace-or-equal-initializers for function and typedef members
1358 | 9.2.6 | Unintentionally ill-formed `constexpr` function template instances
1359 | 9.2.6 | `constexpr` union constructors
1361 | 6.9 | Requirement on brace-or-equal-initializers of literal types
1362 | 6.3 | Complete type required for implicit conversion to `T&`
1363 | 11 | Triviality vs multiple default constructors
1364 | 7.7 | `constexpr` function parameters
1365 | 7.7 | Calling undefined `constexpr` functions
1366 | 9.2.6 | Deleted `constexpr` constructors and virtual base classes
1367 | 7.7 | Use of `this` in a constant expression
1368 | 9.5 | Value initialization and defaulted constructors (part 2)
1369 | 9.2.6 | Function invocation substitution of `this`
1370 | 15.7 | identifier-list cannot contain ellipsis
1372 | 13.10.3.4 | Cross-references incorrect in conversion function template argument deduction
1374 | 12.2.4.3 | Qualification conversion vs difference in reference binding
1375 | 11.5 | Reference to anonymous union?
1380 | 9.3.4.6 | Type definitions in template-parameter parameter-declarations
1381 | 14.5 | Implicitly-declared special member functions and default `nothrow`
1382 | 9.3 | Dead code for constructor names
1383 | 7 | Clarifying discarded-value expressions
1385 | 12.2.2.3 | Syntactic forms of conversion functions for surrogate call functions
1387 | 13.10.3.6 | Missing non-deduced context for `decltype`
1388 | 13.10.3.2 | Missing non-deduced context following a function parameter pack
1392 | 12.2.2.7 | Explicit conversion functions for references and non-references
1394 | 9.3.4.6 | Incomplete types as parameters of deleted functions
1398 | 13.4.3 | Non-type template parameters of type `std::nullptr_t`
1399 | 13.10.3.2 | Deduction with multiple function parameter packs
1401 | 9.5.4 | Similar types and reference compatibility
1402 | 11.4.5.3 | Move functions too often deleted
1405 | 6.9 | `constexpr` and mutable members of literal types
1406 | 13.7.7.3 | ref-qualifiers and added parameters of non-static member function templates
1408 | 12.2.4.3 | What is “the same aggregate initialization?”
1409 | 12.2.4.2.6 | What is the second standard conversion sequence of a list-initialization sequence?
1410 | 12.2.4.3 | Reference overload tiebreakers should apply to rvalue references
1411 | 11 | More on global scope `::` in nested-name-specifier
1412 | 7.6.1.9 | Problems in specifying pointer conversions
1413 | 13.8.3.4 | Missing cases of value-dependency
1415 | 6.7 | Missing prohibition of block-scope definition of `extern` object
1416 | 7.6.1.8 | Function cv-qualifiers and `typeid`
1418 | 9.5.5 | Type of `initializer_list` backing array
1423 | 7.3.14 | Convertibility of `nullptr` to `bool`
1425 | 11.4 | Base-class subobjects of standard-layout structs
1428 | 6.9.5 | Dynamic const objects
1431 | 14 | Exceptions from other than throw-expressions
1435 | 9.3.4 | template-id as the declarator for a class template constructor
1437 | 9.2.4 | `alignas` in alias-declaration
1438 | _N4885_6.7.5.5.4 | Non-dereference use of invalid pointers
1439 | _N4868_.9.8.2.3 | Lookup and friend template declarations
1440 | _N4567_.5.1.1 | Acceptable decltype-specifiers used as nested-name-specifiers
1442 | 8.6.5 | Argument-dependent lookup in the range-based `for`
1447 | 7.6.1.9 | `static_cast` of bit-field lvalue to rvalue reference
1449 | 9.5.5 | Narrowing conversion of negative value to unsigned type
1450 | 7.6.5 | `INT_MIN % -1`
1453 | 6.9 | Volatile members in literal classes?
1454 | 7.7 | Passing constants through `constexpr` functions via references
1455 | 7.7 | Lvalue converted constant expressions
1456 | 7.7 | Address constant expression designating the one-past-the-end address
1457 | 7.6.7 | Undefined behavior in left-shift
1458 | 7.6.2.2 | Address of incomplete type vs `operator&()`
1462 | 13.10.3 | Deduction failure vs “ill-formed, no diagnostic required”
1464 | 7.6.2.8 | Negative array bound in a new-expression
1471 | 13.8.3.2 | Nested type of non-dependent base
1472 | 6.3 | odr-use of reference variables
1473 | 12.6 | Syntax of literal-operator-id
1475 | _N5001_.9.12.4 | Errors in `[[carries_dependency]]` example
1476 | 3 | Definition of user-defined type
1477 | _N4868_.9.8.2.3 | Definition of a `friend` outside its namespace
1479 | 12.6 | Literal operators and default arguments
1480 | 7.7 | Constant initialization via non-constant temporary
1481 | 12.4.7 | Increment/decrement operators with reference parameters
1482 | 6.4.2 | Point of declaration of enumeration
1487 | _N4527_.12.9 | When are inheriting constructors declared?
1489 | 6.10.3.2 | Is value-initialization of an array constant initialization?
1491 | 11.4.5.3 | Move construction and rvalue reference members
1494 | 9.5.5 | Temporary initialization for reference binding in list-initialization
1495 | 13.7.6 | Partial specialization of variadic class template
1502 | 9.5 | Value initialization of unions with member initializers
1503 | 14.2 | Exceptions during copy to exception object
1504 | 7.6.6 | Pointer arithmetic after derived-base conversion
1506 | 9.5.5 | Value category of `initializer_list` object
1507 | 9.5 | Value initialization with trivial inaccessible default constructor
1510 | 9.3.4.3 | cv-qualified references via `decltype`
1511 | 6.3 | `const volatile` variables and the one-definition rule
1512 | 7.6.9 | Pointer comparison vs qualification conversions
1515 | 6.9.2 | Modulo 2n arithmetic for implicitly-unsigned types
1516 | 7.6.1.3 | Definition of “virtual function call”
1522 | 9.5.5 | Access checking for `initializer_list` array initialization
1527 | 7.6.19 | Assignment from braced-init-list
1528 | 9.3 | Repeated cv-qualifiers in declarators
1531 | 3 | Definition of “access” (verb)
1532 | 13.9.3 | Explicit instantiation and member templates
1533 | 13.7.4 | Function pack expansion for member initialization
1535 | 7.7 | `typeid` in core constant expressions
1537 | 7.7 | Optional compile-time evaluation of constant expressions
1538 | 7.6.19 | C-style cast in braced-init-list assignment
1539 | 6.9.2 | Definition of “character type”
1541 | 8.8.4 | cv `void` return types
1543 | 12.2.4.2.6 | Implicit conversion sequence for empty initializer list
1544 | 9.2.2 | Linkage of member of unnamed namespace
1550 | 7.6.16 | Parenthesized throw-expression operand of conditional-expression
1553 | 7.6.2.5 | `sizeof` and xvalue bit-fields
1556 | 12.2.2.5 | Constructors and explicit conversion functions in direct initialization
1557 | 7.5.6.2 | Language linkage of converted lambda function pointer
1559 | 7.6.2.8 | String too long in initializer list of new-expression
1560 | 7.6.16 | Gratuitous lvalue-to-rvalue conversion in conditional-expression with throw-expression operand
1563 | 12.3 | List-initialization and overloaded function disambiguation
1588 | 9.2.9.7 | Deducing cv-qualified `auto`
1597 | 9.2.6 | Misleading `constexpr` example
1605 | 11.4.7 | Misleading parenthetical comment for explicit destructor call
2035 | 13.7.6.2 | Multi-section example is confusing
2114 | _N4750_.C.3.5 | Missing description of incompatibility from aggregate NSDMIs
2150 | 9.5.5 | Initializer list array lifetime
2162 | 7.5.6.3 | Capturing `this` by reference

### Issues with "C++14" Status:

Issue | Section | Title
1287 | 9.5.4 | Direct initialization vs “implicit” conversion in reference binding
1307 | 12.2.4.2.6 | Overload resolution based on size of array initializer-list
1344 | 11.4.5.3 | Adding new special member functions to a class via default arguments
1376 | 7.6.1.9 | `static_cast` of temporary to rvalue reference
1417 | 9.3.4.6 | Pointers/references to functions with cv-qualifiers or ref-qualifier
1424 | 14.3 | When must sub-object destructors be accessible?
1441 | 6.10.1 | Unclear wording for signal handler restrictions
1460 | 11.5 | What is an empty union?
1466 | 6.10.2 | Visible sequences of side effects are redundant
1493 | 11.4.5.3 | Criteria for move-construction
1508 | 9.5.5 | Template initializer-list constructors
1509 | 3 | Definition of “non-template function”
1514 | 11.4.10 | Ambiguity between enumeration definition and zero-length bit-field
1551 | 9.10 | Wording problems in using-declaration specification
1562 | 11.9.3 | Non-static data member initializers and union ctor-initializer
1567 | _N4527_.12.9 | Inheriting constructors and copy/move constructors
1569 | 13.10.3.6 | Deducing a function parameter pack before ellipsis
1570 | 13.4.3 | Address of subobject as non-type template argument
1575 | _N4885_6.7.5.5.4 | Incorrect definition of “strict pointer safety”
1576 | 7 | Discarded-value volatile xvalues
1579 | 11.4.5.3 | Return by converting move constructor
1583 | 6.10.1 | Incorrect example of unspecified behavior
1587 | 9.2.6 | `constexpr` initialization and nested anonymous unions
1592 | 13.4.4 | When do template parameters match?
1593 | 11.4.5.3 | “Parameter type” of special member functions
1595 | 9.2.6 | Constructors “involved in” subobject initialization
1598 | 7.6.10 | Criterion for equality of pointers to members
1601 | 7.3.7 | Promotion of enumeration with fixed underlying type
1604 | 9.5.4 | Double temporaries in reference initialization
1607 | 7.5.6 | Lambdas in template parameters
1608 | 12.2.2.3 | Operator lookup in trailing return type
1611 | 11.4.5 | Deleted default constructor for abstract class
1612 | 7.5.6.3 | Implicit lambda capture and anonymous unions
1613 | 7.5.6.3 | Constant expressions and lambda capture
1618 | 9.8.1 | Gratuitously-unsigned underlying enum type
1629 | 7.5.6.2 | Can a closure class be a literal type?
1648 | 9.2.2 | `thread_local` vs block extern declarations
1649 | 11.9.3 | Error in the syntax of mem-initializer-list
1658 | 11.4.5 | Deleted default constructor for abstract class via destructor
1660 | 11.4 | member-declaration requirements and unnamed bit-fields
1662 | 7.5.6.3 | Capturing function parameter packs
1664 | 7.5.6 | Argument-dependent lookup of lambdas used in default arguments
1666 | 13.4.3 | Address constant expressions
1669 | 6.10.3.1 | `auto` return type for `main`
1673 | 12.2.4.2 | Clarifying overload resolution for the second step of copy-initialization
1674 | 9.2.9.7 | Return type deduction for address of function
1681 | 7.5.6.3 | init-captures and nested lambdas
1684 | 9.2.6 | Static `constexpr` member functions for non-literal classes
1687 | 12.2.2.3 | Conversions of operands of built-in operators
1689 | 9.13.1 | Syntactic nonterminal for operand of `alignas`
1690 | 6.5.4 | Associated namespace for local type
1691 | 6.5.4 | Argument-dependent lookup and opaque enumerations
1692 | 6.5.4 | Associated namespaces of doubly-nested classes
1693 | 11.4 | Superfluous semicolons in class definitions
1707 | 9.2.9.5 | `template` in elaborated-type-specifier without nested-name-specifier
1716 | 9.3.4.7 | When are default arguments evaluated?
1717 | 5.13.2 | Missing specification of type of binary literal
1732 | 8.5 | Defining types in conditions and range-based `for` statements
1737 | 13.8.3.2 | Type dependence of call to a member of the current instantiation
1738 | _N4527_.12.9 | Explicit instantiation/specialization of inheriting constructor templates
1739 | 7.6.1.9 | Conversion of floating point to enumeration
1740 | 14.5 | Disambiguation of `noexcept`
1741 | 6.3 | odr-use of class object in lvalue-to-rvalue conversion
1746 | 6.9 | Are volatile scalar types trivially copyable?
1747 | 6.10.3.2 | Constant initialization of reference to function
1759 | 5.13.5 | UTF-8 code units in plain `char`
1760 | 7.5.6.3 | Access of member corresponding to init-capture
1762 | 12.6 | Reserved identifier used in literal-operator-id example
1764 | 6.5.2 | Hiding of function from using-declaration by signature
1765 | 9.8.1 | Overflow of enumeration used as enumerator value
1767 | 8.5.3 | Scoped enumeration in a `switch` statement
1769 | 14.4 | Catching a base class of the exception object
1770 | 13.10.3.6 | Type matching of non-type template parameters and arguments
1772 | 7.5.6 | `__func__` in a lambda body
1773 | 7.3.2 | Out-of-lifetime lvalue-to-rvalue conversion
1775 | 5.2 | Undefined behavior of line splice in raw string literal
1778 | 9.6.2 | exception-specification in explicitly-defaulted functions
1786 | 7.6.2.8 | Effect of merging allocations on memory leakage
1787 | 7.3.2 | Uninitialized `unsigned char` values

### Issues with "CD4" Status:

Issue | Section | Title
92 | 14.5 | Should exception-specifications be part of the type system?
212 | 13.9.2 | Implicit instantiation is not described clearly enough
238 | 7 | Precision and accuracy constraints on floating point
242 | 7.6.3 | Interpretation of old-style casts
330 | 7.3.6 | Qualification conversions and pointers to arrays of pointers
393 | 9.3.4.6 | Pointer to array of unknown bound in template argument list in parameter
591 | 13.8.3 | When a dependent base class is the current instantiation
609 | 9.2.9.2 | What is a “top-level” cv-qualifier?
636 | 7.2.1 | Dynamic type of objects and aliasing
670 | 9.5 | Copy initialization via derived-to-base conversion in the second step
987 | 9.9 | Which declarations introduce namespace members?
1021 | _N4868_.9.8.2.3 | Definitions of namespace members
1116 | 6.8.4 | Aliasing of union members
1247 | 9.2.4 | Restriction on alias name appearing in type-id
1274 | 8.6.5 | Common nonterminal for expression and braced-init-list
1284 | 6.8.4 | Should the lifetime of an array be independent of that of its elements?
1292 | 13.8.3 | Dependent calls with braced-init-lists containing a pack expansion
1309 | 13.8.3.2 | Incorrect note regarding lookup of a member of the current instantiation
1315 | 13.7.6.1 | Restrictions on non-type template arguments in partial specializations
1338 | 6.8.6.5.2 | Aliasing and allocation functions
1351 | 14.5 | Problems with implicitly-declared exception-specifications
1356 | 14.5 | Exception specifications of copy assignment operators with virtual bases
1391 | 13.10.2 | Conversions to parameter types with non-deduced template arguments
1397 | 11.4 | Class completeness in non-static data member initializers
1446 | 13.7.7.3 | Member function with no ref-qualifier and non-member function with rvalue reference
1451 | 13.4.3 | Objects with no linkage in non-type template arguments
1465 | 7.6.2.7 | `noexcept` and `std::bad_array_new_length`
1467 | 9.5.5 | List-initialization of aggregate from same-type object
1484 | 13.9.2 | Unused local classes of function templates
1490 | 9.5.5 | List-initialization from a string literal
1492 | 11.4.7 | Exception specifications on template destructors
1496 | 11.3 | Triviality with deleted and missing default constructors
1518 | 9.5.5 | Explicit default constructors and copy-list-initialization
1552 | 9.6.2 | exception-specifications and defaulted special member functions
1558 | 13.7.8 | Unused arguments in alias template specializations
1561 | 9.5.2 | Aggregates with empty base classes
1571 | 9.5.4 | cv-qualification for indirect reference binding via conversion function
1572 | 9.5.4 | Incorrect example for rvalue reference binding via conversion function
1573 | _N4527_.12.9 | Inherited constructor characteristics
1589 | 12.2.4.3 | Ambiguous ranking of list-initialization sequences
1590 | 11.4.5.3 | Bypassing non-copy/move constructor copying
1591 | 13.10.3.2 | Deducing array bound and element type from initializer list
1596 | 7.6.9 | Non-array objects as `array[1]`
1599 | 9.5.5 | Lifetime of `initializer_list` underlying array
1600 | 9.2.9.3 | Erroneous reference initialization in example
1603 | 6.7 | Errors resulting from giving unnamed namespaces internal linkage
1614 | 6.3 | Address of pure virtual function vs odr-use
1615 | 9.13.2 | Alignment of types, variables, and members
1630 | 9.5 | Multiple default constructor templates
1631 | 12.2.4.2.6 | Incorrect overload resolution for single-element initializer-list
1633 | 9.5 | Copy-initialization in member initialization
1638 | 9.8.1 | Declaring an explicit specialization of a scoped enumeration
1639 | 14.5 | exception-specifications and pointer/pointer-to-member expressions
1645 | _N4527_.12.9 | Identical inheriting constructors via default arguments
1652 | 7.6.10 | Object addresses in `constexpr` expressions
1653 | 7.6.2.3 | Removing deprecated increment of `bool`
1657 | 9.9.2 | Attributes for namespaces and enumerators
1672 | 11.4 | Layout compatibility with multiple empty bases
1683 | 7.7 | Incorrect example after `constexpr` changes
1686 | 6.7 | Which variables are “explicitly declared `const`?”
1694 | 7.7 | Restriction on reference to temporary as a constant expression
1696 | 6.8.7 | Temporary lifetime and non-static data member initializers
1697 | 6.8.7 | Lifetime extension and copy elision
1705 | 13.10.3.5 | Unclear specification of “more specialized”
1708 | 9.12 | overly-strict requirements for names with C language linkage
1712 | 9.2.6 | `constexpr` variable template declarations
1715 | _N4527_.12.9 | Access and inherited constructor templates
1719 | 11.4 | Layout compatibility and cv-qualification revisited
1722 | 7.5.6.2 | Should lambda to function pointer conversion function be `noexcept`?
1734 | 11.4.5.3 | Nontrivial deleted copy functions
1736 | _N4527_.12.9 | Inheriting constructor templates in a local class
1744 | 6.10.3.2 | Unordered initialization for variable template specializations
1748 | 7.6.2.8 | Placement new with a null pointer
1750 | 12.2.2.5 | “Argument” vs “parameter”
1751 | 6.8.4 | Non-trivial operations vs non-trivial initialization
1752 | 11.9.3 | Right-recursion in mem-initializer-list
1753 | 6.5.5 | decltype-specifier in nested-name-specifier of destructor
1756 | 9.5.5 | Direct-list-initialization of a non-class object
1757 | 7.7 | Const integral subobjects
1758 | 12.2.2.8 | Explicit conversion in copy/move list initialization
1766 | 9.8.1 | Values outside the range of the values of an enumeration
1774 | 14.3 | Discrepancy between subobject destruction and stack unwinding
1776 | 6.8.4 | Replacement of class objects containing reference members
1777 | 14.5 | Empty pack expansion in dynamic-exception-specification
1779 | 13.8.3.3 | Type dependency of `__func__`
1780 | 7.5.6.2 | Explicit instantiation/specialization of generic lambda `operator()`
1782 | 9.5 | Form of initialization for `nullptr_t` to `bool` conversion
1788 | 7.6.2.9 | Sized deallocation of array of non-class type
1791 | 9.6.1 | Incorrect restrictions on cv-qualifier-seq and ref-qualifier
1793 | 9.2.2 | `thread_local` in explicit specializations
1795 | 9.9.2 | Disambiguating original-namespace-definition and extension-namespace-definition
1796 | 5.3.1 | Is all-bits-zero for null characters a meaningful requirement?
1797 | 6.9.2 | Are all bit patterns of `unsigned char` distinct numbers?
1799 | 9.2.2 | `mutable` and non-explicit const qualification
1800 | 7.6.2.2 | Pointer to member of nested anonymous union
1801 | 11.5 | Kind of expression referring to member of anonymous union
1802 | 5.13.5 | `char16_t` string literals and surrogate pairs
1804 | 13.7.5 | Partial specialization and friendship
1805 | 7.6.16 | Conversions of array operands in conditional-expressions
1806 | 11.4.6 | Virtual bases and move-assignment
1807 | 14.3 | Order of destruction of array elements after an exception
1809 | 13.10.3 | Narrowing and template argument deduction
1810 | 5.13.9 | Invalid ud-suffixes
1811 | 11.4.7 | Lookup of deallocation function in a virtual destructor definition
1813 | 11 | Direct vs indirect bases in standard-layout classes
1814 | 9.3.4.7 | Default arguments in lambda-expressions
1815 | 9.5.2 | Lifetime extension in aggregate initialization
1816 | 7.3.9 | Unclear specification of bit-field values
1819 | 13.7.6.1 | Acceptable scopes for definition of partial specialization
1823 | 9.2.3 | String literal uniqueness in inline functions
1824 | 9.3.4.6 | Completeness of return type vs point of instantiation
1830 | 9.1 | Repeated specifiers
1832 | 7.6.1.9 | Casting to incomplete enumeration
1834 | 6.10.3.2 | Constant initialization binding a reference to an xvalue
1838 | _N4868_.9.8.2.3 | Definition via unqualified-id and using-declaration
1843 | 7.6.16 | Bit-field in conditional operator with `throw` operand
1846 | 9.6.2 | Declaring explicitly-defaulted implicitly-deleted functions
1847 | 13.10.3.6 | Clarifying compatibility during partial ordering
1848 | 11.4.7 | Parenthesized constructor and destructor declarators
1850 | 13.8 | Differences between definition context and point of instantiation
1851 | 7.6.2.8 | `decltype(auto)` in new-expressions
1852 | 9.2.9.3 | Wording issues regarding `decltype(auto)`
1858 | 7.6.10 | Comparing pointers to union members
1861 | 11.4.10 | Values of a bit-field
1863 | 14.2 | Requirements on thrown object type to support `std::current_exception()`
1865 | 7.6.6 | Pointer arithmetic and multi-level qualification conversions
1866 | 14.3 | Initializing variant members with non-trivial destructors
1870 | 6.2 | Contradictory wording about definitions vs explicit specialization/instantiation
1872 | 9.2.6 | Instantiations of `constexpr` templates that cannot appear in constant expressions
1873 | 11.8.3 | Protected member access from derived class friends
1874 | 13.2 | Type vs non-type template parameters with `class` keyword
1875 | 6.4.7 | Reordering declarations in class scope
1877 | 9.2.9.7 | Return type deduction from `return` with no operand
1878 | 9.2.9.7 | `operator auto` template
1880 | 7.6.1.3 | When are parameter objects destroyed?
1881 | 11 | Standard-layout classes and unnamed bit-fields
1882 | _N4140_.17.6.4.3.2 | Reserved names without library use
1885 | 7.6.1.3 | Return value of a function is underspecified
1886 | 6.10.3.1 | Language linkage for `main()`
1887 | 9.10 | Problems with `::` as nested-name-specifier
1888 | 11.4.5 | Implicitly-declared default constructors and `explicit`
1891 | 7.5.6.2 | Move constructor/assignment for closure class
1892 | 9.2.9.7 | Use of `auto` in function type
1895 | 7.6.16 | Deleted conversions in conditional operator operands
1899 | 13.8.3.4 | Value-dependent constant expressions
1902 | 12.2.4.2 | What makes a conversion “otherwise ill-formed”?
1903 | 9.10 | What declarations are introduced by a non-member using-declaration?
1909 | 11.4 | Member class template with the same name as the class
1911 | 9.2.6 | `constexpr` constructor with non-literal base class
1916 | 11.4.5.3 | “Same cv-unqualified type”
1920 | _N4778_.7.6.1.4 | Qualification mismatch in pseudo-destructor-name
1922 | 13.8.2 | Injected class template names and default arguments
1925 | 7.6.20 | Bit-field prvalues
1926 | 6.3 | Potential results of subscript operator
1929 | _N4567_.5.1.1 | `template` keyword following namespace nested-name-specifier
1930 | 9.2.2 | init-declarator-list vs member-declarator-list
1932 | 7.6.16 | Bit-field results of conditional operators
1940 | 11.5 | `static_assert` in anonymous unions
1941 | _N4527_.12.9 | SFINAE and inherited constructor default arguments
1942 | 7.5.6 | Incorrect reference to trailing-return-type
1946 | 14.5 | exception-specifications vs pointer dereference
1949 | 6.10.1 | “sequenced after” instead of “sequenced before”
1951 | 6.9 | Cv-qualification and literal types
1952 | 7.7 | Constant expressions and library undefined behavior
1955 | 15.2 | `#elif` with invalid controlling expression
1956 | 6.8.6.4 | Reuse of storage of automatic variables
1958 | 9.2.9.7 | `decltype(auto)` with parenthesized initializer
1959 | _N4527_.12.9 | Inadvertently inherited copy constructor
1963 | 5.11 | Implementation-defined identifier characters
1966 | 9.8.1 | Colon following enumeration elaborated-type-specifier
1967 | 11.9.6 | Temporary lifetime and move-elision
1971 | 7.6.2.2 | Unclear disambiguation of destructor and `operator~`
1975 | 14.5 | Permissible declarations for exception-specifications
1978 | 11.4.8.2 | Redundant description of explicit constructor use
1981 | 7.3 | Implicit contextual conversions and `explicit`
1988 | 13.8.3.2 | Ambiguity between dependent and non-dependent bases in implicit member access
1990 | 9.1 | Ambiguity due to optional decl-specifier-seq
1991 | _N4527_.12.9 | Inheriting constructors vs default arguments
1992 | 7.6.2.8 | `new (std::nothrow) int[N]` can throw
1995 | 14.5 | exception-specifications and non-type template parameters
1999 | 5.2 | Representation of source characters as universal-character-names
2000 | 5.5 | header-name outside `#include` directive
2001 | 15.1 | non-directive is underspecified
2004 | 7.7 | Unions with mutable members in constant expressions
2006 | 6.9.4 | Cv-qualified `void` types
2008 | 13.4 | Default template-arguments underspecified
2010 | 14.5 | exception-specifications and conversion operators
2012 | 6.8.6 | Lifetime of references
2015 | 9.6.3 | odr-use of deleted virtual functions
2016 | 11.4.8.3 | Confusing wording in description of conversion function
2017 | 8.8.4 | Flowing off end is not equivalent to no-expression return
2019 | 6.8.6.1 | Member references omitted from description of storage duration
2022 | 7.7 | Copy elision in constant expressions
2024 | 13.8.3.2 | Dependent types and unexpanded parameter packs
2026 | 6.10.3 | Zero-initialization and `constexpr`
2027 | 9.13.2 | Unclear requirements for multiple `alignas` specifiers
2031 | C.6.3 | Missing incompatibility for `&&`
2032 | 13.2 | Default template-arguments of variable templates
2033 | 13.7.6.1 | Redundant restriction on partial specialization argument
2038 | C.4 | Document C++14 incompatibility of new braced deduction rule
2039 | 14.5 | Constant conversions to `bool`
2040 | 9.3 | trailing-return-type no longer ambiguous
2041 | 13.9.4 | Namespace for explicit class template specialization
2044 | 9.2.9.7 | `decltype(auto)` and `void`
2047 | 14.5 | Coordinating “throws anything” specifications
2052 | 12.4 | Template argument deduction vs overloaded operators
2061 | 9.9.2 | Inline namespace after simplifications
2063 | _N4868_.6.4.1 | Type/nontype hiding in class scope
2064 | 13.6 | Conflicting specifications for dependent decltype-specifiers
2066 | 13.8.3.4 | Does type-dependent imply value-dependent?
2068 | 11.4.7 | When can/must a defaulted virtual destructor be defined?
2069 | 11.4.7 | Do destructors have names?
2071 | 9.2.4 | `typedef` with no declarator
2075 | 12.2.4.2.6 | Passing short initializer lists to array reference parameters
2076 | 12.2.4.2 | List-initialization of arguments for constructor parameters
2079 | 9.13.1 | `[[` appearing in a balanced-token-seq
2082 | 9.3.4.7 | Referring to parameters in unevaluated operands of default arguments
2084 | 11.4.5 | NSDMIs and deleted union default constructors
2085 | 6.3 | Invalid example of adding special member function via default argument
2091 | 13.10.3.6 | Deducing reference non-type template arguments
2093 | 14.4 | Qualification conversion for pointer-to-member handler matching
2095 | 7.5.6.3 | Capturing rvalue references to functions by copy
2096 | 6.9 | Constraints on literal unions
2098 | _N5001_.14.6.3 | Is `uncaught_exceptions()` per-thread?
2099 | 9.3.4.5 | Inferring the bound of an array static data member
2101 | 13.8.3 | Incorrect description of type- and value-dependence
2104 | 6.3 | Internal-linkage `constexpr` references and ODR requirements
2106 | 13.4.2 | Unclear restrictions on use of function-type template arguments
2107 | 6.8.7 | Lifetime of temporaries for default arguments in array copying
2109 | 13.8.3.4 | Value dependence underspecified
2113 | 9.3.4 | Incompete specification of types for declarators
2120 | 11 | Array as first non-static data member in standard-layout class
2122 | 7.2.1 | Glvalues of `void` type
2124 | 3.57 | Signature of constructor template
2129 | 7.7 | Non-object prvalues and constant expressions
2130 | 7.6.2.8 | Over-aligned types in new-expressions
2137 | 9.5.5 | List-initialization from object of same type
2140 | 7.3.2 | Lvalue-to-rvalue conversion of `std::nullptr_t`
2141 | 7.6.2.8 | Ambiguity in new-expression with elaborated-type-specifier
2145 | 9.6.1 | Parenthesized declarator in function definition
2146 | 6.10.1 | Scalar object vs memory location in definition of “unsequenced”
2147 | 13.10.3.2 | Initializer-list arguments and pack deduction
2151 | 6.8.2 | Exception object is not created
2153 | 11.4 | pure-specifier in friend declaration
2154 | 11.4 | Ambiguity of pure-specifier
2156 | 9.8.1 | Definition of enumeration declared by using-declaration
2157 | 9.2.9.5 | Further disambiguation of enumeration elaborated-type-specifier
2163 | 9.2.6 | Labels in `constexpr` functions
2167 | 7.7 | Non-member references with lifetimes within the current evaluation
2171 | 11.4.5.3 | Triviality of copy constructor with less-qualified parameter
2175 | 9.3.3 | Ambiguity with attribute in conversion operator declaration
2176 | 7.6.1.3 | Destroying the returned object when a destructor throws
2180 | 11.4.6 | Virtual bases in destructors and defaulted assignment operators
2184 | C.7.4 | Missing C compatibility entry for decrement of `bool`

### Issues with "C++17" Status:

Issue | Section | Title
150 | 13.4.4 | Template template parameters and default arguments
253 | 9.5 | Why must empty or fully-initialized const objects be initialized?
314 | 13.3 | `template` in base class specifier
343 | 13.3 | Make `template` optional in contexts that require a type
426 | 6.7 | Identically-named variables, one internally and one externally linked, allowed?
727 | 13.9.4 | In-class explicit specializations
1253 | 13.9 | Generic non-template members
1343 | 6.10.1 | Sequencing of non-class initialization
1393 | 13.7.4 | Pack expansions in using-declarations
1395 | 13.10.3.6 | Partial ordering of variadic templates reconsidered
1622 | 9.5.2 | Empty aggregate initializer for union
1677 | 6.10.3.2 | Constant initialization via aggregate initialization
1710 | 11.7 | Missing `template` keyword in class-or-decltype
1784 | 8.10 | Concurrent execution during static local initialization
1794 | 13.3 | `template` keyword and alias templates
1812 | 13.3 | Omission of `template` in a typename-specifier
1825 | 13.10.3.5 | Partial ordering between variadic and non-variadic function templates
1860 | 11.5 | What is a “direct member?”
1961 | 6.10.2 | Potentially-concurrent actions within a signal handler
2011 | 7.5.6.3 | Unclear effect of reference capture of reference
2046 | 6.10.2 | Incomplete thread specifications
2094 | 11.4.5.3 | Trivial copy/move constructor for class with volatile member
2100 | 13.8.3.4 | Value-dependent address of static data member of class template
2116 | 9.5.2 | Direct or copy initialization for omitted aggregate initializers
2143 | 13.8.3.2 | Value-dependency via injected-class-name
2155 | _N4868_.9.8.2.3 | Defining classes and enumerations via using-declarations
2174 | 13.7.5 | Unclear rules for friend definitions in templates
2191 | 14.5 | Incorrect result for `noexcept(typeid(v))`
2196 | 9.5 | Zero-initialization with virtual base classes
2197 | 11.4.5.3 | Overload resolution and deleted special member functions
2198 | 6.7 | Linkage of enumerators
2201 | 6.9.5 | Cv-qualification of array types
2205 | 9.13.1 | Restrictions on use of `alignas`
2206 | 7 | Composite type of object and function pointers
2211 | 7.5.6.3 | Hiding by lambda captures and parameters
2214 | 6.9.2 | Missing requirement on representation of integer values
2215 | 7.6.1.3 | Redundant description of language linkage in function call
2218 | 6.5 | Ambiguity and namespace aliases
2220 | 8.6.5 | Hiding index variable in range-based `for`
2224 | 7.6.1.9 | Member subobjects and base-class casts
2247 | 7.5.6.3 | Lambda capture and variable argument list
2248 | 7.6.2.9 | Problems with sized delete
2251 | 9.5.5 | Unreachable enumeration list-initialization
2259 | 9.3.3 | Unclear context describing ambiguity
2262 | 9.11 | Attributes for asm-definition
2268 | 9.2.6 | Unions with mutable members in constant expressions revisited
2271 | 11.4.5 | Aliasing `this`
2272 | 9.5.2 | Implicit initialization of aggregate members of reference type
2276 | 13.8.3.4 | Dependent `noexcept` and function type-dependence

### Issues with "CD5" Status:

Issue | Section | Title
476 | 7.6.2.8 | Determining the buffer size for placement new
555 | 6.5 | Pseudo-destructor name lookup
581 | 13.10.2 | Can a templated constructor be explicitly instantiated or specialized?
682 | _N4868_.6.5.6 | Missing description of lookup of template aliases
689 | 6.9.2 | Maximum values of signed and unsigned integers
943 | 7.6.1.4 | Is `T()` a temporary?
1076 | 7.2.1 | Value categories and lvalue temporaries
1258 | 13.8.4.1 | “Instantiation context” differs from dependent lookup rules
1271 | 13.8 | Imprecise wording regarding dependent types
1299 | 6.8.7 | “Temporary objects” vs “temporary expressions”
1331 | 9.6.2 | `const` mismatch with defaulted copy constructor
1332 | 5.3.1 | Handling of invalid universal-character-names
1378 | 13.9.2 | When is an instantiation required?
1426 | 9.6.2 | Allowing additional parameter types in defaulted functions
1468 | 7.5.6.3 | `typeid`, overload resolution, and implicit lambda capture
1469 | 7.6.2.8 | Omitted bound in array new-expression
1523 | 8.6.5 | Point of declaration in range-based `for`
1581 | 6.3 | When are `constexpr` member functions defined?
1632 | 7.5.6.3 | Lambda capture in member initializers
1636 | 9.8.1 | Bits required for negative enumerator values
1640 | 9.3.4.5 | Array of abstract instance of class template
1646 | 7.6.1.3 | decltype-specifiers, abstract classes, and deduction failure
1704 | 13.9.3 | Type checking in explicit instantiation of variable templates
1728 | 13.9.3 | Type of an explicit instantiation of a variable template
1742 | 9.10 | using-declarations and scoped enumerators
1781 | 12.2.2.6 | Converting from `nullptr_t` to `bool` in overload resolution
1803 | 11.4 | opaque-enum-declaration as member-declaration
1836 | _N4567_.5.1.1 | Use of class type being defined in trailing-return-type
1857 | 7.6.7 | Additional questions about bits
1859 | 5.13.5 | UTF-16 in `char16_t` string literals
1862 | 13.7.5 | Determining “corresponding members” for friendship
1893 | 7.6.1.4 | Function-style cast with braced-init-lists and empty pack expansions
1910 | 6.8.6.5.2 | “Shall” requirement applied to runtime behavior
1912 | 9.6.2 | exception-specification of defaulted function
1913 | 7.5.6 | `decltype((x))` in lambda-expressions
1918 | 13.7.5 | `friend` templates with dependent scopes
1931 | 7.5.6.2 | Default-constructible and copy-assignable closure types
1935 | 7.6.2.8 | Reuse of placement arguments in deallocation
1937 | 7.5.6.2 | Incomplete specification of function pointer from lambda
1938 | 4.1 | Should hosted/freestanding be implementation-defined?
1943 | 11.4.10 | Unspecified meaning of “bit”
1945 | 13.7.5 | Friend declarations naming members of class templates in non-templates
1983 | 11.4 | Inappropriate use of virt-specifier
2020 | 6.3 | Inadequate description of odr-use of implicitly-invoked functions
2045 | 13.7.7.2 | “Identical” template parameter lists
2051 | 7.2.1 | Simplifying alias rules
2059 | 9.2.9.7 | Linkage and deduced return types
2080 | 11.5 | Example with empty anonymous union member
2081 | 9.2.9.7 | Deduced return type in redeclaration or specialization of function template
2083 | 6.3 | Incorrect cases of odr-use
2088 | 13.10.3.5 | Late tiebreakers in partial ordering
2092 | 13.10.4 | Deduction failure and overload resolution
2103 | 6.3 | Lvalue-to-rvalue conversion is irrelevant in odr-use of a reference
2112 | 7.6.2.8 | `new auto{x}`
2133 | 7.3.14 | Converting `std::nullptr_t` to `bool`
2164 | _N4868_.6.4.10 | Name hiding and using-directives
2170 | 6.3 | Unclear definition of odr-use for arrays
2177 | 7.6.2.8 | Placement `operator delete` and parameter copies
2207 | 6.8.6.5.2 | Alignment of allocation function return value
2212 | 9.2.4 | Typedef changing linkage after use
2226 | 7.6.16 | Xvalues vs lvalues in conditional expressions
2227 | 11.9.3 | Destructor access and default member initializers
2229 | 11.4.10 | Volatile unnamed bit-fields
2233 | 9.3.4.7 | Function parameter packs following default arguments
2234 | 11 | Missing rules for simple-template-id as class-name
2235 | 13.10.3.5 | Partial ordering and non-dependent types
2237 | 11.4.5 | Can a template-id name a constructor?
2241 | 7.6.1.3 | Overload resolution is not invoked with a single function
2249 | 7.5.5.2 | identifiers and id-expressions
2253 | 11.4.10 | Unnamed bit-fields and zero-initialization
2254 | 11.4 | Standard-layout classes and bit-fields
2255 | 13.9 | Instantiated static data member templates
2256 | 6.8.4 | Lifetime of trivially-destructible objects
2257 | 6.8.7 | Lifetime extension of references vs exceptions
2260 | 13.9.4 | Explicit specializations of deleted member functions
2266 | 13.8.3.2 | Has dependent type vs is type-dependent
2267 | 9.5.4 | Copy-initialization of temporary in reference direct-initialization
2273 | 11.4.5 | Inheriting constructors vs implicit default constructor
2277 | 12.2.4.3 | Ambiguity inheriting constructors with default arguments
2278 | 7.7 | Copy elision in constant expressions reconsidered
2285 | 9.7 | Issues with structured bindings
2287 | 6.9.4 | Pointer-interconvertibility in non-standard-layout unions
2289 | _N4868_.6.4.1 | Uniqueness of structured binding names
2290 | 12.2.2 | Unclear specification for overload resolution and deleted special member functions
2292 | 13.3 | simple-template-id is ambiguous between class-name and type-name
2293 | 11 | Requirements for simple-template-id used as a class-name
2294 | 13.8.3.3 | Dependent `auto` static data members
2295 | 9.5.2 | Aggregates with deleted defaulted constructors
2299 | 9.2.6 | `constexpr` vararg functions
2300 | 6.3 | Lambdas in multiple definitions
2303 | 13.10.3.2 | Partial ordering and recursive variadic inheritance
2305 | 13.9.3 | Explicit instantiation of constexpr or inline variable template
2307 | 13.8.3.2 | Unclear definition of “equivalent to a nontype template parameter”
2309 | 9.2.6 | Restrictions on nested statements within `constexpr` functions
2310 | 7.3.12 | Type completeness and derived-to-base pointer conversions
2313 | 9.7 | Redeclaration of structured binding reference variables
2315 | 11.4.5.3 | What is the “corresponding special member” of a variant member?
2317 | 11.9.3 | Self-referential default member initializers
2318 | 13.10.3.6 | Nondeduced contexts in deduction from a braced-init-list
2321 | 7.6.16 | Conditional operator and cv-qualified class prvalues
2322 | 13.10.3 | Substitution failure and lexical order
2330 | 13.9 | Missing references to variable templates
2332 | 9.2.9.3 | template-name as simple-type-name vs injected-class-name
2336 | 14.5 | Destructor characteristics vs potentially-constructed subobjects
2338 | 7.6.1.9 | Undefined behavior converting to short enums with fixed underlying types
2339 | 9.7 | Underspecified template arguments in structured bindings
2341 | 9.1 | Structured bindings with static storage duration
2342 | 7.6.1.10 | Reference `reinterpret_cast` and pointer-interconvertibility
2345 | 8.5.2 | Jumping across initializers in init-statements and conditions
2346 | 9.3.4.7 | Local variables in default arguments
2351 | 7.6.1.4 | `void{}`
2352 | 9.5.4 | Similar types and reference binding
2353 | 6.3 | Potential results of a member access expression for a static data member
2354 | 6.8.3 | Extended alignment and object representation
2356 | 12.2.2 | Base class copy and move constructors should not be inherited
2358 | 7.5.6.3 | Explicit capture of value
2359 | 9.5.2 | Unintended copy initialization with designated initializers
2360 | 9.13.8 | `[[maybe_unused]]` and structured bindings
2365 | 7.6.1.7 | Confusing specification for `dynamic_cast`
2366 | 6.10.3.2 | Can default initialization be constant initialization?
2368 | 7.7 | Differences in relational and three-way constant comparisons
2371 | 6.2 | Use of the English term “attributes” is confusing
2372 | 6.7 | Incorrect matching rules for block-scope `extern` declarations
2373 | 13.7.7.3 | Incorrect handling of static member function templates in partial ordering
2376 | 12.2.2.9 | Class template argument deduction with array declarator
2379 | 13.7.5 | Missing prohibition against `constexpr` in `friend` declaration
2380 | 6.3 | capture-default makes too many references odr-usable
2381 | 7.2.2 | Composite pointer type of pointers to plain and noexcept member functions
2382 | 7.6.2.8 | Array allocation overhead for non-allocating placement `new`
2384 | 13.10.3.4 | Conversion function templates and qualification conversions
2385 | 7.5.5.3 | Lookup for conversion-function-ids
2386 | 9.7 | tuple_size requirements for structured binding
2387 | 6.7 | Linkage of const-qualified variable template
2390 | 15.2 | Is the argument of `__has_cpp_attribute` macro-expanded?
2394 | 11.4.5.2 | Const-default-constructible for members
2399 | 7.6.19 | Unclear referent of “expression” in assignment-expression
2400 | 7.7 | Constexpr virtual functions and temporary objects
2404 | 11.4 | `[[no_unique_address]]` and allocation order
2406 | 9.13.5 | `[[fallthrough]]` attribute and iteration statements
2418 | 7.7 | Missing cases in definition of “usable in constant expressions”

### Issues with "C++20" Status:

Issue | Section | Title
1621 | 11.9.3 | Member initializers in anonymous unions
2053 | 9.2.9.7 | `auto` in non-generic lambdas
2126 | 7.7 | Lifetime-extended temporaries in constant expressions
2181 | Annex B | Normative requirements in an informative Annex
2186 | 7.7 | Unclear point that “preceding initialization” must precede
2280 | 7.6.2.8 | Matching a usual deallocation function with placement new
2282 | 7.6.2.8 | Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions
2323 | 6.9 | Expunge POD
2343 | 13.2 | `void*` non-type template parameters
2347 | 7.6.1.3 | Passing short scoped enumerations to ellipsis
2374 | 9.5.5 | Overly permissive specification of `enum` direct-list-initialization
2378 | 7.5.6.3 | Inconsistent grammar for reference init-capture of pack
2411 | 13.6 | Comparison of pointers to members in template non-type arguments
2414 | 11.10.1 | Unclear results if both member and friend `operator<=>` are declared
2416 | 13.9.4 | Explicit specializations vs `constexpr` and `consteval`
2419 | 7.6.6 | Loss of generality treating pointers to objects as one-element arrays
2422 | 13.7.2.3 | Incorrect grammar for deduction-guide
2424 | 9.2.6 | `constexpr` initialization requirements for variant members
2426 | 14.3 | Reference to destructor that cannot be invoked
2427 | 7.6.19 | Deprecation of volatile operands and unevaluated contexts
2429 | 8.10 | Initialization of `thread_local` variables referenced by lambdas
2430 | 11.4 | Completeness of return and parameter types of member functions
2431 | 6.10 | Full-expressions and temporaries bound to references
2432 | 11.10.3 | Return types for defaulted `<=>`
2433 | 6.3 | Variable templates in the ODR
2436 | 9.6.4 | Copy semantics of coroutine parameters
2437 | 11.10.3 | Conversion of `std::strong_ordering` in a defaulted `operator<=>`
2439 | 7.7 | Undefined term in definition of “usable in constant expressions”
2441 | 9.2.8 | Inline function parameters
2442 | 12.2.3 | Incorrect requirement for default arguments
2445 | 13.7.7.3 | Partial ordering with rewritten candidates
2446 | 13.8.3.3 | Questionable type-dependency of concept-ids
2447 | 9.2.9.7 | Unintended description of abbreviated function templates

### Issues with "CD6" Status:

Issue | Section | Title
36 | 9.10 | using-declarations in multiple-declaration contexts
110 | 13 | Can template functions and classes be declared in the same scope?
138 | _N4868_.9.8.2.3 | Friend declaration name lookup
191 | 6.5.3 | Name lookup does not handle complex nesting
255 | 11.4.11 | Placement deallocation functions and lookup ambiguity
271 | 13.10.3 | Explicit instantiation and template argument deduction
279 | 6.7 | Correspondence of "names for linkage purposes"
338 | 6.7 | Enumerator name with linkage used as class name in other translation unit
360 | 11.8.3 | Using-declaration that reduces access
386 | 9.10 | Friend declaration of name brought in by using-declaration
399 | 11.4.7 | Destructor lookup redux
405 | 6.5.3 | Unqualified function name lookup
411 | 5.13.5 | Use of universal-character-name in character versus string literals
418 | 12.2.4 | Imperfect wording on error on multiple default arguments on a called function
536 | _N4567_.5.1.1 | Problems in the description of id-expressions
554 | 6.4 | Definition of “declarative region” and “scope”
562 | 6.5.5.2 | qualified-ids in non-expression contexts
563 | 9.12 | Linkage specification for objects
578 | 5.2 | Phase 1 replacement of characters with universal-character-names
600 | 11.8 | Does access control apply to members or to names?
607 | 11.9.3 | Lookup of mem-initializer-ids
852 | 9.10 | using-declarations and dependent base classes
952 | 11.8.3 | Insufficient description of “naming class”
1028 | 13.8.4 | Dependent names in non-defining declarations
1200 | 6.5.3 | Lookup rules for template parameters
1249 | 7.5.6.3 | Cv-qualification of nested lambda capture
1252 | _N4868_.12.2 | Overloading member function templates based on dependent return type
1291 | _N4868_.6.5.6 | Looking up a conversion-type-id
1335 | 15.7.3 | Stringizing, extended characters, and universal-character-names
1342 | 9.3 | Order of initialization with multiple declarators
1360 | 11.4.5 | `constexpr` defaulted default constructors
1403 | 5.4 | Universal-character-names in comments
1478 | 13.3 | `template` keyword for dependent template template arguments
1500 | 13.8.4.2 | Name lookup of dependent conversion function
1616 | 8.11 | Disambiguation parsing and template parameters
1656 | 5.13.3 | Encoding of numerically-escaped characters
1711 | 13.7.6 | Missing specification of variable template partial specializations
1724 | 13.10.3 | Unclear rules for deduction failure
1726 | 11.4.8.3 | Declarator operators and conversion function
1729 | 13.7 | Matching declarations and definitions of variable templates
1733 | 9.6.2 | Return type and value for `operator=` with ref-qualifier
1771 | 6.5.5 | Restricted lookup in nested-name-specifier
1818 | 9.12 | Visibility and inherited language linkage
1820 | 9.2.4 | Qualified typedef names
1821 | 11.4 | Qualified redeclarations in a class member-specification
1822 | 7.5.6 | Lookup of parameter names in lambda-expressions
1828 | 6.5.5 | nested-name-specifier ambiguity
1829 | 13.8.3.2 | Dependent unnamed types
1835 | _N4868_.6.5.6 | Dependent member lookup before `<`
1837 | _N4567_.5.1.1 | Use of `this` in `friend` and local class declarations
1839 | 6.7 | Lookup of block-scope `extern` declarations
1841 | 13.8.2 | `<` following template injected-class-name
1849 | 6.3 | Variable templates and the ODR
1884 | 6.7 | Unclear requirements for same-named external-linkage entities
1894 | 9.2.4 | typedef-names and using-declarations
1896 | 13.7.8 | Repeated alias templates
1898 | _N4868_.12.3 | Use of “equivalent” in overload resolution
1900 | 9.3.4 | Do `friend` declarations count as “previous declarations”?
1907 | 9.10 | using-declarations and default arguments
1908 | _N4868_.6.5.6 | Dual destructor lookup and template-ids
1936 | 13.8.3 | Dependent qualified-ids
1969 | 11.4.7 | Missing exclusion of `~S` as an ordinary function name
1972 | 5.11 | Identifier character restrictions in non-identifiers
2007 | 12.2.2.3 | Argument-dependent lookup for `operator=`
2009 | 6.4.7 | Unclear specification of class scope
2058 | 6.7 | More errors from internal-linkage namespaces
2062 | 13.7.2 | Class template redeclaration requirements
2065 | 13.8.3.2 | Current instantiation of a partial specialization
2070 | 6.5.5.2 | using-declaration with dependent nested-name-specifier
2121 | 7.5.6.1 | More flexible lambda syntax
2165 | _N4868_.6.4.1 | Namespaces, declarative regions, and translation units
2185 | 6.9.2 | Cv-qualified numeric types
2199 | 9.2.4 | Typedefs and tags
2213 | 9.2.9.5 | Forward declaration of partial specializations
2221 | 9.6.2 | Copying volatile objects
2312 | 9.7 | Structured bindings and `mutable`
2331 | 6.4.7 | Redundancy in description of class scope
2333 | 5.13.3 | Escape sequences in UTF-8 character literals
2355 | 13.10.3.6 | Deducing noexcept-specifiers
2369 | 13.10.3 | Ordering between constraints and substitution
2370 | 6.5.3 | `friend` declarations of namespace-scope functions
2389 | 9.2.9.7 | Agreement of deduced and explicitly-specified variable types
2396 | 7.5.5.3 | Lookup of names in complex conversion-type-ids
2397 | 9.3.4.5 | `auto` specifier for pointers and references to arrays
2402 | 5.13.3 | When is the restriction to a single c-char in a Unicode literal enforced?
2405 | 13.8.3.3 | Additional type-dependent expressions
2413 | 13.8 | `typename` in conversion-function-ids
2448 | 6.9.2 | Cv-qualification of arithmetic types and deprecation of volatile
2452 | 8.8.5 | Flowing off the end of a coroutine
2455 | 5.2 | Concatenation of string literals vs translation phases 5 and 6
2457 | 13.8.3.2 | Unexpanded parameter packs don't make a function type dependent
2458 | 7.6.1.5 | Value category of expressions denoting non-static member functions
2460 | 9.12 | C language linkage and constrained non-template friends
2461 | 13.8 | Diagnosing non-`bool` type constraints
2464 | 17.6.5 | Constexpr launder and unions
2465 | 9.6.4 | Coroutine parameters passed to a promise constructor
2466 | 7.6.2.4 | `co_await` should be a single evaluation
2470 | 6.8.2 | Multiple array objects providing storage for one object
2474 | 7.6.2.9 | Cv-qualification and deletion
2477 | 11.4.5.3 | Defaulted vs deleted copy constructors/assignment operators
2479 | 6.10.3.1 | Missing specifications for `consteval` and `constinit`
2481 | 9.5.4 | Cv-qualification of temporary to which a reference is bound
2482 | 22.11.3 | `bit_cast` and indeterminate values
2484 | 7.3.7 | `char8_t` and `char16_t` in integral promotions
2486 | 7.6.1.3 | Call to `noexcept` function via `noexcept(false)` pointer/lvalue
2490 | 7.7 | Restrictions on destruction in constant expressions
2491 | 10.2 | Export of typedef after its first declaration
2494 | 6.3 | Multiple definitions of non-odr-used entities
2496 | 11.7.3 | ref-qualifiers and virtual overriding
2499 | 6.9.4 | Inconsistency in definition of pointer-interconvertibility
2502 | 6.4.3 | Unintended declaration conflicts in nested statement scopes
2506 | 9.7 | Structured bindings and array cv-qualifiers
2507 | 12.4.1 | Default arguments for `operator[]`
2509 | 7.5.6.1 | decl-specifier-seq in lambda-specifiers
2511 | 11.4.10 | cv-qualified bit-fields
2534 | 7.6.1.5 | Value category of pseudo-destructor expression
2535 | 7.6.1.5 | Type punning in class member access
2540 | 5.13.3 | Unspecified interpretation of numeric-escape-sequence
2569 | 7.5.5.2 | Use of `decltype(capture)` in a lambda's parameter-declaration-clause
2571 | 7.6.1.2 | Evaluation order for subscripting
2582 | 6.5.2 | Differing member lookup from nested classes
2585 | 9.6.4 | Name lookup for coroutine allocation
2586 | 11.10.1 | Explicit object parameter for assignment and comparison
2594 | 6.10.3.1 | Disallowing a global function template `main`
2597 | 10.1 | Replaceable allocation and deallocation functions in the global module
2606 | 7.6.1.9 | `static_cast` from "pointer to void" does not handle similar types
2608 | 13.10.2 | Omitting an empty template argument list

### Issues with "C++23" Status:

Issue | Section | Title
745 | 15.9 | Effect of ill-formedness resulting from `#error`
900 | 6.8.7 | Lifetime of temporaries in range-based `for`
1396 | 13.9.2 | Deferred instantiation and checking of non-static data member initializers
2072 | 13.9.2 | Default argument instantiation for member functions of templates
2242 | 6.3 | ODR violation with constant initialization possibly omitted
2392 | 7.7 | new-expression size check and constant evaluation
2407 | Annex C | Missing entry in Annex C for defaulted comparison operators
2410 | 9.2.6 | Implicit calls of immediate functions
2428 | 13.7.9 | Deprecating a concept
2440 | 7.7 | Allocation in core constant expressions
2443 | 10.2 | Meaningless template exports
2451 | 9.6.4 | promise`.unhandled_exception()` and final suspend point
2475 | 6.9.2 | Object declarations of type cv `void`
2478 | 13.9.4 | Properties of explicit specializations of implicitly-instantiated class templates
2483 | 9.12 | Language linkage of static member functions
2489 | 6.8.2 | Storage provided by array of `char`
2508 | 13.8.2 | Restrictions on uses of template parameter names
2516 | 6.4.2 | Locus of enum-specifier or opaque-enum-declaration
2517 | 7.5.8.5 | Useless restriction on use of parameter in constraint-expression
2518 | 4.1.1 | Conformance requirements and `#error`/`#warning`
2520 | 3.53 | Template signature and default template arguments
2521 | 12.6 | User-defined literals and reserved identifiers
2523 | 7.7 | Undefined behavior via omitted destructor call in constant expressions
2526 | 7.6.9 | Relational comparison of `void*` pointers
2528 | 7.4 | Three-way comparison and the usual arithmetic conversions
2529 | 7.7 | Constant destruction of constexpr references
2530 | 6.3 | Multiple definitions of enumerators
2538 | 9.13.1 | Can standard attributes be syntactically ignored?
2539 | 11.10.3 | Three-way comparison requiring strong ordering for floating-point types
2543 | 9.2.7 | `constinit` and optimized dynamic initialization
2558 | 7.7 | Uninitialized subobjects as a result of an immediate invocation
2583 | 11.4.1 | Common initial sequence should consider over-alignment
2590 | 9.8.1 | Underlying type should determine size and alignment requirements of an enum
2598 | 6.9.1 | Unions should not require a non-static data member of literal type
2599 | 7.6.1.3 | What does initializing a parameter include?
2601 | 14.3 | Tracking of created and destroyed subobjects
2602 | 9.2.6 | consteval defaulted functions
2603 | 13.7.7.2 | Holistic functional equivalence for function templates
2604 | 13.9.4 | Attributes for an explicit specialization
2605 | 11.2 | Implicit-lifetime aggregates
2610 | 9.5.2 | Indirect private base classes in aggregates
2611 | 13.7.4 | Missing parentheses in expansion of fold-expression could cause syntactic reinterpretation
2612 | 9.5.1 | Incorrect comment in example
2613 | 9.6.4 | Incomplete definition of resumer
2614 | 7.6.1.5 | Unspecified results for class member access
2615 | 15.2 | Missing `__has_cpp_attribute(assume)`
2616 | 8 | Imprecise restrictions on `break` and `continue`
2618 | 13.10.3.1 | Substitution during deduction should exclude exception specifications
2619 | 9.5.2 | Kind of initialization for a designated-initializer-list
2620 | 9.3.3 | Nonsensical disambiguation rule
2621 | 9.8.2 | Kind of lookup for `using enum` declarations
2622 | Annex B | Compounding types from function and pointer-to-member types
2624 | 7.6.2.9 | Array delete expression with no array cookie
2625 | 6.8.4 | Deletion of pointer to out-of-lifetime object
2626 | 7.6.2.2 | Rephrase ones' complement using base-2 representation
2627 | 9.5.5 | Bit-fields and narrowing conversions
2629 | 8.5.3 | Variables of floating-point type as `switch` conditions
2630 | 11.4.1 | Syntactic specification of class completeness
2631 | 7.7 | Immediate function evaluations in default arguments
2635 | 9.1 | Constrained structured bindings
2636 | Annex E | Update Annex E based on Unicode 15.0 UAX #31
2639 | 5.2 | new-lines after phase 1
2640 | 5.3.1 | Allow more characters in an n-char sequence
2641 | 5.13 | Redundant specification of value category of literals
2642 | 6.5.2 | Inconsistent use of T and C
2643 | 6.9.1 | Completing a pointer to array of unknown bound
2644 | 7.5.6.3 | Incorrect comment in example
2645 | 7.6.1.3 | Unused term "default argument promotions"
2646 | 9.6.2 | Defaulted special member functions
2647 | 7.7 | Fix for "needed for constant evaluation"
2648 | 12.4.4 | Correspondence of surrogate call function and conversion function
2649 | 12.2.2.2.3 | Incorrect note about implicit conversion sequence
2650 | 13.10.3.1 | Incorrect example for ill-formed non-type template arguments
2651 | 13.10.3.4 | Conversion function templates and "noexcept"
2652 | 15.12 | Overbroad definition of `__STDCPP_BFLOAT16_T__`
2653 | 9.3.4.6 | Can an explicit object parameter have a default argument?
2654 | 7.6.19 | Un-deprecation of compound volatile assignments
2658 | 7.7 | Trivial copying of unions in core constant expressions
2659 | 15.12 | Missing feature-test macro for lifetime extension in range-for loop
2662 | 11.8.1 | Example for member access control vs. overload resolution
2664 | 12.2.2.9 | Deduction failure in CTAD for alias templates
2667 | 15.6 | Named module imports do not import macros
2673 | 12.2.2.3 | User-declared spaceship vs. built-in operators
2674 | 11.4.5.1 | Prohibit explicit object parameters for constructors
2678 | 6.3 | `std::source_location::current` is unimplementable
2681 | 12.2.2.9 | Deducing member array type from string literal
2682 | 13.1 | Templated function vs. function template
2685 | 12.2.2.9 | Aggregate CTAD, string, and brace elision
2687 | 12.2.2.2.1 | Calling an explicit object member function via an address-of-overload-set
2690 | 11.4.6 | Semantics of defaulted move assignment operator for unions
2691 | 5.13.3 | hexadecimal-escape-sequence is too greedy
2692 | 12.2.2.2.1 | Static and explicit object member functions with the same parameter-type-lists
2695 | 9.13.1 | Semantic ignorability of attributes

### Issues with "CD7" Status:

Issue | Section | Title
170 | 7.3.13 | Pointer-to-member conversions
233 | 9.5.4 | References vs pointers in UDC overload resolution
453 | 9.3.4.3 | References may only bind to “valid” objects
1038 | 12.3 | Overload resolution of `&x.static_func`
1223 | 8.11 | Syntactic disambiguation and trailing-return-types
1353 | 11.4.5 | Array and variant members and deleted special member functions
1499 | 11.4.6 | Missing case for deleted move assignment operator
1642 | 7.6 | Missing requirements for prvalue operands
1698 | 5.2 | Files ending in `\`
1953 | 6.8.1 | Data races and common initial sequence
1954 | 7.6.1.8 | `typeid` null dereference check in subexpressions
1965 | 7.6.1.7 | Explicit casts to reference types
1973 | 7.5.6.2 | Which parameter-declaration-clause in a lambda-expression?
1997 | 6.8.5 | Placement new and previous initialization
2049 | 13.4.3 | List initializer in non-type template default argument
2054 | 13.10.3 | Missing description of class SFINAE
2102 | 7.6.2.8 | Constructor checking in new-expression
2144 | 9.6.1 | Function/variable declaration ambiguity
2149 | 9.5.2 | Brace elision and array length deduction
2252 | 9.5.5 | Enumeration list-initialization from the same type
2283 | 7.6.1.3 | Missing complete type requirements
2450 | 13.3 | braced-init-list as a template-argument
2459 | 13.4.3 | Template parameter initialization
2476 | 9.2.9.7.1 | placeholder-type-specifiers and function declarators
2485 | 7.3.7 | Bit-fields in integral promotions
2504 | 11.9.4 | Inheriting constructors from virtual base classes
2519 | 6.9.1 | Object representation of a bit-field
2531 | 9.2.6 | Static data members redeclared as constexpr
2533 | 6.8.6 | Storage duration of implicitly created objects
2542 | 7.5.6.2 | Is a closure type a structural type?
2546 | 11.10.4 | Defaulted secondary comparison operators defined as deleted
2547 | 9.6.2 | Defaulted comparison operator function for non-classes
2549 | 7.5.5.3 | Implicitly moving the operand of a throw-expression in unevaluated contexts
2550 | 9.3.4.3 | Type "reference to cv `void`" outside of a declarator
2552 | 7.7 | Constant evaluation of non-defining variable declarations
2556 | 8.8.5 | Unusable `promise::return_void`
2560 | 7.5.8.1 | Parameter type determination in a requirement-parameter-list
2561 | 7.5.6.2 | Conversion to function pointer for lambda with explicit object parameter
2568 | 11.10.1 | Access checking during synthesis of defaulted comparison operator
2570 | 9.6.2 | Clarify constexpr for defaulted functions
2573 | 5.2 | Undefined behavior when splicing results in a universal-character-name
2574 | 5.5 | Undefined behavior when lexing unmatched quotes
2588 | 11.8.4 | friend declarations and module linkage
2591 | 11.5.1 | Implicit change of active union member for anonymous union in union
2595 | 11.4.4 | "More constrained" for eligible special member functions
2600 | 13.8.3.3 | Type dependency of placeholder types
2628 | 12.2.2.9 | Implicit deduction guides should propagate constraints
2634 | 9.2.9.5 | Avoid circularity in specification of scope for friend class declarations
2637 | 11.1 | Injected-class-name as a simple-template-id
2638 | 9.5.5 | Improve the example for initializing by initializer list
2657 | 9.5.4 | Cv-qualification adjustment when binding reference to temporary
2661 | 11.4.1 | Missing disambiguation rule for pure-specifier vs. brace-or-equal-initializer
2663 | 9.10 | Example for member redeclarations with using-declarations
2668 | 7.6.2.4 | `co_await` in a lambda-expression
2672 | 13.10.3.1 | Lambda body SFINAE is still required, contrary to intent and note
2683 | 9.3.4.7 | Default arguments for member functions of templated nested classes
2689 | 6.9.2 | Are cv-qualified `std::nullptr_t` fundamental types?
2697 | 13.7.2.3 | Deduction guides using abbreviated function syntax
2698 | 5.13.2 | Using extended integer types with `z` suffix
2699 | 7.6.18 | Inconsistency of throw-expression specification
2700 | 4.1.1 | `#error` disallows existing implementation practice
2703 | 11.10.3 | Three-way comparison requiring strong ordering for floating-point types, take 2
2707 | 13.7.2.3 | Deduction guides cannot have a trailing requires-clause
2708 | 9.5.1 | Parenthesized initialization of arrays
2710 | 7.7 | Loops in constant expressions
2711 | 7.6.18 | Source for copy-initializing the exception object
2712 | 12.2.2.3 | Simplify restrictions on built-in assignment operator candidates
2713 | 9.5.5 | Initialization of reference-to-aggregate from designated initializer list
2714 | 12.2.2.9 | Implicit deduction guides omit properties from the parameter-declaration-clause of a constructor
2715 | 7.6.1.3 | "calling function" for parameter initialization may not exist
2716 | 11.4.8.3 | Rule about self-or-base conversion is normatively redundant
2717 | 13.7.4 | Pack expansion for alignment-specifier
2718 | 7.6.1.9 | Type completeness for derived-to-base conversions
2719 | 6.8.3 | Creating objects in misaligned storage
2720 | 13.8.1 | Template validity rules for templated entities and alias templates
2721 | 6.8.4 | When exactly is storage reused?
2722 | 7.6.2.7 | Temporary materialization conversion for `noexcept` operator
2723 | 6.9.2 | Range of representable values for floating-point types
2724 | 7.6.7 | Clarify rounding for arithmetic right shift
2725 | 7.6.1.5 | Overload resolution for non-call of class member access
2728 | 7.6.2.9 | Evaluation of conversions in a delete-expression
2729 | 7.6.2.8 | Meaning of new-type-id
2732 | 10.3 | Can importable headers react to preprocessor state from point of import?
2733 | 9.13.8 | Applying `[[maybe_unused]]` to a label
2745 | 6.3 | Dependent odr-use in generic lambdas
2746 | 13.8.1 | Checking of default template arguments
2747 | 5.2 | Cannot depend on an already-deleted splice
2748 | 7.6.1.5 | Accessing static data members via null pointer
2749 | 7.6.9 | Treatment of "pointer to void" for relational comparisons
2750 | 7.7 | construct_at without constructor call
2753 | 6.8.2 | Storage reuse for string literal objects and backing arrays
2754 | 9.6.4 | Using *this in explicit object member functions that are coroutines
2755 | 7.7 | Incorrect wording applied by P2738R1
2758 | 7.6.2.9 | What is "access and ambiguity control"?
2759 | 11.4.1 | [[no_unique_address] and common initial sequence
2760 | 7.7 | Defaulted constructor that is an immediate function
2761 | 11.4.7 | Implicitly invoking the deleted destructor of an anonymous union member
2762 | 12.2.2.1 | Type of implicit object parameter
2763 | 7.7 | Ignorability of [[noreturn]] during constant evaluation
2764 | 6.4.1 | Use of placeholders affecting name mangling
2768 | 7.6.19 | Assignment to enumeration variable with a braced-init-list
2771 | 11.4.3 | Transformation for unqualified-ids in address operator
2772 | C.6.4 | Missing Annex C entry for linkage effects of linkage-specification
2775 | 14.2 | Unclear argument type for copy of exception object
2777 | 13.2 | Type of id-expression denoting a template parameter object
2780 | 7.6.1.10 | `reinterpret_cast` to reference to function types
2783 | 10.4 | Handling of deduction guides in global-module-fragment
2785 | 13.8.3.3 | Type-dependence of requires-expression
2789 | 12.2.4.1 | Overload resolution with implicit and explicit object member functions
2791 | 8.8.4 | Unclear phrasing about "returning to the caller"
2792 | 7.6.2.7 | Clean up specification of `noexcept` operator
2793 | 6.4.3 | Block-scope declaration conflicting with parameter name
2795 | 6.8.2 | Overlapping empty subobjects with different cv-qualification
2796 | 7.6.9 | Function pointer conversions for relational operators
2798 | 7.7 | Manifestly constant evaluation of the `static_assert` message
2801 | 9.5.4 | Reference binding with reference-related types
2803 | 12.2.4.2.5 | Overload resolution for reference binding of similar types
2806 | 13.8.1 | Make a type-requirement a type-only context
2807 | 11.4.7 | Destructors declared `consteval`
2809 | 9.6.2 | An implicit definition does not redeclare a function
2810 | 13.8.1 | Requiring the absence of diagnostics for templates
2811 | 6.10.3.1 | Clarify "use" of main
2813 | 7.6.1.5 | Class member access with prvalues
2815 | 12.2.4.3 | Overload resolution for references/pointers to `noexcept` functions
2818 | 5.11 | Use of predefined reserved identifiers
2819 | 7.7 | Cast from null pointer value in a constant expression
2820 | 9.5.1 | Value-initialization and default constructors
2822 | 6.8.6.1 | Side-effect-free pointer zap
2823 | 7.6.2.2 | Implicit undefined behavior when dereferencing pointers
2824 | 9.5.1 | Copy-initialization of arrays
2825 | 8.6.5 | Range-based for statement using a braced-init-list
2828 | 7.6.3 | Ambiguous interpretation of C-style cast
2830 | 9.5.5 | Top-level cv-qualification should be ignored for list-initialization
2831 | 9.3.1 | Non-templated function definitions and requires-clauses
2836 | 6.9.6 | Conversion rank of `long double` and extended floating-point types
2843 | 2 | Undated reference to Unicode makes C++ a moving target
2845 | 7.5.6.2 | Make the closure type of a captureless lambda a structural type
2846 | 9.3.4.6 | Out-of-class definitions of explicit object member functions
2848 | 13.9.3 | Omitting an empty template argument list for explicit instantiation
2849 | 6.8.7 | Parameter objects are not temporary objects
2850 | 6.8.6 | Unclear storage duration for function parameter objects
2851 | 7.7 | Allow floating-point conversions in converted constant expressions
2853 | 7.6.6 | Pointer arithmetic with pointer to hypothetical element
2854 | 14.2 | Storage duration of exception objects
2855 | 7.6.1.6 | Undefined behavior in postfix increment
2856 | 12.2.2.8 | Copy-list-initialization with explicit default constructors
2857 | 6.5.4 | Argument-dependent lookup with incomplete class types
2858 | 7.5.5.3 | Declarative nested-name-specifiers and pack-index-specifiers
2859 | 9.5.1 | Value-initialization with multiple default constructors
2861 | 7.6.1.7 | `dynamic_cast` on bad pointer value
2864 | 9.5.5 | Narrowing floating-point conversions
2865 | 7.6.16 | Regression on result of conditional operator
2867 | 9.7 | Order of initialization for structured bindings
2869 | 7.5.3 | `this` in local classes
2870 | 5.13.5 | Combining absent encoding-prefixes
2871 | 11.4.5.2 | User-declared constructor templates inhibiting default constructors
2872 | 6.7 | Linkage and unclear "can be referred to"
2874 | 9.2.9.5 | Qualified declarations of partial specializations
2876 | 9.6.1 | Disambiguation of `T x = delete("text")`
2877 | 9.8.2 | Type-only lookup for using-enum-declarator
2879 | 7.6.1.11 | Undesired outcomes with `const_cast`
2880 | 7.6.2.9 | Accessibility check for destructor of incomplete class type
2881 | 7.5.6.2 | Type restrictions for the explicit object parameter of a lambda
2882 | 7.6.1.9 | Unclear treatment of conversion to `void`
2883 | 6.3 | Definition of "odr-usable" ignores lambda scopes
2886 | 6.8.7 | Temporaries and trivial potentially-throwing special member functions
2887 | C.6.3 | Missing compatibility entries for xvalues
2890 | 11.6 | Defining members of local classes
2891 | Annex B | Normative status of implementation limits
2892 | 7.4 | Unclear usual arithmetic conversions
2894 | 7.6.1.4 | Functional casts create prvalues of reference type
2895 | 9.5.1 | Initialization should ignore the destination type's cv-qualification
2898 | 12.2.4.2.1 | Clarify implicit conversion sequence from cv `T` to `T`
2899 | 7.3.2 | Bad value representations should cause undefined behavior
2901 | 7.2.1 | Unclear semantics for near-match aliased access
2905 | 13.8.3.4 | Value-dependence of noexcept-expression
2906 | 7.6.16 | Lvalue-to-rvalue conversion of class types for conditional operator
2907 | 7.7 | Constant lvalue-to-rvalue conversion on uninitialized `std::nullptr_t`
2908 | 15.8 | Counting physical source lines for `__LINE__`
2909 | 7.7 | Subtle difference between constant-initialized and constexpr
2910 | 6.3 | Effect of requirement-parameter-lists on odr-usability
2911 | 7.5.8.1 | Unclear meaning of expressions "appearing within" subexpressions
2913 | 13.7.2.3 | Grammar for deduction-guide has requires-clause in the wrong position
2915 | 9.3.4.6 | Explicit object parameters of type `void`
2918 | 12.3 | Consideration of constraints for address of overloaded function
2919 | 12.2.2.7 | Conversion function candidates for initialization of const lvalue reference
2921 | 10.2 | Exporting redeclarations of entities not attached to a named module
2922 | 7.7 | constexpr placement-new is too permissive
2924 | 3.65 | Undefined behavior during constant evaluation
2927 | 15.1 | Unclear status of translation unit with `module` keyword
2930 | 11.9.6 | Unclear term "copy/move operation" in specification of copy elision
2931 | 12.4.1 | Restrictions on operator functions that are explicit object member functions
2933 | 7.2.2 | Dangling references
2936 | 13.8.3.2 | Local classes of templated functions should be part of the current instantiation
2937 | 5.2 | Grammar for preprocessing-file has no normative effect
2939 | 7.6.1.10 | Do not allow `reinterpret_cast` from prvalue to rvalue reference
2943 | 9.13.9 | Discarding a void return value
2944 | 7.6.18 | Unsequenced throw-expressions
2970 | 6.10.2.2 | Races with `volatile sig_atomic_t` bit-fields
2982 | 13.10.3.7 | Deduction in type-constraints
2985 | 9.5.4 | Unclear rules for reference initialization with conversion
2987 | 7.6.1.9 | Remove dilapidated wording from `static_cast`
2990 | 10.2 | Exporting redeclarations of namespaces
3013 | 15.4.1 | Disallowing macros for `#embed` parameters
3014 | 15.4.1 | Comma-delimited vs. comma-separated output for `#embed`
3015 | 15.3 | Handling of header-names for `#include` and `#embed`
3016 | 15.2 | Satisfying the syntactic requirements of `#include` and `#embed`
3018 | 15.2 | Validity of `defined` in `__has_embed`
3020 | 15.2 | Missing specification for `__has_cpp_attribute(indeterminate)`