C++ Standard Core Language Issue Index by Section, Revision 115e


This document contains a summary listing of all the C++ Core Language issues arranged in the order of the sections of the Standard with which they deal most directly. 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:

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 N4986.




Index by Section


Section Issue Status Liaison Title
_N2691_.E 131 TC1 Typo in Lao characters
_N2691_.E 248 C++11 Identifier characters
_N2691_.E 663 CD1 Valid Cyrillic identifier characters
_N2914_.14.10.1.1 889 concepts Default implementations of associated functions
_N2914_.14.10.2 780 concepts Questions regarding the point of definition of a concept map
_N2914_.14.10.2 911 concepts late_check and concept map templates
_N2914_.14.10.2.1 870 concepts Context of expression when satisfying an associated function requirement
_N2914_.14.10.2.1 871 concepts Satisfying associated functions with built-in operators
_N2914_.14.10.2.1 916 concepts Does a reference type have a destructor?
_N2914_.14.10.2.1 918 concepts Declaration/expression ambiguity in associated function expressions
_N2914_.14.10.2.2 907 concepts Default types in requirements in auto concepts
_N2914_.14.10.3.2 841 concepts Ill-formed concept refinement example
_N2914_.14.10.4 825 concepts TriviallyCopyableType concept
_N2914_.14.11 848 concepts Unconstrained template template parameters in constrained contexts
_N2914_.14.11.1 826 concepts Accept boolean constant expressions as constraints
_N2914_.14.11.1 827 concepts Use of && as requirement separator
_N2914_.14.11.1.1 890 concepts Missing requirement in example
_N2914_.14.11.1.2 857 concepts Implying requirements from enclosing scopes
_N2914_.14.11.2 781 concepts Missing requirement in constrained function example
_N2914_.14.11.2.1 748 concepts Always-complete archetypes
_N2914_.14.11.2.1 895 concepts Missing destructor requirements
_N2914_.14.11.4 894 concepts Incorrect example for constrained overload resolution
_N2960_.3.3.9 856 concepts Overlapping concept and requirements scopes
_N2960_.6.9 859 concepts Incomplete comment in late_check example
_N3225_.7.6.4 816 CD2 Diagnosing violations of [[final]]
_N3225_.7.6.4 817 CD2 Meaning of [[final]] applied to a class definition
_N3225_.7.6.5 1063 C++11 [[hiding]] with non-attribute declarations
_N3225_.7.6.5 1065 C++11 [[hiding]] with [[override]]
_N3225_.7.6.5 1067 NAD [[hiding]], using-declarations, and multiple inheritance
_N3225_.7.6.5 1133 C++11 Keywords vs attributes for control of hiding and overriding
_N3225_.11.3 1144 C++11 Remove access declarations
_N3225_.D.2 167 NAD Deprecating static functions
_N3225_.D.2 174 NAD Undeprecating global static
_N4140_.2.4 789 CD2 Deprecating trigraphs
_N4140_.17.6.4.3.2 1882 CD4 Reserved names without library use
_N4527_.12.9 1150 NAD Inheriting constructors have not been implemented
_N4527_.12.9 1350 CD3 Incorrect exception specification for inherited constructors
_N4527_.12.9 1487 CD3 When are inheriting constructors declared?
_N4527_.12.9 1567 C++14 Inheriting constructors and copy/move constructors
_N4527_.12.9 1573 CD4 Inherited constructor characteristics
_N4527_.12.9 1645 CD4 Identical inheriting constructors via default arguments
_N4527_.12.9 1715 CD4 Access and inherited constructor templates
_N4527_.12.9 1736 CD4 Inheriting constructor templates in a local class
_N4527_.12.9 1738 C++14 Explicit instantiation/specialization of inheriting constructor templates
_N4527_.12.9 1941 CD4 SFINAE and inherited constructor default arguments
_N4527_.12.9 1959 CD4 Inadvertently inherited copy constructor
_N4527_.12.9 1991 CD4 Inheriting constructors vs default arguments
_N4567_.5.1.1 122 CD1 template-ids as unqualified-ids
_N4567_.5.1.1 123 TC1 Bad cross-reference
_N4567_.5.1.1 125 CD1 Ambiguity in friend declaration syntax
_N4567_.5.1.1 147 TC1 Naming the constructor
_N4567_.5.1.1 536 CD6 Problems in the description of id-expressions
_N4567_.5.1.1 687 NAD template keyword with unqualified-ids
_N4567_.5.1.1 743 CD2 Use of decltype in a nested-name-specifier
_N4567_.5.1.1 760 CD2 this inside a nested class of a non-static member function
_N4567_.5.1.1 850 CD2 Restrictions on use of non-static data members
_N4567_.5.1.1 945 C++11 Use of this in a late-specified return type
_N4567_.5.1.1 1440 CD3 Acceptable decltype-specifiers used as nested-name-specifiers
_N4567_.5.1.1 1836 CD5 Use of class type being defined in trailing-return-type
_N4567_.5.1.1 1837 CD6 Use of this in friend and local class declarations
_N4567_.5.1.1 1929 CD4 template keyword following namespace nested-name-specifier
_N4567_.5.1.1 2134 NAD Objectless references to non-static member functions
_N4606_.15.5.2 596 NAD Replacing an exception object
_N4750_.C.1.3 1251 CD3 C compatibility: casting to unqualified void*
_N4750_.C.3.5 2114 CD3 Missing description of incompatibility from aggregate NSDMIs
_N4778_.7.6.1.4 466 CD1 cv-qualifiers on pseudo-destructor type
_N4778_.7.6.1.4 1920 CD4 Qualification mismatch in pseudo-destructor-name
_N4778_.7.6.1.4 2393 NAD Pseudo-destructors and object lifetime
_N4868_.6.4.1 2063 CD4 Type/nontype hiding in class scope
_N4868_.6.4.1 2165 CD6 Namespaces, declarative regions, and translation units
_N4868_.6.4.1 2289 CD5 Uniqueness of structured binding names
_N4868_.6.4.10 2164 CD5 Name hiding and using-directives
_N4868_.6.5.6 141 CD1 Non-member function templates in member access expressions
_N4868_.6.5.6 156 NAD Name lookup for conversion functions
_N4868_.6.5.6 305 CD1 Name lookup in destructor call
_N4868_.6.5.6 381 CD1 Incorrect example of base class member lookup
_N4868_.6.5.6 414 CD1 Multiple types found on destructor lookup
_N4868_.6.5.6 682 CD5 Missing description of lookup of template aliases
_N4868_.6.5.6 1111 C++11 Remove dual-scope lookup of member template names
_N4868_.6.5.6 1220 C++11 Looking up conversion-type-ids
_N4868_.6.5.6 1291 CD6 Looking up a conversion-type-id
_N4868_.6.5.6 1835 CD6 Dependent member lookup before <
_N4868_.6.5.6 1908 CD6 Dual destructor lookup and template-ids
_N4868_.9.8.2.3 95 NAD Elaborated type specifiers referencing names declared in friend decls
_N4868_.9.8.2.3 138 CD6 Friend declaration name lookup
_N4868_.9.8.2.3 165 NAD Definitions of friends and block-scope externs
_N4868_.9.8.2.3 166 TC1 Friend declarations of template-ids
_N4868_.9.8.2.3 553 NAD Problems with friend allocation and deallocation functions
_N4868_.9.8.2.3 673 NAD Injection of names from elaborated-type-specifiers in friend declarations
_N4868_.9.8.2.3 1021 CD4 Definitions of namespace members
_N4868_.9.8.2.3 1077 NAD Explicit specializations in non-containing namespaces
_N4868_.9.8.2.3 1439 CD3 Lookup and friend template declarations
_N4868_.9.8.2.3 1477 CD3 Definition of a friend outside its namespace
_N4868_.9.8.2.3 1838 CD4 Definition via unqualified-id and using-declaration
_N4868_.9.8.2.3 2155 C++17 Defining classes and enumerations via using-declarations
_N4868_.11.4.3.2 452 CD1 Wording nit on description of this
_N4868_.11.4.3.2 1306 CD3 Modifying an object within a const member function
_N4868_.12.2 1252 CD6 Overloading member function templates based on dependent return type
_N4868_.12.3 1898 CD6 Use of “equivalent” in overload resolution
_N4868_.13.8.4 206 TC1 Semantic constraints on non-dependent names
_N4868_.13.8.6 387 CD1 Errors in example in 14.6.5
_N4885_6.7.5.5.4 735 CD2 Missing case in specification of safely-derived pointers
_N4885_6.7.5.5.4 853 CD2 Support for relaxed pointer safety
_N4885_6.7.5.5.4 1190 C++11 Operations on non-safely-derived pointers
_N4885_6.7.5.5.4 1438 CD3 Non-dereference use of invalid pointers
_N4885_6.7.5.5.4 1575 C++14 Incorrect definition of “strict pointer safety”
2 2843 review LWG, EWG Undated reference to Unicode makes C++ a moving target
3 357 CD1 Definition of signature should include name
3 449 NAD Consistency in use of hyphen with names of "non" entities
3 537 CD1 Definition of “signature”
3 616 CD3 Definition of “indeterminate value”
3 690 CD2 The dynamic type of an rvalue reference
3 783 open Definition of “argument”
3 1476 CD3 Definition of user-defined type
3 1509 C++14 Definition of “non-template function”
3 1531 CD3 Definition of “access” (verb)
3 2632 drafting 'user-declared' is not defined
3.51 2520 C++23 Template signature and default template arguments
3.55 2124 CD4 Signature of constructor template
3.63 2924 ready Undefined behavior during constant evaluation
4.1 949 open Requirements for freestanding implementations
4.1 1938 CD5 Should hosted/freestanding be implementation-defined?
4.1.1 2518 C++23 (EWG) Conformance requirements and #error/#warning
4.1.1 2700 DRWP WG14 #error disallows existing implementation practice
4.1.1 2776 open EWG Substitution failure and implementation limits
4.2 784 C++11 List of incompatibilities with the previous Standard
5.2 362 CD1 Order of initialization in instantiation units
5.2 578 CD6 Phase 1 replacement of characters with universal-character-names
5.2 787 CD2 Unnecessary lexical undefined behavior
5.2 1103 C++11 Reversion of phase 1 and 2 transformations in raw string literals
5.2 1698 DRWP Files ending in \
5.2 1775 C++14 Undefined behavior of line splice in raw string literal
5.2 1999 CD4 Representation of source characters as universal-character-names
5.2 2455 CD6 Concatenation of string literals vs translation phases 5 and 6
5.2 2573 DRWP SG12 Undefined behavior when splicing results in a universal-character-name
5.2 2639 C++23 new-lines after phase 1
5.2 2747 DRWP Cannot depend on an already-deleted splice
5.2 2937 tentatively ready Grammar for preprocessing-file has no normative effect
5.3 173 TC1 Constraints on execution character set
5.3 558 CD1 Excluded characters in universal character names
5.3 630 CD2 Equality of narrow and wide character values in the basic character set
5.3 788 CD2 Relationship between locale and values of the execution character set
5.3 1332 CD5 Handling of invalid universal-character-names
5.3 1796 CD4 Is all-bits-zero for null characters a meaningful requirement?
5.3 2640 C++23 Allow more characters in an n-char sequence
5.3 2779 open Restrictions on the ordinary literal encoding
5.4 369 drafting Are new/delete identifiers or preprocessing-op-or-punc?
5.4 1655 drafting Line endings in raw string literals
5.4 2000 CD4 header-name outside #include directive
5.4 2574 DRWP SG12 Undefined behavior when lexing unmatched quotes
5.5 985 C++11 Alternative tokens and user-defined literals
5.5 1104 C++11 Global-scope template arguments vs the <: digraph
5.5 2726 review EWG Alternative tokens appearing as attribute-tokens
5.6 1901 drafting punctuator referenced but not defined
5.7 1403 CD6 Universal-character-names in comments
5.9 832 CD2 Value of preprocessing numbers
5.10 1105 C++11 Issues relating to TR 10176:2003
5.10 1963 CD4 Implementation-defined identifier characters
5.10 1972 CD6 Identifier character restrictions in non-identifiers
5.10 2818 DR Use of predefined reserved identifiers
5.12 189 drafting Definition of operator and punctuator
5.13 1924 review editor Definition of “literal” and kinds of literals
5.13 2641 C++23 Redundant specification of value category of literals
5.13.2 1717 C++14 Missing specification of type of binary literal
5.13.2 1947 NAD Digit separators following non-octal prefix
5.13.2 2698 DRWP WG14, EWG Using extended integer types with z suffix
5.13.3 505 CD1 Conditionally-supported behavior for unknown character escapes
5.13.3 912 CD3 Character literals and universal-character-names
5.13.3 933 CD2 32-bit UCNs with 16-bit wchar_t
5.13.3 1024 CD3 Limits on multicharacter literals
5.13.3 1422 dup Type of character literals containing universal-character-names
5.13.3 1656 CD6 Encoding of numerically-escaped characters
5.13.3 2333 CD6 Escape sequences in UTF-8 character literals
5.13.3 2402 CD6 When is the restriction to a single c-char in a Unicode literal enforced?
5.13.3 2540 CD6 Unspecified interpretation of numeric-escape-sequence
5.13.3 2691 C++23 hexadecimal-escape-sequence is too greedy
5.13.4 2752 open EWG Excess-precision floating-point literals
5.13.5 411 CD6 Use of universal-character-name in character versus string literals
5.13.5 790 CD2 Concatenation of raw and non-raw string literals
5.13.5 834 CD2 What is an “ordinary string literal”?
5.13.5 872 CD2 Lexical issues with raw strings
5.13.5 932 CD2 UCNs in closing delimiters of raw string literals
5.13.5 1759 C++14 UTF-8 code units in plain char
5.13.5 1802 CD4 char16_t string literals and surrogate pairs
5.13.5 1859 CD5 UTF-16 in char16_t string literals
5.13.5 2766 open Repeated evaluation of a string-literal may yield different objects
5.13.5 2870 DR Combining absent encoding-prefixes
5.13.8 1106 C++11 Need more detail in nullptr keyword description
5.13.9 931 CD2 Confusing reference to the length of a user-defined string literal
5.13.9 937 NAD Restrictions on values of template arguments in user-defined literals
5.13.9 1107 C++11 Overload resolution for user-defined integer literals
5.13.9 1108 NAD User-defined literals have not been implemented
5.13.9 1175 C++11 Disambiguating user-defined literals
5.13.9 1239 C++11 Hexadecimal floating-point literals vs user-defined literals
5.13.9 1266 open user-defined-integer-literal overflow
5.13.9 1474 NAD User-defined literals and <inttypes.h> format macros
5.13.9 1723 drafting Multicharacter user-defined character literals
5.13.9 1735 drafting Out-of-range literals in user-defined-literals
5.13.9 1810 CD4 Invalid ud-suffixes
5.13.9 1871 NAD Non-identifier characters in ud-suffix
5.13.9 2152 NAD Can an alternative token be used as a ud-suffix?
6.1 309 CD1 Linkage of entities whose names are not simply identifiers, in introduction
6.1 485 CD1 What is a “name”?
6.1 633 CD2 Specifications for variables that should also apply to references
6.1 719 CD2 Specifications for operator-function-id that should also apply to literal-operator-id
6.1 942 CD2 Is this an entity?
6.1 1529 drafting Nomenclature for variable vs reference non-static data member
6.1 2423 NAD Typedefs, names, and entities
6.2 676 C++11 static_assert-declarations and general requirements for declarations
6.2 758 C++11 Missing cases of declarations that are not definitions
6.2 1201 C++11 Are deleted and defaulted functions definitions?
6.2 1870 CD4 Contradictory wording about definitions vs explicit specialization/instantiation
6.2 2371 CD5 Use of the English term “attributes” is confusing
6.3 50 NAD Converting pointer to incomplete type to same type
6.3 82 dup Definition of "using" a constant expression
6.3 261 CD1 When is a deallocation function "used?"
6.3 289 CD1 Incomplete list of contexts requiring a complete type
6.3 570 CD2 Are references subject to the ODR?
6.3 678 C++11 Language linkage of member function parameter types and the ODR
6.3 712 CD3 Are integer constant operands of a conditional-expression “used?”
6.3 1109 C++11 When is “use” a reference to the ODR meaning?
6.3 1110 NAD Incomplete return type should be allowed in decltype operand
6.3 1174 C++11 When is a pure virtual function “used?”
6.3 1192 C++11 Inadvertent change to ODR and templates
6.3 1209 open Is a potentially-evaluated expression in a template definition a “use?”
6.3 1254 NAD odr-use vs template arguments and constexpr functions
6.3 1260 CD3 Incorrect use of term “overloaded” in description of odr-use
6.3 1362 CD3 Complete type required for implicit conversion to T&
6.3 1472 CD3 odr-use of reference variables
6.3 1511 CD3 const volatile variables and the one-definition rule
6.3 1581 CD5 When are constexpr member functions defined?
6.3 1614 CD4 Address of pure virtual function vs odr-use
6.3 1741 C++14 odr-use of class object in lvalue-to-rvalue conversion
6.3 1849 CD6 Variable templates and the ODR
6.3 1897 review ODR vs alternative tokens
6.3 1926 CD4 Potential results of subscript operator
6.3 2020 CD5 Inadequate description of odr-use of implicitly-invoked functions
6.3 2083 CD5 Incorrect cases of odr-use
6.3 2085 CD4 Invalid example of adding special member function via default argument
6.3 2103 CD5 Lvalue-to-rvalue conversion is irrelevant in odr-use of a reference
6.3 2104 CD4 Internal-linkage constexpr references and ODR requirements
6.3 2170 CD5 Unclear definition of odr-use for arrays
6.3 2240 NAD this is not odr-used in a constant expression
6.3 2242 C++23 ODR violation with constant initialization possibly omitted
6.3 2300 CD5 Lambdas in multiple definitions
6.3 2353 CD5 Potential results of a member access expression for a static data member
6.3 2367 NAD Lambdas in default arguments vs the ODR
6.3 2380 CD5 capture-default makes too many references odr-usable
6.3 2433 C++20 Variable templates in the ODR
6.3 2494 CD6 Multiple definitions of non-odr-used entities
6.3 2530 C++23 Multiple definitions of enumerators
6.3 2678 C++23 (EWG) std::source_location::current is unimplementable
6.3 2745 DRWP Dependent odr-use in generic lambdas
6.3 2781 open Unclear recursion in the one-definition rule
6.3 2782 open Treatment of closure types in the one-definition rule
6.3 2883 DR Definition of "odr-usable" ignores lambda scopes
6.3 2910 ready Effect of requirement-parameter-lists on odr-usability
6.4 481 CD2 Scope of template parameters
6.4 554 CD6 Definition of “declarative region” and “scope”
6.4.1 2488 open Overloading virtual functions and functions with trailing requires-clauses
6.4.1 2764 DRWP Use of placeholders affecting name mangling
6.4.1 2788 open Correspondence and redeclarations
6.4.1 2835 open Name-independent declarations
6.4.2 433 CD1 Do elaborated type specifiers in templates inject into enclosing namespace scope?
6.4.2 1044 C++11 Point of declaration for an alias-declaration
6.4.2 1210 C++11 Injection of elaborated-type-specifier in enumeration scope
6.4.2 1433 NAD trailing-return-type and point of declaration
6.4.2 1482 CD3 Point of declaration of enumeration
6.4.2 2516 C++23 Locus of enum-specifier or opaque-enum-declaration
6.4.3 642 CD2 Definition and use of “block scope” and “local scope”
6.4.3 2502 CD6 Unintended declaration conflicts in nested statement scopes
6.4.3 2793 DRWP Block-scope declaration conflicting with parameter name
6.4.3 2838 open Declaration conflicts in lambda-expressions
6.4.7 42 NAD Redefining names from base classes
6.4.7 432 CD1 Is injected class name visible in base class specifier list?
6.4.7 1352 CD3 Inconsistent class scope and completeness rules
6.4.7 1875 CD4 Reordering declarations in class scope
6.4.7 2009 CD6 Unclear specification of class scope
6.4.7 2331 CD6 Redundancy in description of class scope
6.4.9 1429 NAD Scope of a member template's template parameter
6.5 555 CD5 Pseudo-destructor name lookup
6.5 2218 C++17 Ambiguity and namespace aliases
6.5.1 2480 drafting Lookup for enumerators in modules
6.5.2 39 CD1 Conflicting ambiguity rules
6.5.2 306 CD1 Ambiguity by class name injection
6.5.2 380 open Definition of "ambiguous base class" missing
6.5.2 1764 C++14 Hiding of function from using-declaration by signature
6.5.2 2078 NAD Name lookup of mem-initilizer-id
6.5.2 2567 NAD Operator lookup ambiguity
6.5.2 2582 CD6 Differing member lookup from nested classes
6.5.2 2642 C++23 Inconsistent use of T and C
6.5.3 41 TC1 Clarification of lookup of names after declarator-id
6.5.3 139 CD1 Error in friend lookup example
6.5.3 191 CD6 Name lookup does not handle complex nesting
6.5.3 192 NAD Name lookup in parameters
6.5.3 231 NAD Visibility of names after using-directives
6.5.3 405 CD6 Unqualified function name lookup
6.5.3 490 CD2 Name lookup in friend declarations
6.5.3 514 CD1 Is the initializer for a namespace member in the scope of the namespace?
6.5.3 1200 CD6 Lookup rules for template parameters
6.5.3 1906 NAD Name lookup in member friend declaration
6.5.3 2357 NAD Lookup in member function declarations
6.5.3 2370 CD6 friend declarations of namespace-scope functions
6.5.4 12 dup Default arguments on different declarations for the same function and the Koenig lookup
6.5.4 33 TC1 Argument dependent lookup and overloaded functions
6.5.4 90 TC1 Should the enclosing class be an "associated class" too?
6.5.4 91 NAD A union's associated types should include the union itself
6.5.4 143 CD1 Friends and Koenig lookup
6.5.4 164 TC1 Overlap between Koenig and normal lookup
6.5.4 218 CD1 Specification of Koenig lookup
6.5.4 225 NAD Koenig lookup and fundamental types
6.5.4 321 dup Associated classes and namespaces for argument-dependent lookup
6.5.4 384 NAD Argument-dependent lookup and operator functions
6.5.4 403 CD1 Reference to a type as a template-id
6.5.4 557 CD1 Does argument-dependent lookup cause template instantiation?
6.5.4 598 CD2 Associated namespaces of overloaded functions and function templates
6.5.4 705 CD2 Suppressing argument-dependent lookup via parentheses
6.5.4 997 C++11 Argument-dependent lookup and dependent function template parameter types
6.5.4 1015 C++11 Template arguments and argument-dependent lookup
6.5.4 1690 C++14 Associated namespace for local type
6.5.4 1691 C++14 Argument-dependent lookup and opaque enumerations
6.5.4 1692 C++14 Associated namespaces of doubly-nested classes
6.5.4 2136 NAD Argument-dependent lookup and initializer lists
6.5.4 2142 NAD Missing definition of associated classes and namespaces
6.5.4 2857 DRWP Argument-dependent lookup with incomplete class types
6.5.4 2888 review Missing cases for reference and array types for argument-dependent lookup
6.5.5 724 concepts Qualified name lookup in a constrained context
6.5.5 1753 CD4 decltype-specifier in nested-name-specifier of destructor
6.5.5 1771 CD6 Restricted lookup in nested-name-specifier
6.5.5 1828 CD6 nested-name-specifier ambiguity
6.5.5.1 1089 open Template parameters in member selections
6.5.5.1 2926 tentatively ready Lookup context for dependent qualified names
6.5.5.1 2956 open Missing allowance for pseudo-destructors in qualified lookup
6.5.5.2 298 CD1 T::x when T is cv-qualified
6.5.5.2 318 CD1 struct A::A should not name the constructor of A
6.5.5.2 562 CD6 qualified-ids in non-expression contexts
6.5.5.2 635 NAD Names of constructors and destructors of templates
6.5.5.2 1000 CD2 Mistaking member typedefs for constructors
6.5.5.2 1310 CD3 What is an “acceptable lookup result?”
6.5.5.2 2070 CD6 using-declaration with dependent nested-name-specifier
6.5.5.3 400 CD1 Using-declarations and the "struct hack"
6.5.5.3 861 CD2 Unintended ambiguity in inline namespace lookup
6.5.6 85 TC1 Redeclaration of member class
6.5.6 245 CD1 Name lookup in elaborated-type-specifiers
6.5.6 254 CD1 Definitional problems with elaborated-type-specifiers
6.5.7 373 C++11 Lookup on namespace qualified name in using-directive
6.6 132 NAD Local types and linkage
6.6 216 CD1 Linkage of nameless class-scope enumeration types
6.6 278 NAD External linkage and nameless entities
6.6 279 CD6 Correspondence of "names for linkage purposes"
6.6 319 CD1 Use of names without linkage in declaring entities with linkage
6.6 338 CD6 Enumerator name with linkage used as class name in other translation unit
6.6 389 CD1 Unnamed types in entities with linkage
6.6 426 C++17 Identically-named variables, one internally and one externally linked, allowed?
6.6 474 CD1 Block-scope extern declarations in namespace members
6.6 527 CD2 Problems with linkage of types
6.6 571 CD2 References declared const
6.6 757 CD2 Types without linkage in declarations
6.6 791 concepts Linkage of concept names
6.6 966 CD2 Nested types without linkage
6.6 1112 C++11 constexpr variables should have internal linkage like const
6.6 1113 C++11 Linkage of namespace member of unnamed namespace
6.6 1415 CD3 Missing prohibition of block-scope definition of extern object
6.6 1603 CD4 Errors resulting from giving unnamed namespaces internal linkage
6.6 1686 CD4 Which variables are “explicitly declared const?”
6.6 1839 CD6 Lookup of block-scope extern declarations
6.6 1884 CD6 Unclear requirements for same-named external-linkage entities
6.6 2058 CD6 More errors from internal-linkage namespaces
6.6 2198 C++17 Linkage of enumerators
6.6 2230 NAD Linkage of extern "C" function in unnamed namespace
6.6 2372 CD5 Incorrect matching rules for block-scope extern declarations
6.6 2387 CD5 Linkage of const-qualified variable template
6.6 2670 open Programs and translation units
6.6 2706 open Repeated structured binding declarations
6.6 2872 DR Linkage and unclear "can be referred to"
6.6 2938 open Inheriting linkage from a previous declaration
6.6 2945 open Redundant constraints on matching function template declarations
6.7.1 1953 tentatively ready Data races and common initial sequence
6.7.2 513 CD1 Non-class “most-derived” objects
6.7.2 1189 C++11 Address of distinct base class subobjects
6.7.2 2151 CD4 Exception object is not created
6.7.2 2324 drafting Size of base class subobject
6.7.2 2325 drafting std::launder and reuse of character buffers
6.7.2 2334 open Creation of objects by typeid
6.7.2 2469 drafting Implicit object creation vs constant expressions
6.7.2 2470 CD6 Multiple array objects providing storage for one object
6.7.2 2489 C++23 Storage provided by array of char
6.7.2 2744 open Multiple objects of the same type at the same address
6.7.2 2753 DRWP Storage reuse for string literal objects and backing arrays
6.7.2 2765 open Address comparisons between potentially non-unique objects during constant evaluation
6.7.2 2795 DRWP Overlapping empty subobjects with different cv-qualification
6.7.2 2940 review Definition of "object"
6.7.3 89 TC1 Object lifetime does not account for reference rebinding
6.7.3 93 TC1 Missing word in 3.8 basic.life paragraph 2
6.7.3 119 CD1 Object lifetime and aggregate initialization
6.7.3 234 NAD Reuse of base class subobjects
6.7.3 274 CD1 Cv-qualification and char-alias access to out-of-lifetime objects
6.7.3 404 CD1 Unclear reference to construction with non-trivial constructor
6.7.3 419 open Can cast to virtual base class be done on partially-constructed object?
6.7.3 594 CD1 Coordinating issues 119 and 404 with delegating constructors
6.7.3 597 CD3 Conversions applied to out-of-lifetime non-POD lvalues
6.7.3 793 CD2 Use of class members during destruction
6.7.3 1027 review Type consistency and reallocation of scalar types
6.7.3 1050 NAD Effects of thread support on object lifetime
6.7.3 1114 C++11 Incorrect use of placement new in example
6.7.3 1116 CD4 Aliasing of union members
6.7.3 1280 NAD Object reallocation and reference members
6.7.3 1284 CD4 Should the lifetime of an array be independent of that of its elements?
6.7.3 1285 NAD Trivial destructors and object lifetime
6.7.3 1530 drafting Member access in out-of-lifetime objects
6.7.3 1751 CD4 Non-trivial operations vs non-trivial initialization
6.7.3 1776 CD4 Replacement of class objects containing reference members
6.7.3 1853 dup Defining “allocated storage”
6.7.3 2256 CD5 Lifetime of trivially-destructible objects
6.7.3 2258 open Storage deallocation during period of destruction
6.7.3 2514 open SG12 Modifying const subobjects
6.7.3 2551 review "Refers to allocated storage" has no meaning
6.7.3 2625 C++23 Deletion of pointer to out-of-lifetime object
6.7.3 2665 NAD Replacing a subobject with a complete object
6.7.3 2676 open Replacing a complete object having base subobjects
6.7.3 2677 review Replacing union subobjects
6.7.3 2721 DRWP When exactly is storage reused?
6.7.3 2821 review Lifetime, zero-initialization, and dynamic initialization
6.7.3 2860 dup Remove and fix the term "vacuous initialization"
6.7.3 2863 drafting Unclear synchronization requirements for object lifetime rules
6.7.3 2952 open Vacuous initialization for subobjects
6.7.3 2960 open Introduce discontiguous object lifetime
6.7.4 1997 DRWP Placement new and previous initialization
6.7.5 365 open Storage duration and temporaries
6.7.5 1634 drafting Temporary storage duration
6.7.5 2012 CD4 Lifetime of references
6.7.5 2533 DRWP Storage duration of implicitly created objects
6.7.5 2850 DRWP Unclear storage duration for function parameter objects
6.7.5.1 2822 DRWP Side-effect-free pointer zap
6.7.5.4 1956 CD4 Reuse of storage of automatic variables
6.7.5.5 967 NAD Exception specification of replacement allocation function
6.7.5.5 1948 NAD exception-specification of replacement global new
6.7.5.5.2 521 CD1 Requirements for exceptions thrown by allocation functions
6.7.5.5.2 1338 CD4 Aliasing and allocation functions
6.7.5.5.2 1676 drafting auto return type for allocation and deallocation functions
6.7.5.5.2 1682 open Overly-restrictive rules on function templates as allocation functions
6.7.5.5.2 1910 CD5 “Shall” requirement applied to runtime behavior
6.7.5.5.2 2073 drafting Allocating memory for exception objects
6.7.5.5.2 2207 CD5 Alignment of allocation function return value
6.7.5.5.2 2238 NAD Contradictory alignment requirements for allocation
6.7.5.5.3 220 CD1 All deallocation functions should be required not to throw
6.7.5.5.3 312 CD3 “use” of invalid pointer value not defined
6.7.5.5.3 348 CD1 delete and user-written deallocation functions
6.7.5.5.3 523 open Can a one-past-the-end pointer be invalidated by deleting an adjacent object?
6.7.5.5.3 623 CD3 Use of pointers to deallocated storage
6.7.5.5.3 2042 drafting Exceptions and deallocation functions
6.7.5.6 2019 CD4 Member references omitted from description of storage duration
6.7.6 649 CD1 Optionally ill-formed extended alignment requests
6.7.6 1090 C++11 Alignment of subobjects
6.7.6 1115 C++11 C-compatible alignment specification
6.7.6 1180 C++11 Over-aligned class types
6.7.6 1211 drafting Misaligned lvalues
6.7.6 1879 NAD Inadequate definition of alignment requirement
6.7.6 2354 CD5 Extended alignment and object representation
6.7.6 2719 DRWP Creating objects in misaligned storage
6.7.6 2840 open Missing requirements for fundamental alignments
6.7.7 86 CD1 Lifetime of temporaries in query expressions
6.7.7 117 NAD Timing of destruction of temporaries
6.7.7 124 CD1 Lifetime of temporaries in default initialization of class arrays
6.7.7 199 CD1 Order of destruction of temporaries
6.7.7 201 CD1 Order of destruction of temporaries in initializers
6.7.7 320 CD1 Question on copy constructor elision example
6.7.7 392 CD1 Use of full expression lvalue before temporary destruction
6.7.7 443 CD1 Wording nit in description of lifetime of temporaries
6.7.7 462 CD3 Lifetime of temporaries bound to comma expressions
6.7.7 464 CD1 Wording nit on lifetime of temporaries to which references are bound
6.7.7 650 CD2 Order of destruction for temporaries bound to the returned value of a function
6.7.7 900 C++23 Lifetime of temporaries in range-based for
6.7.7 1237 C++11 Deprecated implicit copy assignment in example
6.7.7 1299 CD5 “Temporary objects” vs “temporary expressions”
6.7.7 1568 dup Temporary lifetime extension with intervening cast
6.7.7 1651 NAD Lifetime extension of temporary via reference to subobject
6.7.7 1695 NAD Lifetime extension via init-capture
6.7.7 1696 CD4 Temporary lifetime and non-static data member initializers
6.7.7 1697 CD4 Lifetime extension and copy elision
6.7.7 2107 CD4 Lifetime of temporaries for default arguments in array copying
6.7.7 2257 CD5 Lifetime extension of references vs exceptions
6.7.7 2434 review Mandatory copy elision vs non-class objects
6.7.7 2666 open Lifetime extension through static_cast
6.7.7 2826 drafting Missing definition of "temporary expression"
6.7.7 2832 open Invented temporary variables and temporary objects
6.7.7 2849 DRWP Parameter objects are not temporary objects
6.7.7 2868 open Self-references in trivially copyable objects as function return values
6.7.7 2886 DR Temporaries and trivial potentially-throwing special member functions
6.7.7 2941 open Lifetime extension for function-style cast to reference type
6.8 43 TC1 Copying base classes (PODs) using memcpy
6.8 290 NAD Should memcpy be allowed into a POD with a const member?
6.8 350 open WG14 signed char underlying representation for objects
6.8 496 CD3 Is a volatile-qualified type really a POD?
6.8 619 C++11 Completeness of array types
6.8 644 CD1 Should a trivial class type be a literal type?
6.8 646 NAD Can a class with a constexpr copy constructor be a literal type?
6.8 883 CD2 std::memcpy vs std::memmove
6.8 981 C++11 Constexpr constructor templates and literal types
6.8 1071 C++11 Literal class types and trivial default constructors
6.8 1181 C++11 What is a “built-in type?”
6.8 1198 C++11 Literal types and copy constructors
6.8 1219 C++11 Non-static data member initializers in constant expressions
6.8 1334 NAD Layout compatibility and cv-qualification
6.8 1361 CD3 Requirement on brace-or-equal-initializers of literal types
6.8 1405 CD3 constexpr and mutable members of literal types
6.8 1453 CD3 Volatile members in literal classes?
6.8 1654 dup Literal types and constexpr defaulted constructors
6.8 1701 drafting Array vs sequence in object representation
6.8 1746 C++14 Are volatile scalar types trivially copyable?
6.8 1951 CD4 Cv-qualification and literal types
6.8 2096 CD4 Constraints on literal unions
6.8 2323 C++20 Expunge POD
6.8.1 2519 DRWP Object representation of a bit-field
6.8.1 2598 C++23 Unions should not require a non-static data member of literal type
6.8.1 2643 C++23 Completing a pointer to array of unknown bound
6.8.1 2953 open Value representation for non-trivially-copyable types
6.8.2 146 open Floating-point zero
6.8.2 251 open How many signed integer types are there?
6.8.2 483 CD3 Normative requirements on integral ranges
6.8.2 627 NAD Values behaving as types
6.8.2 689 CD5 Maximum values of signed and unsigned integers
6.8.2 1055 C++11 Permissible uses of void
6.8.2 1276 NAD Reference to stdint.h
6.8.2 1302 CD3 noexcept applied to expression of type void
6.8.2 1448 NAD Integral values of type bool
6.8.2 1515 CD3 Modulo 2n arithmetic for implicitly-unsigned types
6.8.2 1539 CD3 Definition of “character type”
6.8.2 1797 CD4 Are all bit patterns of unsigned char distinct numbers?
6.8.2 2185 CD6 Cv-qualified numeric types
6.8.2 2214 C++17 Missing requirement on representation of integer values
6.8.2 2448 CD6 Cv-qualification of arithmetic types and deprecation of volatile
6.8.2 2475 C++23 WG14 Object declarations of type cv void
6.8.2 2689 DRWP Are cv-qualified std::nullptr_t fundamental types?
6.8.2 2723 DRWP Range of representable values for floating-point types
6.8.2 2827 review Representation of unsigned integral types
6.8.4 2006 CD4 Cv-qualified void types
6.8.4 2287 CD5 Pointer-interconvertibility in non-standard-layout unions
6.8.4 2499 CD6 Inconsistency in definition of pointer-interconvertibility
6.8.4 2544 open Address of past-the-end of a potentially-overlapping subobject
6.8.5 1059 CD3 Cv-qualified array types (with rvalues)
6.8.5 1428 CD3 Dynamic const objects
6.8.5 2201 C++17 Cv-qualification of array types
6.8.6 2836 DR EWG Conversion rank of long double and extended floating-point types
6.9 2431 C++20 Full-expressions and temporaries bound to references
6.9.1 129 CD3 Stability of uninitialized auto variables
6.9.1 612 CD2 Requirements on a conforming implementation
6.9.1 637 CD1 Sequencing rules and example disagree
6.9.1 639 CD1 What makes side effects “different” from one another?
6.9.1 698 open The definition of “sequenced before” is too narrow
6.9.1 785 CD2 “Execution sequence” is inappropriate phraseology
6.9.1 1102 C++11 Better example of undefined behavior
6.9.1 1173 C++11 Unclear specification of effects of signal handling
6.9.1 1343 C++17 Sequencing of non-class initialization
6.9.1 1441 C++14 Unclear wording for signal handler restrictions
6.9.1 1583 C++14 Incorrect example of unspecified behavior
6.9.1 1949 CD4 “sequenced after” instead of “sequenced before”
6.9.1 2146 CD4 Scalar object vs memory location in definition of “unsequenced”
6.9.1 2955 open Unify rules about conflicting unordered accesses
6.9.2 726 CD2 Atomic and non-atomic objects in the memory model
6.9.2 740 CD2 Incorrect note on data races
6.9.2 786 CD2 Definition of “thread”
6.9.2 1040 NAD Memory model issues
6.9.2 1176 C++11 Definition of release sequence
6.9.2 1177 C++11 Intra-thread dependency-ordered-before
6.9.2 1466 C++14 Visible sequences of side effects are redundant
6.9.2 1470 NAD Thread migration
6.9.2 1661 NAD Preservation of infinite loops
6.9.2 1842 open SG1 Unevaluated operands and “carries a dependency”
6.9.2 1961 C++17 Potentially-concurrent actions within a signal handler
6.9.2 2046 C++17 Incomplete thread specifications
6.9.2.2 2297 open Unclear specification of atomic operations
6.9.2.2 2298 open SG1 Actions and expression evaluation
6.9.2.2 2587 review Visible side effects and initial value of an object
6.9.2.2 2954 NAD Simultaneous modifications of an atomic object
6.9.2.3 2816 review Unclear phrasing "may assume ... eventually"
6.9.2.3 2923 review SG1 Note about infinite loops and execution steps
6.9.3 2026 CD4 Zero-initialization and constexpr
6.9.3.1 792 CD2 Effects of std::quick_exit
6.9.3.1 882 CD2 Defining main as deleted
6.9.3.1 1003 CD3 Acceptable definitions of main
6.9.3.1 1669 C++14 auto return type for main
6.9.3.1 1886 CD4 Language linkage for main()
6.9.3.1 2479 CD6 Missing specifications for consteval and constinit
6.9.3.1 2594 CD6 Disallowing a global function template main
6.9.3.1 2811 DRWP Clarify "use" of main
6.9.3.2 269 NAD Order of initialization of multiply-defined static data members of class templates
6.9.3.2 270 CD1 Order of initialization of static data members of class templates
6.9.3.2 371 open Interleaving of constructor calls
6.9.3.2 441 CD1 Ordering of static reference initialization
6.9.3.2 465 NAD May constructors of global objects call exit()?
6.9.3.2 688 CD1 Constexpr constructors and static initialization
6.9.3.2 1187 C++11 Problems in initialization example
6.9.3.2 1294 open Side effects in dynamic/static initialization
6.9.3.2 1489 CD3 Is value-initialization of an array constant initialization?
6.9.3.2 1659 open Initialization order of thread_local template static data members
6.9.3.2 1677 C++17 Constant initialization via aggregate initialization
6.9.3.2 1744 CD4 Unordered initialization for variable template specializations
6.9.3.2 1747 C++14 Constant initialization of reference to function
6.9.3.2 1749 NAD Confusing definition for constant initializer
6.9.3.2 1834 CD4 Constant initialization binding a reference to an xvalue
6.9.3.2 1986 drafting odr-use and delayed initialization
6.9.3.2 2148 drafting Thread storage duration and order of initialization
6.9.3.2 2366 CD5 Can default initialization be constant initialization?
6.9.3.2 2914 review Unclear order of initialization of static and thread-local variables
6.9.3.3 28 CD1 'exit', 'signal' and static object destruction
6.9.3.3 640 NAD Accessing destroyed local objects of static storage duration
6.9.3.3 776 CD2 Delegating constructors, destructors, and std::exit
6.9.3.3 946 CD2 Order of destruction of local static objects and calls to std::atexit
6.9.3.3 2444 drafting Constant expressions in initialization odr-use
6.9.3.3 2684 open thread_local dynamic initialization
6.9.3.3 2833 review Evaluation of odr-use
6.9.3.3 2928 open No ordering for initializing thread-local variables
6.9.3.4 2929 tentatively ready Lifetime of trivially-destructible static or thread-local objects
7 71 NAD Incorrect cross reference
7 222 CD1 Sequence points and lvalue-returning operators
7 238 CD4 Precision and accuracy constraints on floating point
7 351 CD1 Sequence point error: unspecified or undefined?
7 438 CD2 Possible flaw in wording for multiple accesses to object between sequence points
7 451 CD1 Expressions with invalid results and ill-formedness
7 695 CD2 Compile-time calculation errors in constexpr functions
7 835 CD2 Scoped enumerations and the “usual arithmetic conversions”
7 858 CD2 Example binding an rvalue reference to an lvalue
7 1117 C++11 Incorrect note about xvalue member access expressions
7 1261 CD3 Explicit handling of cv-qualification with non-class prvalues
7 1383 CD3 Clarifying discarded-value expressions
7 1576 C++14 Discarded-value volatile xvalues
7 2206 C++17 Composite type of object and function pointers
7.2.1 158 CD1 Aliasing and qualification conversions
7.2.1 584 NAD Unions and aliasing
7.2.1 636 CD4 Dynamic type of objects and aliasing
7.2.1 846 CD2 Rvalue references to functions
7.2.1 964 C++11 Incorrect description of when the lvalue-to-rvalue conversion applies
7.2.1 1026 NAD Cv-qualified non-class rvalues
7.2.1 1076 CD5 Value categories and lvalue temporaries
7.2.1 1534 dup cv-qualification of prvalue of type “array of class”
7.2.1 1998 NAD Additional sources of xvalue expressions
7.2.1 2051 CD5 Simplifying alias rules
7.2.1 2122 CD4 Glvalues of void type
7.2.1 2901 ready Unclear semantics for near-match aliased access
7.2.2 2381 CD5 Composite pointer type of pointers to plain and noexcept member functions
7.2.2 2933 tentatively ready Dangling references
7.3 572 C++11 Standard conversions for non-built-in types
7.3 1981 CD4 Implicit contextual conversions and explicit
7.3.2 240 CD3 Uninitialized values and undefined behavior
7.3.2 617 NAD Lvalue-to-rvalue conversions of uninitialized char objects
7.3.2 1013 CD3 Uninitialized std::nullptr_t objects
7.3.2 1773 C++14 Out-of-lifetime lvalue-to-rvalue conversion
7.3.2 1787 C++14 Uninitialized unsigned char values
7.3.2 2140 CD4 Lvalue-to-rvalue conversion of std::nullptr_t
7.3.2 2899 ready Bad value representations should cause undefined behavior
7.3.3 693 CD2 New string types and deprecated conversion
7.3.6 330 CD4 Qualification conversions and pointers to arrays of pointers
7.3.6 2438 open Problems in the specification of qualification conversions
7.3.7 303 NAD Integral promotions on bit-fields
7.3.7 685 CD2 Integral promotion of enumeration ignores fixed underlying type
7.3.7 1601 C++14 Promotion of enumeration with fixed underlying type
7.3.7 2484 CD6 char8_t and char16_t in integral promotions
7.3.7 2485 DRWP Bit-fields in integral promotions
7.3.9 1816 CD4 Unclear specification of bit-field values
7.3.11 566 NAD Conversion of negative floating point values to integer type
7.3.11 707 CD2 Undefined behavior in integral-to-floating conversions
7.3.11 2139 NAD Floating-point requirements for integer representation
7.3.12 149 TC1 Accessibility and ambiguity
7.3.12 456 NAD Is initialized const int or const bool variable a null pointer constant?
7.3.12 519 CD1 Null pointer preservation in void* conversions
7.3.12 654 CD1 Conversions to and from nullptr_t
7.3.12 917 concepts Pointer conversions between archetypes
7.3.12 2310 CD5 Type completeness and derived-to-base pointer conversions
7.3.13 170 DRWP Pointer-to-member conversions
7.3.13 480 CD1 Is a base of a virtual base also virtual?
7.3.13 794 NAD Base-derived conversion in member type of pointer-to-member conversion
7.3.14 1423 CD3 Convertibility of nullptr to bool
7.3.14 2133 CD5 Converting std::nullptr_t to bool
7.4 2528 C++23 Three-way comparison and the usual arithmetic conversions
7.4 2892 DR Unclear usual arithmetic conversions
7.5.3 2869 DR this in local classes
7.5.5 2503 drafting Unclear relationship among name, qualified name, and unqualified name
7.5.5.1 2902 review Implicit this transformation outside of permitted contexts
7.5.5.2 2249 CD5 identifiers and id-expressions
7.5.5.2 2569 CD6 EWG Use of decltype(capture) in a lambda's parameter-declaration-clause
7.5.5.2 2738 review "denotes a destructor" is missing specification
7.5.5.3 2385 CD5 Lookup for conversion-function-ids
7.5.5.3 2396 CD6 Lookup of names in complex conversion-type-ids
7.5.5.3 2549 review Implicitly moving the operand of a throw-expression in unevaluated contexts
7.5.5.3 2858 accepted Declarative nested-name-specifiers and pack-index-specifiers
7.5.5.5 2473 drafting Parentheses in pseudo-destructor calls
7.5.6 720 CD2 Need examples of lambda-expressions
7.5.6 752 CD2 Name lookup in nested lambda-expressions
7.5.6 754 CD2 Lambda expressions in default arguments of block-scope function declarations
7.5.6 762 CD2 Name lookup in the compound-statement of a lambda expression
7.5.6 766 CD2 Where may lambda expressions appear?
7.5.6 767 CD2 void and other unnamed lambda-parameters
7.5.6 768 CD2 Ellipsis in a lambda parameter list
7.5.6 769 CD2 Initialization of closure objects
7.5.6 782 CD2 Lambda expressions and argument-dependent lookup
7.5.6 795 NAD Dependency of lambdas on <functional>
7.5.6 796 CD2 Lifetime of a closure object with members captured by reference
7.5.6 958 NAD Lambdas and decltype
7.5.6 974 CD3 Default arguments for lambdas
7.5.6 975 CD3 Restrictions on return type deduction for lambdas
7.5.6 1034 C++11 Attributes for return statements in lambdas
7.5.6 1048 CD3 auto deduction and lambda return type deduction.
7.5.6 1062 C++11 Syntax of attribute-specifiers in lambdas
7.5.6 1607 C++14 Lambdas in template parameters
7.5.6 1664 C++14 Argument-dependent lookup of lambdas used in default arguments
7.5.6 1772 C++14 __func__ in a lambda body
7.5.6 1822 CD6 Lookup of parameter names in lambda-expressions
7.5.6 1913 CD5 decltype((x)) in lambda-expressions
7.5.6 1942 CD4 Incorrect reference to trailing-return-type
7.5.6 2097 extension Lambdas and noreturn attribute
7.5.6.1 2121 CD6 More flexible lambda syntax
7.5.6.1 2509 CD6 decl-specifier-seq in lambda-specifiers
7.5.6.2 750 CD2 Implementation constraints on reference-only closure objects
7.5.6.2 751 CD2 Deriving from closure classes
7.5.6.2 756 CD2 Dropping cv-qualification on members of closure objects
7.5.6.2 759 CD2 Destruction of closure objects
7.5.6.2 761 CD2 Inferred return type of closure object call operator
7.5.6.2 763 CD2 Is a closure object's operator() inline?
7.5.6.2 771 CD2 Move-construction of reference members of closure objects
7.5.6.2 774 CD2 Can a closure class be a POD?
7.5.6.2 779 CD2 Rvalue reference members of closure objects?
7.5.6.2 797 CD2 Converting a no-capture lambda to a function type
7.5.6.2 955 CD2 Can a closure type's operator() be virtual?
7.5.6.2 1557 CD3 Language linkage of converted lambda function pointer
7.5.6.2 1629 C++14 Can a closure class be a literal type?
7.5.6.2 1722 CD4 Should lambda to function pointer conversion function be noexcept?
7.5.6.2 1780 CD4 Explicit instantiation/specialization of generic lambda operator()
7.5.6.2 1891 CD4 Move constructor/assignment for closure class
7.5.6.2 1931 CD5 Default-constructible and copy-assignable closure types
7.5.6.2 1937 CD5 Incomplete specification of function pointer from lambda
7.5.6.2 1973 DRWP Which parameter-declaration-clause in a lambda-expression?
7.5.6.2 2542 DRWP Is a closure type a structural type?
7.5.6.2 2561 DR EWG Conversion to function pointer for lambda with explicit object parameter
7.5.6.2 2845 DRWP Make the closure type of a captureless lambda a structural type
7.5.6.2 2881 DR Type restrictions for the explicit object parameter of a lambda
7.5.6.3 753 CD2 Array names in lambda capture sets
7.5.6.3 755 CD3 Generalized lambda-captures
7.5.6.3 764 CD2 Capturing unused variables in a lambda expression
7.5.6.3 772 CD2 capture-default in lambdas in local default arguments
7.5.6.3 775 CD2 Capturing references to functions
7.5.6.3 904 CD2 Parameter packs in lambda-captures
7.5.6.3 1118 NAD Implicit lambda capture via explicit copy constructor
7.5.6.3 1249 CD6 Cv-qualification of nested lambda capture
7.5.6.3 1468 CD5 typeid, overload resolution, and implicit lambda capture
7.5.6.3 1612 C++14 Implicit lambda capture and anonymous unions
7.5.6.3 1613 C++14 Constant expressions and lambda capture
7.5.6.3 1632 CD5 Lambda capture in member initializers
7.5.6.3 1662 C++14 Capturing function parameter packs
7.5.6.3 1663 NAD Capturing an empty pack expansion
7.5.6.3 1681 C++14 init-captures and nested lambdas
7.5.6.3 1743 NAD init-captures in nested lambdas
7.5.6.3 1760 C++14 Access of member corresponding to init-capture
7.5.6.3 1927 dup Lifetime of temporaries in init-captures
7.5.6.3 2011 C++17 Unclear effect of reference capture of reference
7.5.6.3 2086 drafting Reference odr-use vs implicit capture
7.5.6.3 2095 CD4 Capturing rvalue references to functions by copy
7.5.6.3 2159 NAD Lambda capture and local thread_local variables
7.5.6.3 2162 CD3 Capturing this by reference
7.5.6.3 2211 C++17 Hiding by lambda captures and parameters
7.5.6.3 2247 C++17 Lambda capture and variable argument list
7.5.6.3 2358 CD5 Explicit capture of value
7.5.6.3 2378 C++20 Inconsistent grammar for reference init-capture of pack
7.5.6.3 2644 C++23 Incorrect comment in example
7.5.6.3 2737 review Temporary lifetime extension for reference init-captures
7.5.8.1 2560 DRWP EWG Parameter type determination in a requirement-parameter-list
7.5.8.1 2565 open EWG Invalid types in the parameter-declaration-clause of a requires-expression
7.5.8.1 2911 ready Unclear meaning of expressions "appearing within" subexpressions
7.5.8.5 2517 C++23 Useless restriction on use of parameter in constraint-expression
7.5.8.5 2739 open Nested requirement not a constant expression
7.6 1642 DRWP Missing requirements for prvalue operands
7.6.1 863 CD2 Rvalue reference cast to incomplete type
7.6.1.2 798 C++11 Overloaded subscript operator described in clause 5
7.6.1.2 1213 CD3 Array subscripting and xvalues
7.6.1.2 2571 CD6 Evaluation order for subscripting
7.6.1.3 113 CD1 Visibility of called function
7.6.1.3 118 CD1 Calls via pointers to virtual member functions
7.6.1.3 506 CD1 Conditionally-supported behavior for non-POD objects passed to ellipsis
7.6.1.3 634 CD1 Conditionally-supported behavior for non-POD objects passed to ellipsis redux
7.6.1.3 722 CD2 Can nullptr be passed to an ellipsis?
7.6.1.3 1083 C++11 Passing an object to ellipsis with non-trivial move constructor
7.6.1.3 1516 CD3 Definition of “virtual function call”
7.6.1.3 1555 NAD Language linkage and function type compatibility
7.6.1.3 1646 CD5 decltype-specifiers, abstract classes, and deduction failure
7.6.1.3 1880 CD4 When are parameter objects destroyed?
7.6.1.3 1885 CD4 Return value of a function is underspecified
7.6.1.3 2029 dup Abstract class return type in decltype operand
7.6.1.3 2176 CD4 Destroying the returned object when a destructor throws
7.6.1.3 2215 C++17 Redundant description of language linkage in function call
7.6.1.3 2241 CD5 Overload resolution is not invoked with a single function
7.6.1.3 2283 ready Missing complete type requirements
7.6.1.3 2284 open Sequencing of braced-init-list arguments
7.6.1.3 2347 C++20 Passing short scoped enumerations to ellipsis
7.6.1.3 2486 CD6 Call to noexcept function via noexcept(false) pointer/lvalue
7.6.1.3 2515 open Result of a function call
7.6.1.3 2599 C++23 What does initializing a parameter include?
7.6.1.3 2645 C++23 Unused term "default argument promotions"
7.6.1.3 2660 open Confusing term "this parameter"
7.6.1.3 2688 open Calling explicit object member functions
7.6.1.3 2715 DRWP "calling function" for parameter initialization may not exist
7.6.1.4 914 open EWG Value-initialization of array types
7.6.1.4 943 CD5 Is T() a temporary?
7.6.1.4 1300 dup T() for array types
7.6.1.4 1521 dup T{expr} with reference types
7.6.1.4 1525 NAD Array bound inference in temporary array
7.6.1.4 1893 CD5 Function-style cast with braced-init-lists and empty pack expansions
7.6.1.4 2351 CD5 void{}
7.6.1.4 2894 ready Functional casts create prvalues of reference type
7.6.1.5 52 TC1 Non-static members, member selection and access checking
7.6.1.5 421 CD1 Is rvalue.field an rvalue?
7.6.1.5 731 CD2 Omitted reference qualification of member function type
7.6.1.5 1119 C++11 Missing case in description of member access ambiguity
7.6.1.5 1585 NAD Value category of member access of rvalue reference member
7.6.1.5 2231 NAD Class member access to static data member template
7.6.1.5 2458 CD6 Value category of expressions denoting non-static member functions
7.6.1.5 2534 CD6 Value category of pseudo-destructor expression
7.6.1.5 2535 CD6 Type punning in class member access
7.6.1.5 2557 drafting Class member access referring to an unrelated class
7.6.1.5 2614 C++23 Unspecified results for class member access
7.6.1.5 2705 open Accessing ambiguous subobjects
7.6.1.5 2725 DRWP Overload resolution for non-call of class member access
7.6.1.5 2748 DRWP Accessing static data members via null pointer
7.6.1.5 2813 DRWP Class member access with prvalues
7.6.1.5 2957 open Evaluating a reference member should constitute access
7.6.1.5 2959 open Naming enumerators in class member access expressions
7.6.1.6 742 open Postfix increment/decrement with long bit-field operands
7.6.1.6 2855 DRWP Undefined behavior in postfix increment
7.6.1.7 665 CD2 Problems in the specification of dynamic_cast
7.6.1.7 1269 CD3 dynamic_cast of an xvalue operand
7.6.1.7 1965 ready Explicit casts to reference types
7.6.1.7 2365 CD5 Confusing specification for dynamic_cast
7.6.1.7 2861 DR dynamic_cast on bad pointer value
7.6.1.8 282 open Namespace for extended_type_info
7.6.1.8 492 CD1 typeid constness inconsistent with example
7.6.1.8 528 NAD Why are incomplete class types not allowed with typeid?
7.6.1.8 1416 CD3 Function cv-qualifiers and typeid
7.6.1.8 1954 DRWP typeid null dereference check in subexpressions
7.6.1.8 2512 NAD typeid and incomplete class types
7.6.1.9 53 TC1 Lvalue-to-rvalue conversion before certain static_casts
7.6.1.9 54 CD1 Static_cast from private base to derived class
7.6.1.9 128 TC1 Casting between enum types
7.6.1.9 137 TC1 static_cast of cv void*
7.6.1.9 294 NAD Can static_cast drop exception specifications?
7.6.1.9 427 CD1 static_cast ambiguity: conversion versus cast to derived
7.6.1.9 439 CD1 Guarantees on casting pointer back to cv-qualified version of original type
7.6.1.9 671 CD1 Explicit conversion from a scoped enumeration type to integral type
7.6.1.9 833 CD2 Explicit conversion of a scoped enumeration value to a floating type
7.6.1.9 1011 C++11 Standard conversions that cannot be inverted
7.6.1.9 1094 C++11 Converting floating-point values to scoped enumeration types
7.6.1.9 1320 CD3 Converting scoped enumerations to bool
7.6.1.9 1376 C++14 static_cast of temporary to rvalue reference
7.6.1.9 1412 CD3 Problems in specifying pointer conversions
7.6.1.9 1447 CD3 static_cast of bit-field lvalue to rvalue reference
7.6.1.9 1739 C++14 Conversion of floating point to enumeration
7.6.1.9 1832 CD4 Casting to incomplete enumeration
7.6.1.9 2048 open C-style casts that cast away constness vs static_cast
7.6.1.9 2224 C++17 Member subobjects and base-class casts
7.6.1.9 2243 drafting Incorrect use of implicit conversion sequence
7.6.1.9 2338 CD5 Undefined behavior converting to short enums with fixed underlying types
7.6.1.9 2500 extension noexcept(false) functions and noexcept expressions
7.6.1.9 2606 CD6 static_cast from "pointer to void" does not handle similar types
7.6.1.9 2718 DRWP Type completeness for derived-to-base conversions
7.6.1.9 2814 NAD Alignment requirement of incomplete class type
7.6.1.9 2882 DR Unclear treatment of conversion to void
7.6.1.10 195 CD1 Converting between function and object pointers
7.6.1.10 463 CD1 reinterpret_cast<T*>(0)
7.6.1.10 573 C++11 Conversions between function pointers and void*
7.6.1.10 658 CD2 Defining reinterpret_cast for pointer types
7.6.1.10 734 CD2 Are unique addresses required for namespace-scope variables?
7.6.1.10 799 CD2 Can reinterpret_cast be used to cast an operand to its own type?
7.6.1.10 800 NAD Safely-derived pointers and object pointers converted from function pointers
7.6.1.10 842 CD2 Casting to rvalue reference type
7.6.1.10 944 NAD reinterpret_cast for all types with the same size and alignment
7.6.1.10 1120 C++11 reinterpret_cast and void*
7.6.1.10 1268 CD3 reinterpret_cast of an xvalue operand
7.6.1.10 2225 NAD reinterpret_cast to same floating-point type
7.6.1.10 2342 CD5 Reference reinterpret_cast and pointer-interconvertibility
7.6.1.10 2780 DRWP reinterpret_cast to reference to function types
7.6.1.10 2939 tentatively ready Do not allow reinterpret_cast from prvalue to rvalue reference
7.6.1.11 801 CD2 Casting away constness in a cast to rvalue reference type
7.6.1.11 891 CD2 const_cast to rvalue reference from objectless rvalue
7.6.1.11 1086 C++11 const_cast to rvalue reference to function type
7.6.1.11 2879 ready Undesired outcomes with const_cast
7.6.2 342 CD3 Terminology: "indirection" versus "dereference"
7.6.2.2 203 NAD Type of address-of-member expression
7.6.2.2 232 NAD Is indirection through a null pointer undefined behavior?
7.6.2.2 324 CD1 Can "&" be applied to assignment to bit-field?
7.6.2.2 610 NAD Computing the negative of 0U
7.6.2.2 802 concepts Problems with restrictions on taking the address of a member of a concept map
7.6.2.2 983 CD2 Ambiguous pointer-to-member constant
7.6.2.2 1121 C++11 Unnecessary ambiguity error in formation of pointer to member
7.6.2.2 1230 dup Confusing description of ambiguity of destructor name
7.6.2.2 1458 CD3 Address of incomplete type vs operator&()
7.6.2.2 1800 CD4 Pointer to member of nested anonymous union
7.6.2.2 1923 NAD Lvalues of type void
7.6.2.2 1971 CD4 Unclear disambiguation of destructor and operator~
7.6.2.2 2449 extension Thunks as an implementation technique for pointers to virtual functions
7.6.2.2 2626 C++23 Rephrase ones' complement using base-2 representation
7.6.2.2 2823 DRWP Implicit undefined behavior when dereferencing pointers
7.6.2.3 1653 CD4 Removing deprecated increment of bool
7.6.2.4 2454 NAD Tail recursion and coroutine symmetric transfer
7.6.2.4 2466 CD6 co_await should be a single evaluation
7.6.2.4 2472 NAD Value categories in await-expressions
7.6.2.4 2668 DRWP co_await in a lambda-expression
7.6.2.5 803 CD2 sizeof an enumeration type with a fixed underlying type
7.6.2.5 839 dup sizeof with opaque enumerations
7.6.2.5 1122 C++11 Circular definition of std::size_t
7.6.2.5 1553 CD3 sizeof and xvalue bit-fields
7.6.2.5 1606 NAD sizeof closure class
7.6.2.5 1678 NAD Naming the type of an array of runtime bound
7.6.2.5 2609 open Padding in class types
7.6.2.5 2817 open sizeof(abstract class) is underspecified
7.6.2.6 659 CD1 Alignment of function types
7.6.2.6 930 CD2 alignof with incomplete array type
7.6.2.6 1008 NAD Querying the alignment of an object
7.6.2.6 1305 CD3 alignof applied to array of unknown size
7.6.2.7 1123 C++11 Destructors should be noexcept by default
7.6.2.7 1354 CD3 Destructor exceptions for temporaries in noexcept expressions
7.6.2.7 1465 CD4 noexcept and std::bad_array_new_length
7.6.2.7 1685 NAD Value category of noexcept expression
7.6.2.7 2722 DRWP Temporary materialization conversion for noexcept operator
7.6.2.7 2792 DRWP Clean up specification of noexcept operator
7.6.2.8 31 NAD Looking up new/delete
7.6.2.8 74 TC1 Enumeration value in direct-new-declarator
7.6.2.8 127 TC1 Ambiguity in description of matching deallocation function
7.6.2.8 130 NAD Sequence points and new-expressions
7.6.2.8 256 CD1 Overflow in size calculations
7.6.2.8 267 open Alignment requirement for new-expressions
7.6.2.8 292 CD3 Deallocation on exception in new before arguments evaluated
7.6.2.8 299 CD1 Conversion on array bound expression in new
7.6.2.8 313 dup Class with single conversion function to integral as array size in new
7.6.2.8 429 CD1 Matching deallocation function chosen based on syntax or signature?
7.6.2.8 473 NAD Block-scope declarations of allocator functions
7.6.2.8 476 CD5 Determining the buffer size for placement new
7.6.2.8 624 CD1 Overflow in calculating size of allocation
7.6.2.8 672 CD2 Sequencing of initialization in new-expressions
7.6.2.8 804 CD2 Deducing the type in new auto(x)
7.6.2.8 805 CD2 Which exception to throw for overflow in array size calculation
7.6.2.8 901 drafting Deleted operator delete
7.6.2.8 1061 C++11 Negative array bounds in a new-expression
7.6.2.8 1464 CD3 Negative array bound in a new-expression
7.6.2.8 1469 CD5 Omitted bound in array new-expression
7.6.2.8 1559 CD3 String too long in initializer list of new-expression
7.6.2.8 1566 NAD Should new std::initializer_list<T> be ill-formed?
7.6.2.8 1628 open Deallocation function templates
7.6.2.8 1748 CD4 Placement new with a null pointer
7.6.2.8 1786 C++14 Effect of merging allocations on memory leakage
7.6.2.8 1851 CD4 decltype(auto) in new-expressions
7.6.2.8 1935 CD5 Reuse of placement arguments in deallocation
7.6.2.8 1992 CD4 new (std::nothrow) int[N] can throw
7.6.2.8 2102 DRWP Constructor checking in new-expression
7.6.2.8 2112 CD5 new auto{x}
7.6.2.8 2130 CD4 Over-aligned types in new-expressions
7.6.2.8 2141 CD4 Ambiguity in new-expression with elaborated-type-specifier
7.6.2.8 2177 CD5 Placement operator delete and parameter copies
7.6.2.8 2280 C++20 Matching a usual deallocation function with placement new
7.6.2.8 2281 drafting Consistency of aligned operator delete replacement
7.6.2.8 2282 C++20 Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions
7.6.2.8 2382 CD5 Array allocation overhead for non-allocating placement new
7.6.2.8 2532 open Kind of pointer value returned by new T[0]
7.6.2.8 2566 review Matching deallocation for uncaught exception
7.6.2.8 2592 open Missing definition for placement allocation/deallocation function
7.6.2.8 2623 drafting Invoking destroying operator delete for constructor failure
7.6.2.8 2729 DRWP Meaning of new-type-id
7.6.2.8 2812 open Allocation with explicit alignment
7.6.2.8 2912 open Too-large value for size in array new
7.6.2.9 196 open Arguments to deallocation functions
7.6.2.9 265 dup Destructors, exceptions, and deallocation
7.6.2.9 288 CD1 Misuse of "static type" in describing pointers
7.6.2.9 353 CD1 Is deallocation routine called if destructor throws exception in delete?
7.6.2.9 442 CD1 Incorrect use of null pointer constant in description of delete operator
7.6.2.9 599 CD2 Deleting a null function pointer
7.6.2.9 1037 C++11 Requirements for operands of delete-expressions and deallocation functions
7.6.2.9 1259 NAD Deleting a POD via a pointer to base
7.6.2.9 1788 CD4 Sized deallocation of array of non-class type
7.6.2.9 2239 NAD Sized deallocation with a trivial destructor
7.6.2.9 2248 C++17 Problems with sized delete
7.6.2.9 2474 CD6 Cv-qualification and deletion
7.6.2.9 2624 C++23 Array delete expression with no array cookie
7.6.2.9 2728 DR Evaluation of conversions in a delete-expression
7.6.2.9 2758 DRWP What is "access and ambiguity control"?
7.6.2.9 2805 open Underspecified selection of deallocation function
7.6.2.9 2880 accepted Accessibility check for destructor of incomplete class type
7.6.2.9 2889 open Requiring an accessible destructor for destroying operator delete
7.6.2.9 2925 NAD Deleting a pointer to an incomplete enumeration type
7.6.3 242 CD4 Interpretation of old-style casts
7.6.3 520 CD1 Old-style casts between incomplete class types
7.6.3 909 NAD Old-style casts with conversion functions
7.6.3 2828 DRWP Ambiguous interpretation of C-style cast
7.6.3 2878 open EWG C-style casts to reference types
7.6.4 497 CD1 Missing required initialization in example
7.6.4 1091 C++11 Inconsistent use of the term “object expression”
7.6.4 1124 NAD Error in description of value category of pointer-to-member expression
7.6.4 1340 CD3 Complete type in member pointer expressions
7.6.4 2593 review Insufficient base class restriction for pointer-to-member expression
7.6.5 614 CD1 Results of integer / and %
7.6.5 1450 CD3 INT_MIN % -1
7.6.6 55 NAD Adding/subtracting pointer and enumeration value
7.6.6 179 TC1 Function pointers and subtraction
7.6.6 567 NAD Can size_t and ptrdiff_t be larger than long?
7.6.6 1314 NAD Pointer arithmetic within standard-layout objects
7.6.6 1504 CD3 Pointer arithmetic after derived-base conversion
7.6.6 1865 CD4 Pointer arithmetic and multi-level qualification conversions
7.6.6 2013 drafting Pointer subtraction in large array
7.6.6 2182 drafting Pointer arithmetic in array-like containers
7.6.6 2419 C++20 Loss of generality treating pointers to objects as one-element arrays
7.6.6 2548 NAD EWG Array prvalues and additive operators
7.6.6 2853 DRWP Pointer arithmetic with pointer to hypothetical element
7.6.7 854 CD2 Left shift and unsigned extended types
7.6.7 1457 CD3 Undefined behavior in left-shift
7.6.7 1857 CD5 Additional questions about bits
7.6.7 2087 NAD Left shift of negative value by zero bits
7.6.7 2724 DRWP Clarify rounding for arithmetic right shift
7.6.9 583 CD3 Relational pointer comparisons against the null pointer constant
7.6.9 622 NAD Relational comparisons of arbitrary pointers
7.6.9 661 CD1 Semantics of arithmetic comparisons
7.6.9 963 CD2 Comparing nullptr with 0
7.6.9 1512 CD3 Pointer comparison vs qualification conversions
7.6.9 1596 CD4 Non-array objects as array[1]
7.6.9 2526 C++23 Relational comparison of void* pointers
7.6.9 2696 dup SG22 Relational comparisons of pointers to void
7.6.9 2749 DRWP SG22 Treatment of "pointer to void" for relational comparisons
7.6.9 2796 DRWP Function pointer conversions for relational operators
7.6.10 73 TC1 Pointer equality
7.6.10 1400 NAD Function pointer equality
7.6.10 1598 C++14 Criterion for equality of pointers to members
7.6.10 1652 CD4 Object addresses in constexpr expressions
7.6.10 1858 CD4 Comparing pointers to union members
7.6.10 2302 NAD Address comparison between different member subobjects
7.6.10 2786 open Comparing pointers to complete objects
7.6.16 446 CD1 Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary?
7.6.16 587 CD2 Lvalue operands of a conditional expression differing only in cv-qualification
7.6.16 1550 CD3 Parenthesized throw-expression operand of conditional-expression
7.6.16 1560 CD3 Gratuitous lvalue-to-rvalue conversion in conditional-expression with throw-expression operand
7.6.16 1805 CD4 Conversions of array operands in conditional-expressions
7.6.16 1843 CD4 Bit-field in conditional operator with throw operand
7.6.16 1895 CD4 Deleted conversions in conditional operator operands
7.6.16 1932 CD4 Bit-field results of conditional operators
7.6.16 2023 drafting Composite reference result type of conditional operator
7.6.16 2226 CD5 Xvalues vs lvalues in conditional expressions
7.6.16 2316 drafting Simplifying class conversions in conditional expressions
7.6.16 2321 CD5 Conditional operator and cv-qualified class prvalues
7.6.16 2865 DR Regression on result of conditional operator
7.6.16 2906 ready Lvalue-to-rvalue conversion of class types for conditional operator
7.6.18 2699 DRWP Inconsistency of throw-expression specification
7.6.18 2711 DRWP Source for copy-initializing the exception object
7.6.18 2944 tentatively ready Unsequenced throw-expressions
7.6.19 556 CD2 Conflicting requirements for acceptable aliasing
7.6.19 855 CD2 Incorrect comments in braced-init-list assignment example
7.6.19 1527 CD3 Assignment from braced-init-list
7.6.19 1538 CD3 C-style cast in braced-init-list assignment
7.6.19 1542 drafting Compound assignment of braced-init-list
7.6.19 2286 NAD Assignment evaluation order
7.6.19 2399 CD5 Unclear referent of “expression” in assignment-expression
7.6.19 2427 C++20 Deprecation of volatile operands and unevaluated contexts
7.6.19 2654 C++23 EWG Un-deprecation of compound volatile assignments
7.6.19 2768 DRWP Assignment to enumeration variable with a braced-init-list
7.6.20 188 TC1 Comma operator and rvalue conversion
7.6.20 1925 CD4 Bit-field prvalues
7.7 94 TC1 Inconsistencies in the descriptions of constant expressions
7.7 97 NAD Use of bool constants in integral constant expressions
7.7 236 NAD Explicit temporaries and integral constant expressions
7.7 339 CD1 Overload resolution in operand of sizeof in constant expression
7.7 366 CD1 String literal allowed in integral constant expression?
7.7 367 CD1 throw operator allowed in constant expression?
7.7 457 CD1 Wording nit on use of const variables in constant expressions
7.7 487 NAD Operator overloading in constant expressions
7.7 530 CD1 Nontype template arguments in constant expressions
7.7 652 CD2 Compile-time evaluation of floating-point expressions
7.7 684 CD1 Constant expressions involving the address of an automatic variable
7.7 715 CD2 Class member access constant expressions
7.7 721 CD2 Where must a variable be initialized to be used in a constant expression?
7.7 806 CD2 Enumeration types in integral constant expressions
7.7 807 NAD typeid expressions in constant expressions
7.7 1010 CD2 Address of object with dynamic storage duration in constant expression
7.7 1060 C++11 Scoped enumerators in integral constant expressions
7.7 1098 C++11 Pointer conversions in constant expressions
7.7 1099 C++11 Infinite recursion in constexpr functions
7.7 1100 C++11 constexpr conversion functions and non-type template arguments
7.7 1125 C++11 Unclear definition of “potential constant expression”
7.7 1126 C++11 constexpr functions in const initializers
7.7 1127 C++11 Overload resolution in constexpr functions
7.7 1188 C++11 Type punning in constant expressions
7.7 1193 C++11 Use of address-constant pointers in constant expressions
7.7 1197 C++11 Constexpr arrays
7.7 1255 drafting Definition problems with constexpr functions
7.7 1256 open Unevaluated operands are not necessarily constant expressions
7.7 1264 CD3 Use of this in constexpr constructor
7.7 1293 CD3 String literals in constant expressions
7.7 1311 CD3 Volatile lvalues in constant expressions
7.7 1312 CD3 Simulated reinterpret_cast in constant expressions
7.7 1313 CD3 Undefined pointer arithmetic in constant expressions
7.7 1364 CD3 constexpr function parameters
7.7 1365 CD3 Calling undefined constexpr functions
7.7 1367 CD3 Use of this in a constant expression
7.7 1384 NAD reinterpret_cast in constant expressions
7.7 1407 NAD Integral to bool conversion in converted constant expressions
7.7 1452 NAD Value-initialized objects may be constants
7.7 1454 CD3 Passing constants through constexpr functions via references
7.7 1455 CD3 Lvalue converted constant expressions
7.7 1456 CD3 Address constant expression designating the one-past-the-end address
7.7 1480 CD3 Constant initialization via non-constant temporary
7.7 1535 CD3 typeid in core constant expressions
7.7 1537 CD3 Optional compile-time evaluation of constant expressions
7.7 1540 NAD Use of address constants in constant expressions
7.7 1626 dup constexpr member functions in brace-or-equal-initializers
7.7 1683 CD4 Incorrect example after constexpr changes
7.7 1694 CD4 Restriction on reference to temporary as a constant expression
7.7 1757 CD4 Const integral subobjects
7.7 1826 NAD const floating-point in constant expressions
7.7 1921 NAD constexpr constructors and point of initialization of const variables
7.7 1952 CD4 Constant expressions and library undefined behavior
7.7 1968 NAD Address of typeid in constant expressions
7.7 2004 CD4 Unions with mutable members in constant expressions
7.7 2005 NAD Incorrect constexpr reference initialization requirements
7.7 2022 CD4 Copy elision in constant expressions
7.7 2126 C++20 Lifetime-extended temporaries in constant expressions
7.7 2129 CD4 Non-object prvalues and constant expressions
7.7 2166 drafting Unclear meaning of “undefined constexpr function”
7.7 2167 CD4 Non-member references with lifetimes within the current evaluation
7.7 2186 C++20 Unclear point that “preceding initialization” must precede
7.7 2192 open Constant expressions and order-of-eval undefined behavior
7.7 2278 CD5 Copy elision in constant expressions reconsidered
7.7 2301 open Value-initialization and constexpr constructor evaluation
7.7 2364 NAD Constant expressions, aggregate initialization, and modifications
7.7 2368 CD5 Differences in relational and three-way constant comparisons
7.7 2392 C++23 new-expression size check and constant evaluation
7.7 2400 CD5 Constexpr virtual functions and temporary objects
7.7 2418 CD5 Missing cases in definition of “usable in constant expressions”
7.7 2439 C++20 Undefined term in definition of “usable in constant expressions”
7.7 2440 C++23 Allocation in core constant expressions
7.7 2456 open Viable user-defined conversions in converted constant expressions
7.7 2490 CD6 Restrictions on destruction in constant expressions
7.7 2523 C++23 Undefined behavior via omitted destructor call in constant expressions
7.7 2529 C++23 Constant destruction of constexpr references
7.7 2536 open EWG Partially initialized variables during constant initialization
7.7 2545 open Transparently replacing objects in constant expressions
7.7 2552 DRWP Constant evaluation of non-defining variable declarations
7.7 2558 C++23 (EWG) Uninitialized subobjects as a result of an immediate invocation
7.7 2559 open Defaulted consteval functions
7.7 2631 C++23 EWG Immediate function evaluations in default arguments
7.7 2633 open typeid of constexpr-unknown dynamic type
7.7 2647 C++23 Fix for "needed for constant evaluation"
7.7 2656 drafting Converting consteval lambda to function pointer in non-immediate context
7.7 2658 C++23 Trivial copying of unions in core constant expressions
7.7 2702 open Constant destruction of reference members
7.7 2710 DRWP Loops in constant expressions
7.7 2734 open Immediate forward-declared function templates
7.7 2740 open Too many objects have constexpr-unknown type
7.7 2750 DRWP construct_at without constructor call
7.7 2755 DRWP Incorrect wording applied by P2738R1
7.7 2760 DRWP Defaulted constructor that is an immediate function
7.7 2763 DRWP Ignorability of [[noreturn]] during constant evaluation
7.7 2778 review Trivial destructor does not imply constant destruction
7.7 2798 DRWP Manifestly constant evaluation of the static_assert message
7.7 2800 review Instantiating constexpr variables for potential constant evaluation
7.7 2819 accepted EWG Cast from null pointer value in a constant expression
7.7 2851 DRWP Allow floating-point conversions in converted constant expressions
7.7 2907 ready Constant lvalue-to-rvalue conversion on uninitialized std::nullptr_t
7.7 2909 ready Subtle difference between constant-initialized and constexpr
7.7 2922 ready constexpr placement-new is too permissive
8 2349 NAD Class/enumeration names vs conditions
8 2616 C++23 Imprecise restrictions on break and continue
8.3 1054 C++11 Lvalue-to-rvalue conversions in expression statements
8.5 227 TC1 How many scopes in an if statement?
8.5 948 C++11 constexpr in conditions
8.5 1732 C++14 Defining types in conditions and range-based for statements
8.5 2344 NAD Redeclaration of names in init-statements
8.5.2 631 CD3 Jumping into a “then” clause
8.5.2 2274 NAD Generic lambda capture vs constexpr if
8.5.2 2320 extension constexpr if and boolean conversions
8.5.2 2345 CD5 Jumping across initializers in init-statements and conditions
8.5.2 2348 NAD Non-templated constexpr if
8.5.3 1767 C++14 Scoped enumeration in a switch statement
8.5.3 2629 C++23 Variables of floating-point type as switch conditions
8.6 1204 C++11 Specifiers in a for-range-declaration
8.6.5 864 C++11 braced-init-list in the range-based for statement
8.6.5 866 concepts Concept maps and the range-based for
8.6.5 1274 CD4 Common nonterminal for expression and braced-init-list
8.6.5 1442 CD3 Argument-dependent lookup in the range-based for
8.6.5 1445 dup Argument-dependent lookup of begin and end
8.6.5 1498 dup Lifetime of temporaries in range-based for
8.6.5 1523 CD5 Point of declaration in range-based for
8.6.5 1679 NAD Range-based for and array of runtime bound
8.6.5 1680 drafting Including <initializer_list> for range-based for
8.6.5 2220 C++17 Hiding index variable in range-based for
8.6.5 2825 DRWP EWG Range-based for statement using a braced-init-list
8.7 276 CD1 Order of destruction of parameters and temporaries
8.7 378 CD1 Wording that says temporaries are declared
8.7 2115 drafting Order of implicit destruction vs release of automatic storage
8.7.4 1541 CD3 cv void return types
8.7.4 2017 CD4 Flowing off end is not equivalent to no-expression return
8.7.4 2495 open Glvalue result of a function call
8.7.4 2791 DRWP Unclear phrasing about "returning to the caller"
8.7.5 2452 CD6 Flowing off the end of a coroutine
8.7.5 2556 DRWP Unusable promise::return_void
8.8 467 NAD Jump past initialization of local static variable
8.8 723 concepts Archetypes in skipped declarations
8.8 1784 C++17 Concurrent execution during static local initialization
8.8 2123 open Omitted constant initialization of local static variables
8.8 2429 C++20 Initialization of thread_local variables referenced by lambdas
8.8 2751 NAD EWG Order of destruction for parameters for operator functions
8.9 1223 drafting Syntactic disambiguation and trailing-return-types
8.9 1616 CD6 Disambiguation parsing and template parameters
9.1 157 open Omitted typedef declarator
9.1 435 NAD Change "declararation or definition" to "declaration"
9.1 569 CD2 Spurious semicolons at namespace scope should be allowed
9.1 1018 C++11 Ambiguity between simple-declaration and attribute-declaration
9.1 1042 C++11 Attributes in alias-declarations
9.1 1325 NAD Omitted declarator in friend declarations
9.1 1830 CD4 Repeated specifiers
9.1 1990 CD4 Ambiguity due to optional decl-specifier-seq
9.1 2288 NAD Contradictory optionality in simple-declaration
9.1 2341 CD5 Structured bindings with static storage duration
9.1 2635 C++23 Constrained structured bindings
9.2 808 CD2 Non-type decl-specifiers versus max-munch
9.2 1128 C++11 attribute-specifiers in decl-specifier-seqs
9.2.2 69 TC1 Storage class specifiers on template declarations
9.2.2 154 NAD Anonymous unions in unnamed namespaces
9.2.2 498 open Storage class specifiers in definitions of class members
9.2.2 717 CD2 Unintentional restrictions on the use of thread_local
9.2.2 809 CD2 Deprecation of the register keyword
9.2.2 810 CD2 Block-scope thread_local variables should be implicitly static
9.2.2 940 CD2 Global anonymous unions
9.2.2 1544 CD3 Linkage of member of unnamed namespace
9.2.2 1648 C++14 thread_local vs block extern declarations
9.2.2 1793 CD4 thread_local in explicit specializations
9.2.2 1799 CD4 mutable and non-explicit const qualification
9.2.2 1930 CD4 init-declarator-list vs member-declarator-list
9.2.2 2050 NAD Consolidate specification of linkage
9.2.2 2232 open thread_local anonymous unions
9.2.3 281 CD1 inline specifier in friend declarations
9.2.3 317 CD1 Can a function be declared inline after it has been called?
9.2.3 376 NAD Class "definition" versus class "declaration"
9.2.3 396 CD1 Misleading note regarding use of auto for disambiguation
9.2.3 397 CD1 Same address for string literals from default arguments in inline functions?
9.2.3 412 NAD Can a replacement allocation function be inline?
9.2.3 477 CD1 Can virtual appear in a friend declaration?
9.2.3 765 CD2 Local types in inline functions with external linkage
9.2.3 1823 CD4 String literal uniqueness in inline functions
9.2.4 56 TC1 Redeclaring typedefs within classes
9.2.4 407 C++11 Named class with associated typedef: two names or one?
9.2.4 422 NAD Is a typedef redeclaration allowed with a template type that might be the same?
9.2.4 424 CD1 Wording problem with issue 56 resolution on redeclaring typedefs in class scope
9.2.4 576 CD2 Typedefs in function definitions
9.2.4 1247 CD4 Restriction on alias name appearing in type-id
9.2.4 1437 CD3 alignas in alias-declaration
9.2.4 1820 CD6 Qualified typedef names
9.2.4 1894 CD6 typedef-names and using-declarations
9.2.4 1964 NAD opaque-enum-declaration in alias-declaration?
9.2.4 2071 CD4 typedef with no declarator
9.2.4 2199 CD6 Typedefs and tags
9.2.4 2212 CD5 Typedef changing linkage after use
9.2.6 647 CD1 Non-constexpr instances of constexpr constructor templates
9.2.6 648 CD1 Constant expressions in constexpr initializers
9.2.6 699 CD2 Must constexpr member functions be defined in the class member-specification?
9.2.6 700 C++11 Constexpr member functions of class templates
9.2.6 837 C++11 Constexpr functions and return braced-init-list
9.2.6 860 C++11 Explicit qualification of constexpr member functions
9.2.6 892 C++11 Missing requirements for constexpr constructors
9.2.6 898 C++11 Declarations in constexpr functions
9.2.6 991 CD2 Reference parameters of constexpr functions and constructors
9.2.6 1129 C++11 Default nothrow for constexpr functions
9.2.6 1186 C++11 Non-dependent constexpr violations in function templates
9.2.6 1194 C++11 Constexpr references
9.2.6 1195 C++11 References to non-literal types in constexpr functions
9.2.6 1199 C++11 Deleted constexpr functions
9.2.6 1225 C++11 constexpr constructors and virtual bases
9.2.6 1316 NAD constexpr function requirements and class scope
9.2.6 1358 CD3 Unintentionally ill-formed constexpr function template instances
9.2.6 1359 CD3 constexpr union constructors
9.2.6 1366 CD3 Deleted constexpr constructors and virtual base classes
9.2.6 1369 CD3 Function invocation substitution of this
9.2.6 1587 C++14 constexpr initialization and nested anonymous unions
9.2.6 1595 C++14 Constructors “involved in” subobject initialization
9.2.6 1597 CD3 Misleading constexpr example
9.2.6 1637 NAD Recursion in constexpr template default constructor
9.2.6 1684 C++14 Static constexpr member functions for non-literal classes
9.2.6 1688 NAD Volatile constexpr variables
9.2.6 1712 CD4 constexpr variable template declarations
9.2.6 1745 NAD thread_local constexpr variable
9.2.6 1872 CD4 Instantiations of constexpr templates that cannot appear in constant expressions
9.2.6 1911 CD4 constexpr constructor with non-literal base class
9.2.6 2117 drafting Explicit specializations and constexpr function templates
9.2.6 2163 CD4 Labels in constexpr functions
9.2.6 2217 NAD constexpr constructors for non-literal types
9.2.6 2268 C++17 Unions with mutable members in constant expressions revisited
9.2.6 2299 CD5 constexpr vararg functions
9.2.6 2309 CD5 Restrictions on nested statements within constexpr functions
9.2.6 2410 C++23 Implicit calls of immediate functions
9.2.6 2424 C++20 constexpr initialization requirements for variant members
9.2.6 2531 DRWP Static data members redeclared as constexpr
9.2.6 2602 C++23 consteval defaulted functions
9.2.7 2543 C++23 (EWG) constinit and optimized dynamic initialization
9.2.8 2441 C++20 Inline function parameters
9.2.9 539 CD3 Constraints on type-specifier-seq
9.2.9.2 76 TC1 Are const volatile variables considered "constant expressions"?
9.2.9.2 609 CD4 What is a “top-level” cv-qualifier?
9.2.9.2 811 CD2 Unclear implications of const-qualification
9.2.9.2 2195 open Unsolicited reading of trailing volatile members
9.2.9.3 283 CD1 Template type-parameters are not syntactically type-names
9.2.9.3 516 CD1 Use of signed in bit-field declarations
9.2.9.3 643 NAD Use of decltype in a class member-specification
9.2.9.3 651 CD1 Problems in decltype specification and examples
9.2.9.3 669 NAD Confusing specification of the meaning of decltype
9.2.9.3 950 CD2 Use of decltype as a class-name
9.2.9.3 988 CD2 Reference-to-reference collapsing with decltype
9.2.9.3 1075 C++11 Grammar does not allow template alias in type-name
9.2.9.3 1130 C++11 Function parameter type adjustments and decltype
9.2.9.3 1212 C++11 Non-function-call xvalues and decltype
9.2.9.3 1600 CD4 Erroneous reference initialization in example
9.2.9.3 1852 CD4 Wording issues regarding decltype(auto)
9.2.9.3 2332 CD5 template-name as simple-type-name vs injected-class-name
9.2.9.5 68 TC1 Grammar does not allow "friend class A<int>;"
9.2.9.5 144 open Position of friend specifier
9.2.9.5 962 CD2 Attributes appertaining to class and enum types
9.2.9.5 1131 C++11 Template aliases in elaborated-type-specifiers
9.2.9.5 1707 C++14 template in elaborated-type-specifier without nested-name-specifier
9.2.9.5 2157 CD4 Further disambiguation of enumeration elaborated-type-specifier
9.2.9.5 2213 CD6 Forward declaration of partial specializations
9.2.9.5 2634 DRWP Avoid circularity in specification of scope for friend class declarations
9.2.9.5 2874 DR Qualified declarations of partial specializations
9.2.9.5 2884 dup Qualified declarations of partial specializations
9.2.9.7 625 CD2 Use of auto as a template-argument
9.2.9.7 629 CD1 auto parsing ambiguity
9.2.9.7 706 NAD Use of auto with rvalue references
9.2.9.7 711 CD2 auto with braced-init-list
9.2.9.7 746 CD2 Use of auto in new-expressions
9.2.9.7 984 CD2 “Deduced type” is unclear in auto type deduction
9.2.9.7 1265 CD3 Mixed use of the auto specifier
9.2.9.7 1346 CD3 expression-list initializers and the auto specifier
9.2.9.7 1347 CD3 Consistency of auto in multiple-declarator declarations
9.2.9.7 1348 drafting Use of auto in a trailing-return-type
9.2.9.7 1564 NAD Template argument deduction from an initializer list
9.2.9.7 1588 CD3 Deducing cv-qualified auto
9.2.9.7 1670 drafting auto as conversion-type-id
9.2.9.7 1674 C++14 Return type deduction for address of function
9.2.9.7 1725 NAD Trailing return type with nested function declarator
9.2.9.7 1868 drafting Meaning of “placeholder type”
9.2.9.7 1877 CD4 Return type deduction from return with no operand
9.2.9.7 1878 CD4 operator auto template
9.2.9.7 1892 CD4 Use of auto in function type
9.2.9.7 1957 NAD decltype(auto) with direct-list-initialization
9.2.9.7 1958 CD4 decltype(auto) with parenthesized initializer
9.2.9.7 2044 CD4 decltype(auto) and void
9.2.9.7 2053 C++20 auto in non-generic lambdas
9.2.9.7 2059 CD5 Linkage and deduced return types
9.2.9.7 2060 NAD Deduced return type for explicit specialization
9.2.9.7 2081 CD5 Deduced return type in redeclaration or specialization of function template
9.2.9.7 2389 CD6 Agreement of deduced and explicitly-specified variable types
9.2.9.7 2412 review SFINAE vs undeduced placeholder type
9.2.9.7 2447 C++20 Unintended description of abbreviated function templates
9.2.9.7.1 2453 NAD Deduced return types and coroutine lambdas
9.2.9.7.1 2476 DRWP placeholder-type-specifiers and function declarators
9.2.9.7.1 2493 dup auto as a conversion-type-id
9.3 736 NAD Is the & ref-qualifier needed?
9.3 770 CD2 Ambiguity in late-specified return type
9.3 979 CD2 Position of attribute-specifier in declarator syntax
9.3 1243 C++11 Misleading footnote regarding multiple-declarator declarations
9.3 1297 CD3 Misplaced function attribute-specifier
9.3 1342 CD6 Order of initialization with multiple declarators
9.3 1382 CD3 Dead code for constructor names
9.3 1528 CD3 Repeated cv-qualifiers in declarators
9.3 2036 NAD Refactoring parameters-and-qualifiers
9.3 2040 CD4 trailing-return-type no longer ambiguous
9.3.1 2831 DRWP Non-templated function definitions and requires-clauses
9.3.2 686 CD1 Type declarations/definitions in type-specifier-seqs and type-ids
9.3.2 1234 C++11 abstract-declarator does not permit ... after ptr-operator
9.3.2 1240 C++11 constexpr defaulted constructors
9.3.2 1488 drafting abstract-pack-declarators in type-ids
9.3.3 160 CD1 Missing std:: qualification
9.3.3 333 NAD Ambiguous use of "declaration" in disambiguation section
9.3.3 340 NAD Unclear wording in disambiguation section
9.3.3 1867 NAD Function/expression ambiguity with qualified parameter name
9.3.3 1970 NAD Ambiguity resolution for (T())*x
9.3.3 2175 CD4 Ambiguity with attribute in conversion operator declaration
9.3.3 2228 open EWG Ambiguity resolution for cast to function type
9.3.3 2259 C++17 Unclear context describing ambiguity
9.3.3 2620 C++23 Nonsensical disambiguation rule
9.3.4 40 TC1 Syntax of declarator-id
9.3.4 159 TC1 Namespace qualification in declarators
9.3.4 374 CD2 Can explicit specialization outside namespace use qualified name?
9.3.4 482 CD3 Qualified declarators in redeclarations
9.3.4 548 dup qualified-ids in declarations
9.3.4 920 CD2 Interaction of inline namespaces and using-declarations
9.3.4 1435 CD3 template-id as the declarator for a class template constructor
9.3.4 1900 CD6 Do friend declarations count as “previous declarations”?
9.3.4 2113 CD4 Incompete specification of types for declarators
9.3.4.1 2671 open friend named by a template-id
9.3.4.3 453 DRWP References may only bind to “valid” objects
9.3.4.3 504 NAD Should use of a variable in its own initializer require a diagnostic?
9.3.4.3 1510 CD3 cv-qualified references via decltype
9.3.4.3 2550 DRWP Type "reference to cv void" outside of a declarator
9.3.4.5 112 CD1 Array types and cv-qualifiers
9.3.4.5 478 NAD May a function parameter be an array of an abstract class type?
9.3.4.5 701 CD2 When is the array-to-pointer conversion applied?
9.3.4.5 1222 NAD Unnecessary restriction on auto array types
9.3.4.5 1640 CD5 Array of abstract instance of class template
9.3.4.5 1761 NAD Runtime check on size of automatic array
9.3.4.5 1768 NAD Zero-element array of runtime bound
9.3.4.5 2099 CD4 Inferring the bound of an array static data member
9.3.4.5 2397 CD6 auto specifier for pointers and references to arrays
9.3.4.6 18 NAD f(TYPE) where TYPE is void should be allowed
9.3.4.6 135 TC1 Class type in in-class member function definitions
9.3.4.6 140 CD1 Agreement of parameter declarations
9.3.4.6 262 CD1 Default arguments and ellipsis
9.3.4.6 295 CD1 cv-qualifiers on function types
9.3.4.6 332 CD3 cv-qualified void parameter types
9.3.4.6 393 CD4 Pointer to array of unknown bound in template argument list in parameter
9.3.4.6 547 C++11 Partial specialization on member function types
9.3.4.6 550 dup Pointer to array of unknown bound in parameter declarations
9.3.4.6 577 CD3 void in an empty parameter list
9.3.4.6 681 CD1 Restrictions on declarators with late-specified return types
9.3.4.6 713 CD2 Unclear note about cv-qualified function types
9.3.4.6 725 concepts When should the requirement for std::Returnable<T>, etc., apply?
9.3.4.6 818 CD2 Function parameter packs in non-final positions
9.3.4.6 956 CD2 Function prototype scope with late-specified return types
9.3.4.6 994 C++11 braced-init-list as a default argument
9.3.4.6 998 dup Function parameter transformations and template functions
9.3.4.6 1001 review Parameter type adjustment in dependent parameter types
9.3.4.6 1069 C++11 Incorrect function type with trailing-return-type
9.3.4.6 1183 C++11 Expansion of parameter packs in declarators
9.3.4.6 1380 CD3 Type definitions in template-parameter parameter-declarations
9.3.4.6 1389 NAD Recursive reference in trailing-return-type
9.3.4.6 1394 CD3 Incomplete types as parameters of deleted functions
9.3.4.6 1417 C++14 Pointers/references to functions with cv-qualifiers or ref-qualifier
9.3.4.6 1668 drafting Parameter type determination still not clear enough
9.3.4.6 1790 open EWG Ellipsis following function parameter pack
9.3.4.6 1824 CD4 Completeness of return type vs point of instantiation
9.3.4.6 2537 drafting Overbroad grammar for parameter-declaration
9.3.4.6 2553 review Restrictions on explicit object member functions
9.3.4.6 2653 C++23 EWG Can an explicit object parameter have a default argument?
9.3.4.6 2802 open Constrained auto and redeclaration with non-abbreviated syntax
9.3.4.6 2846 DRWP Out-of-class definitions of explicit object member functions
9.3.4.6 2915 ready Explicit object parameters of type void
9.3.4.6 2942 open Packs in a function's parameter-type-list
9.3.4.7 1 TC1 What if two using-declarations refer to the same function but the declarations introduce different default-arguments?
9.3.4.7 15 dup Default arguments for parameters of function templates
9.3.4.7 65 TC1 Typo in default argument example
9.3.4.7 66 NAD Visibility of default args vs overloads added after using-declaration
9.3.4.7 136 CD1 Default arguments and friend declarations
9.3.4.7 217 TC1 Default arguments for non-template member functions of class templates
9.3.4.7 325 drafting When are default arguments parsed?
9.3.4.7 361 open Forward reference to default argument
9.3.4.7 777 CD2 Default arguments and parameter packs
9.3.4.7 1226 CD3 Converting a braced-init-list default argument
9.3.4.7 1443 NAD Default arguments and non-static data members
9.3.4.7 1580 drafting Default arguments in explicit instantiations
9.3.4.7 1609 open Default arguments and function parameter packs
9.3.4.7 1716 C++14 When are default arguments evaluated?
9.3.4.7 1814 CD4 Default arguments in lambda-expressions
9.3.4.7 2082 CD4 Referring to parameters in unevaluated operands of default arguments
9.3.4.7 2233 CD5 Function parameter packs following default arguments
9.3.4.7 2346 CD5 Local variables in default arguments
9.3.4.7 2683 DRWP Default arguments for member functions of templated nested classes
9.3.4.7 2701 open Default arguments in multiple scopes / inheritance of array bounds in the same scope
9.4 5 CD1 CV-qualifiers and type conversions
9.4 35 TC1 Definition of default-initialization
9.4 78 CD1 Section 8.5 paragraph 9 should state it only applies to non-static objects
9.4 151 TC1 Terminology of zero-initialization
9.4 155 dup Brace initializer for scalar
9.4 177 CD1 Lvalues vs rvalues in copy-initialization
9.4 178 TC1 More on value-initialization
9.4 253 C++17 Why must empty or fully-initialized const objects be initialized?
9.4 277 CD1 Zero-initialization of pointers
9.4 302 CD1 Value-initialization and generation of default constructor
9.4 304 TC1 Value-initialization of a reference
9.4 508 C++11 Non-constructed value-initialized objects
9.4 509 CD1 Dead code in the specification of default initialization
9.4 543 CD1 Value initialization and default constructors
9.4 611 CD2 Zero-initializing references
9.4 615 C++11 Incorrect description of variables that can be initialized
9.4 670 CD4 Copy initialization via derived-to-base conversion in the second step
9.4 694 C++11 WG14 Zero- and value-initialization of union objects
9.4 869 CD2 Uninitialized thread_local objects
9.4 1093 CD3 Value-initializing non-objects
9.4 1214 C++11 Kinds of initializers
9.4 1301 CD3 Value initialization of union
9.4 1324 CD3 Value initialization and defaulted constructors
9.4 1339 NAD Parenthesized braced-init-list and arrays
9.4 1368 CD3 Value initialization and defaulted constructors (part 2)
9.4 1434 NAD Parenthesized braced-init-list
9.4 1502 CD3 Value initialization of unions with member initializers
9.4 1507 CD3 Value initialization with trivial inaccessible default constructor
9.4 1578 NAD Value-initialization of aggregates
9.4 1630 CD4 Multiple default constructor templates
9.4 1633 CD4 Copy-initialization in member initialization
9.4 1782 CD4 Form of initialization for nullptr_t to bool conversion
9.4 2196 C++17 Zero-initialization with virtual base classes
9.4 2327 drafting Copy elision for direct-initialization with a conversion function
9.4.1 2612 C++23 Incorrect comment in example
9.4.1 2708 DRWP Parenthesized initialization of arrays
9.4.1 2709 NAD EWG Parenthesized initialization of reference-to-aggregate
9.4.1 2820 DRWP Value-initialization and default constructors
9.4.1 2824 DRWP Copy-initialization of arrays
9.4.1 2859 DR Value-initialization with multiple default constructors
9.4.1 2895 DR Initialization should ignore the destination type's cv-qualification
9.4.2 163 TC1 Description of subaggregate initializer
9.4.2 430 CD1 Ordering of expression evaluation in initializer list
9.4.2 491 CD1 Initializers for empty-class aggregrate members
9.4.2 632 CD1 Brace-enclosed initializer for scalar member of aggregate
9.4.2 886 CD2 Member initializers and aggregates
9.4.2 938 C++11 Initializer lists and array new
9.4.2 1030 C++11 Evaluation order in initializer-lists used in aggregate initialization
9.4.2 1070 C++11 Missing initializer clauses in aggregate initialization
9.4.2 1097 NAD Aggregate initialization of function parameters
9.4.2 1497 NAD Aggregate initialization with parenthesized string literal
9.4.2 1561 CD4 Aggregates with empty base classes
9.4.2 1622 C++17 Empty aggregate initializer for union
9.4.2 1815 CD4 Lifetime extension in aggregate initialization
9.4.2 1985 NAD Unknown bound array member with brace-or-equal-initializer
9.4.2 2116 C++17 Direct or copy initialization for omitted aggregate initializers
9.4.2 2128 drafting Imprecise rule for reference member initializer
9.4.2 2149 DRWP Brace elision and array length deduction
9.4.2 2269 dup Additional recursive references in aggregate DMIs
9.4.2 2272 C++17 Implicit initialization of aggregate members of reference type
9.4.2 2295 CD5 Aggregates with deleted defaulted constructors
9.4.2 2359 CD5 Unintended copy initialization with designated initializers
9.4.2 2408 NAD Temporaries and previously-initialized elements in aggregate initialization
9.4.2 2610 C++23 Indirect private base classes in aggregates
9.4.2 2619 C++23 Kind of initialization for a designated-initializer-list
9.4.3 737 CD2 Uninitialized trailing characters in string initialization
9.4.3 936 CD2 Array initialization with new string literals
9.4.3 1304 drafting Omitted array bound with string initialization
9.4.4 233 DR References vs pointers in UDC overload resolution
9.4.4 291 CD1 Overload resolution needed when binding reference to class rvalue
9.4.4 391 CD1 Require direct binding of short-lived references to rvalues
9.4.4 434 NAD Unclear suppression of standard conversions while binding reference to lvalue
9.4.4 450 CD1 Binding a reference to const to a cv-qualified array rvalue
9.4.4 589 CD2 Direct binding of class and array rvalues in reference initialization
9.4.4 656 CD2 Direct binding to the result of a conversion operator
9.4.4 664 CD2 Direct binding of references to non-class rvalue references
9.4.4 896 CD2 Rvalue references and rvalue-reference conversion functions
9.4.4 1058 NAD Reference binding of incompatible array types
9.4.4 1138 C++11 Rvalue-ness check for rvalue reference binding is wrong
9.4.4 1139 C++11 Rvalue reference binding to scalar xvalues
9.4.4 1236 C++11 Inconsistently-interrelated examples
9.4.4 1263 NAD Mismatch between rvalue reference binding and overload resolution
9.4.4 1287 C++14 Direct initialization vs “implicit” conversion in reference binding
9.4.4 1295 CD3 Binding a reference to an rvalue bit-field
9.4.4 1328 CD3 Conflict in reference binding vs overload resolution
9.4.4 1401 CD3 Similar types and reference compatibility
9.4.4 1414 drafting Binding an rvalue reference to a reference-unrelated lvalue
9.4.4 1571 CD4 cv-qualification for indirect reference binding via conversion function
9.4.4 1572 CD4 Incorrect example for rvalue reference binding via conversion function
9.4.4 1604 C++14 Double temporaries in reference initialization
9.4.4 1650 NAD Class prvalues in reference initialization
9.4.4 1827 drafting Reference binding with ambiguous conversions
9.4.4 2018 dup Qualification conversion vs reference binding
9.4.4 2111 NAD Array temporaries in reference binding
9.4.4 2267 CD5 Copy-initialization of temporary in reference direct-initialization
9.4.4 2352 CD5 Similar types and reference binding
9.4.4 2481 CD6 Cv-qualification of temporary to which a reference is bound
9.4.4 2657 DRWP Cv-qualification adjustment when binding reference to temporary
9.4.4 2704 open Clarify meaning of "bind directly"
9.4.4 2801 DRWP Reference binding with reference-related types
9.4.5 703 CD2 Narrowing for literals that cannot be exactly represented
9.4.5 865 CD2 Initializing a std::initializer_list
9.4.5 934 CD2 List-initialization of references
9.4.5 982 NAD Initialization with an empty initializer list
9.4.5 989 CD2 Misplaced list-initialization example
9.4.5 990 CD2 Value initialization with multiple initializer-list constructors
9.4.5 1078 NAD Narrowing and the usual arithmetic conversions
9.4.5 1095 C++11 List-initialization of references
9.4.5 1232 C++11 Creation of array temporaries using a braced-init-list
9.4.5 1270 CD3 Brace elision in array temporary initialization
9.4.5 1288 CD3 Reference list initialization
9.4.5 1290 CD3 Lifetime of the underlying array of an initializer_list member
9.4.5 1379 NAD Is std::initializer_list an aggregate?
9.4.5 1418 CD3 Type of initializer_list backing array
9.4.5 1419 NAD Evaluation order in aggregate initialization
9.4.5 1421 NAD Full expressions and aggregate initialization
9.4.5 1449 CD3 Narrowing conversion of negative value to unsigned type
9.4.5 1461 NAD Narrowing conversions to bit-fields
9.4.5 1467 CD4 List-initialization of aggregate from same-type object
9.4.5 1490 CD4 List-initialization from a string literal
9.4.5 1494 CD3 Temporary initialization for reference binding in list-initialization
9.4.5 1501 NAD Nested braces in list-initialization
9.4.5 1505 dup Direct binding of reference to temporary in list-initialization
9.4.5 1506 CD3 Value category of initializer_list object
9.4.5 1508 C++14 Template initializer-list constructors
9.4.5 1518 CD4 Explicit default constructors and copy-list-initialization
9.4.5 1522 CD3 Access checking for initializer_list array initialization
9.4.5 1565 NAD Copy elision and lifetime of initializer_list underlying array
9.4.5 1599 CD4 Lifetime of initializer_list underlying array
9.4.5 1756 CD4 Direct-list-initialization of a non-class object
9.4.5 1864 NAD List-initialization of array objects
9.4.5 1984 NAD Lossless narrowing conversions
9.4.5 1996 drafting Reference list-initialization ignores conversion functions
9.4.5 2137 CD4 List-initialization from object of same type
9.4.5 2150 CD3 Initializer list array lifetime
9.4.5 2168 open Narrowing conversions and +/- infinity
9.4.5 2251 C++17 Unreachable enumeration list-initialization
9.4.5 2252 DRWP Enumeration list-initialization from the same type
9.4.5 2374 C++20 Overly permissive specification of enum direct-list-initialization
9.4.5 2627 C++23 Bit-fields and narrowing conversions
9.4.5 2638 DRWP Improve the example for initializing by initializer list
9.4.5 2713 DRWP Initialization of reference-to-aggregate from designated initializer list
9.4.5 2742 drafting Guaranteed copy elision for brace-initialization from prvalue
9.4.5 2830 DRWP Top-level cv-qualification should be ignored for list-initialization
9.4.5 2864 DR Narrowing floating-point conversions
9.5 732 CD2 Late-specified return types in function definitions
9.5 845 CD2 What is the “first declaration” of an explicit specialization?
9.5 906 CD2 Which special member functions can be defaulted?
9.5 908 CD2 Deleted global allocation and deallocation functions
9.5 915 CD2 Deleted specializations of member function templates
9.5 928 CD2 Defaulting a function that would be implicitly defined as deleted
9.5.1 1791 CD4 Incorrect restrictions on cv-qualifier-seq and ref-qualifier
9.5.1 1962 open EWG Type of __func__
9.5.1 2144 DR Function/variable declaration ambiguity
9.5.1 2145 CD4 Parenthesized declarator in function definition
9.5.1 2362 open EWG __func__ should be constexpr
9.5.1 2876 accepted Disambiguation of T x = delete("text")
9.5.2 1134 C++11 When is an explicitly-defaulted function defined?
9.5.2 1135 C++11 Explicitly-defaulted non-public special member functions
9.5.2 1136 C++11 Explicitly-defaulted explicit constructors
9.5.2 1137 C++11 Explicitly-defaulted virtual special member functions
9.5.2 1327 CD3 virt-specifier in a defaulted definition
9.5.2 1331 CD5 const mismatch with defaulted copy constructor
9.5.2 1333 CD3 Omission of const in a defaulted copy constructor
9.5.2 1355 CD3 Aggregates and “user-provided” constructors
9.5.2 1426 CD5 Allowing additional parameter types in defaulted functions
9.5.2 1552 CD4 exception-specifications and defaulted special member functions
9.5.2 1574 NAD Explicitly-defaulted constexpr functions in wrapper templates
9.5.2 1733 CD6 Return type and value for operator= with ref-qualifier
9.5.2 1778 C++14 exception-specification in explicitly-defaulted functions
9.5.2 1846 CD4 Declaring explicitly-defaulted implicitly-deleted functions
9.5.2 1854 drafting Disallowing use of implicitly-deleted functions
9.5.2 1912 CD5 exception-specification of defaulted function
9.5.2 2221 CD6 Copying volatile objects
9.5.2 2547 DRWP Defaulted comparison operator function for non-classes
9.5.2 2570 DRWP Clarify constexpr for defaulted functions
9.5.2 2646 C++23 Defaulted special member functions
9.5.2 2809 DRWP An implicit definition does not redeclare a function
9.5.3 1217 NAD Are deleted functions implicitly noexcept?
9.5.3 2015 CD4 odr-use of deleted virtual functions
9.5.4 2436 C++20 Copy semantics of coroutine parameters
9.5.4 2451 C++23 promise.unhandled_exception() and final suspend point
9.5.4 2465 CD6 Coroutine parameters passed to a promise constructor
9.5.4 2562 open Exceptions thrown during coroutine startup
9.5.4 2563 drafting EWG Initialization of coroutine result object
9.5.4 2585 CD6 Name lookup for coroutine allocation
9.5.4 2613 C++23 Incomplete definition of resumer
9.5.4 2754 DRWP Using *this in explicit object member functions that are coroutines
9.5.4 2934 open Unclear semantics of exception escaping from unhandled_exception
9.5.4 2935 open Destroying the coroutine state when initial-await-resume-called is false
9.6 2285 CD5 Issues with structured bindings
9.6 2308 NAD Structured bindings and lambda capture
9.6 2312 CD6 Structured bindings and mutable
9.6 2313 CD5 Redeclaration of structured binding reference variables
9.6 2314 dup Structured bindings and lambda capture
9.6 2339 CD5 Underspecified template arguments in structured bindings
9.6 2340 open Reference collapsing and structured bindings
9.6 2386 CD5 tuple_size requirements for structured binding
9.6 2506 CD6 Structured bindings and array cv-qualifiers
9.6 2867 DR Order of initialization for structured bindings
9.7.1 172 CD1 Unsigned int as underlying type of enum
9.7.1 377 CD1 Enum whose enumerators will not fit in any integral type
9.7.1 518 CD1 Trailing comma following enumerator-list
9.7.1 628 CD2 The values of an enumeration with no enumerator
9.7.1 660 CD1 Unnamed scoped enumerations
9.7.1 862 CD2 Undefined behavior with enumerator value overflow
9.7.1 893 NAD Brace syntax for enumerator-definitions
9.7.1 977 CD3 When is an enumeration type complete?
9.7.1 1022 C++11 Can an enumeration variable have values outside the values of the enumeration?
9.7.1 1317 NAD Unnamed scoped enumerations
9.7.1 1485 drafting Out-of-class definition of member unscoped opaque enumeration
9.7.1 1618 C++14 Gratuitously-unsigned underlying enum type
9.7.1 1636 CD5 Bits required for negative enumerator values
9.7.1 1638 CD4 Declaring an explicit specialization of a scoped enumeration
9.7.1 1765 C++14 Overflow of enumeration used as enumerator value
9.7.1 1766 CD4 Values outside the range of the values of an enumeration
9.7.1 1917 NAD decltype-qualified enumeration names
9.7.1 1966 CD4 Colon following enumeration elaborated-type-specifier
9.7.1 2131 drafting Ambiguity with opaque-enum-declaration
9.7.1 2156 CD4 Definition of enumeration declared by using-declaration
9.7.1 2590 C++23 Underlying type should determine size and alignment requirements of an enum
9.7.1 2932 review EWG Value range of empty enumeration
9.7.2 2621 C++23 Kind of lookup for using enum declarations
9.7.2 2877 DR Type-only lookup for using-enum-declarator
9.8 171 TC1 Global namespace scope
9.8 987 CD4 Which declarations introduce namespace members?
9.8.2 311 NAD Using qualified name to reopen nested namespace
9.8.2 540 CD1 Propagation of cv-qualifiers in reference-to-reference collapse
9.8.2 812 CD2 Duplicate names in inline namespaces
9.8.2 919 CD2 Contradictions regarding inline namespaces
9.8.2 921 CD2 Unclear specification of inline namespaces
9.8.2 1657 CD4 Attributes for namespaces and enumerators
9.8.2 1795 CD4 Disambiguating original-namespace-definition and extension-namespace-definition
9.8.2 2061 CD4 Inline namespace after simplifications
9.8.2.2 926 CD2 Inline unnamed namespaces
9.8.2.2 1012 C++11 Undeprecating static
9.8.2.2 2505 drafting Nested unnamed namespace of inline unnamed namespace
9.8.3 1976 NAD Ambiguity of namespace-aliases
9.8.4 103 TC1 Is it extended-namespace-definition or extension-namespace-definition ?
9.8.4 986 CD2 Transitivity of using-directives versus qualified lookup
9.9 11 CD1 How do the keywords typename/template interact with using-declarations?
9.9 36 CD6 using-declarations in multiple-declaration contexts
9.9 101 TC1 Redeclaration of extern "C" names via using-declarations
9.9 109 NAD Allowing ::template in using-declarations
9.9 169 NAD template-ids in using-declarations
9.9 258 CD1 using-declarations and cv-qualifiers
9.9 386 CD6 Friend declaration of name brought in by using-declaration
9.9 460 CD1 Can a using-declaration name a namespace?
9.9 565 CD3 Conflict rules for using-declarations naming function templates
9.9 813 open typename in a using-declaration with a non-dependent name
9.9 852 CD6 using-declarations and dependent base classes
9.9 1551 C++14 Wording problems in using-declaration specification
9.9 1742 CD5 using-declarations and scoped enumerators
9.9 1887 CD4 Problems with :: as nested-name-specifier
9.9 1903 CD4 What declarations are introduced by a non-member using-declaration?
9.9 1907 CD6 using-declarations and default arguments
9.9 1960 NAD Visibility of entity named in class-scope using-declaration
9.9 2555 drafting Ineffective redeclaration prevention for using-declarators
9.9 2663 DRWP Example for member redeclarations with using-declarations
9.10 461 NAD Make asm conditionally-supported
9.10 2262 C++17 Attributes for asm-definition
9.11 4 CD1 Does extern "C" affect the linkage of function names with internal linkage?
9.11 13 NAD extern "C" for Parameters of Function Templates
9.11 14 NAD extern "C" functions and declarations in different namespaces
9.11 29 CD1 Linkage of locally declared functions
9.11 107 NAD Linkage of operator functions
9.11 168 NAD C linkage for static member functions
9.11 341 C++11 extern "C" namespace member function versus global variable
9.11 358 NAD Namespaces and extern "C"
9.11 563 CD6 Linkage specification for objects
9.11 564 CD2 Agreement of language linkage or linkage-specifications?
9.11 1185 C++11 Misleading description of language linkage and member function types
9.11 1703 NAD Language linkage of names of functions with internal linkage
9.11 1708 CD4 overly-strict requirements for names with C language linkage
9.11 1713 dup Linkage of variable template specializations
9.11 1817 drafting Linkage specifications and nested scopes
9.11 1818 CD6 Visibility and inherited language linkage
9.11 1869 NAD thread_local vs linkage-specifications
9.11 2460 CD6 C language linkage and constrained non-template friends
9.11 2483 C++23 Language linkage of static member functions
9.12 814 CD2 Attribute to indicate that a function throws nothing
9.12 951 CD2 Problems with attribute-specifiers
9.12 970 CD2 Consistent use of “appertain” and “apply”
9.12 1914 extension Duplicate standard attributes
9.12 2866 open EWG Observing the effects of [[no_unique_address]]
9.12.1 815 CD2 Parameter pack expansion inside attributes
9.12.1 957 CD2 Alternative tokens and attribute-tokens
9.12.1 968 CD2 Syntactic ambiguity of the attribute notation
9.12.1 972 C++11 Allowing multiple attribute-specifiers
9.12.1 1031 C++11 Optional elements in attributes
9.12.1 1323 NAD Nonexistent nonterminal in alignment-specifier grammar
9.12.1 1689 C++14 Syntactic nonterminal for operand of alignas
9.12.1 1706 drafting alignas pack expansion syntax
9.12.1 2079 CD4 [[ appearing in a balanced-token-seq
9.12.1 2205 C++17 Restrictions on use of alignas
9.12.1 2279 NAD Multiple attribute-specifiers in one attribute-list
9.12.1 2388 NAD Applicability of contract-attribute-specifiers
9.12.1 2538 C++23 EWG Can standard attributes be syntactically ignored?
9.12.1 2695 C++23 Semantic ignorability of attributes
9.12.2 959 CD2 Alignment attribute for class and enumeration types
9.12.2 1033 C++11 Restrictions on alignment attributes
9.12.2 1036 C++11 Alignment attribute in an exception-declaration
9.12.2 1039 dup Coordinating C and C++ alignment specifications
9.12.2 1615 CD4 Alignment of types, variables, and members
9.12.2 1617 open alignas and non-defining declarations
9.12.2 1627 NAD Agreement of dependent alignas specifiers
9.12.2 2027 CD4 Unclear requirements for multiple alignas specifiers
9.12.2 2223 drafting Multiple alignas specifiers
9.12.4 965 CD2 Limiting the applicability of the carries_dependency attribute
9.12.4 1475 CD3 Errors in [[carries_dependency]] example
9.12.6 2406 CD5 [[fallthrough]] attribute and iteration statements
9.12.9 2360 CD5 [[maybe_unused]] and structured bindings
9.12.9 2733 DRWP EWG Applying [[maybe_unused]] to a label
9.12.10 2943 open Discarding a void return value
9.12.11 836 NAD [[noreturn]] applied to function types
9.12.11 1132 NAD Keyword vs attribute for noreturn
9.12.12 2527 NAD Non-class potentially-overlapping objects
10.1 2541 open Linkage specifications, module purview, and module attachment
10.1 2597 CD6 EWG Replaceable allocation and deallocation functions in the global module
10.2 2443 C++23 EWG Meaningless template exports
10.2 2491 CD6 Export of typedef after its first declaration
10.2 2607 drafting Visibility of enumerator names
10.2 2921 ready Exporting redeclarations of entities not attached to a named module
10.3 2727 open Importing header units synthesized from source files
10.3 2732 DRWP Can importable headers react to preprocessor state from point of import?
10.4 2783 DRWP Handling of deduction guides in global-module-fragment
11 148 TC1 POD classes and pointers to members
11 175 CD1 Class name injection and base name access
11 176 TC1 Name injection and templates
11 273 CD1 POD classes and operator&()
11 284 CD1 qualified-ids in class declarations
11 327 CD1 Use of "structure" without definition
11 355 C++11 Global-scope :: in nested-name-specifier
11 379 CD1 Change "class declaration" to "class definition"
11 383 CD1 Is a class with a declared but not defined destructor a POD?
11 413 CD1 Definition of "empty class"
11 538 CD1 Definition and usage of structure, POD-struct, POD-union, and POD class
11 568 CD1 Definition of POD is too strict
11 905 CD2 Explicit defaulted copy constructors and trivial copyability
11 1140 C++11 Incorrect redefinition of POD class
11 1215 C++11 Definition of POD struct
11 1318 CD3 Syntactic ambiguities with final
11 1363 CD3 Triviality vs multiple default constructors
11 1411 CD3 More on global scope :: in nested-name-specifier
11 1813 CD4 Direct vs indirect bases in standard-layout classes
11 1881 CD4 Standard-layout classes and unnamed bit-fields
11 2120 CD4 Array as first non-static data member in standard-layout class
11 2234 CD5 Missing rules for simple-template-id as class-name
11 2293 CD5 Requirements for simple-template-id used as a class-name
11.1 2637 DRWP Injected-class-name as a simple-template-id
11.2 511 open POD-structs with template assignment operators
11.2 2463 open EWG Trivial copyability and unions with non-trivial members
11.2 2605 C++23 Implicit-lifetime aggregates
11.2 2736 open Standard layout class with empty base class also in first member
11.3 417 CD1 Using derived-class qualified name in out-of-class nested class definition
11.3 1496 CD4 Triviality with deleted and missing default constructors
11.4 75 TC1 In-class initialized members must be const
11.4 80 TC1 Class members with same name as class
11.4 190 TC1 Layout-compatible POD-struct types
11.4 328 CD1 Missing requirement that class member types be complete
11.4 437 CD1 Is type of class allowed in member function exception specification?
11.4 613 CD1 Unevaluated uses of non-static class members
11.4 620 CD1 Declaration order in layout-compatible POD structs
11.4 645 CD2 Are bit-field and non-bit-field members layout compatible?
11.4 844 concepts Is a constrained member function a template?
11.4 874 CD2 Class-scope definitions of enumeration types
11.4 924 C++11 alias-declaration as a class member
11.4 1035 C++11 Omitted and required decl-specifiers
11.4 1041 dup alias-declarations as class members
11.4 1072 C++11 Scoped enumerator with the same name as its containing class
11.4 1141 NAD Non-static data member initializers have not been implemented
11.4 1308 CD3 Completeness of class type within an exception-specification
11.4 1341 NAD Bit-field initializers
11.4 1357 CD3 brace-or-equal-initializers for function and typedef members
11.4 1397 CD4 Class completeness in non-static data member initializers
11.4 1425 CD3 Base-class subobjects of standard-layout structs
11.4 1660 C++14 member-declaration requirements and unnamed bit-fields
11.4 1672 CD4 Layout compatibility with multiple empty bases
11.4 1693 C++14 Superfluous semicolons in class definitions
11.4 1719 CD4 Layout compatibility and cv-qualification revisited
11.4 1803 CD5 opaque-enum-declaration as member-declaration
11.4 1821 CD6 Qualified redeclarations in a class member-specification
11.4 1890 drafting Member type depending on definition of member function
11.4 1909 CD4 Member class template with the same name as the class
11.4 1983 CD5 Inappropriate use of virt-specifier
11.4 2153 CD4 pure-specifier in friend declaration
11.4 2154 CD4 Ambiguity of pure-specifier
11.4 2208 NAD static_assert-declaration does not declare a member
11.4 2254 CD5 Standard-layout classes and bit-fields
11.4 2404 CD5 [[no_unique_address]] and allocation order
11.4 2430 C++20 Completeness of return and parameter types of member functions
11.4.1 2188 open empty-declaration grammar ambiguity
11.4.1 2510 NAD noexcept-specifier of friend function vs class completeness
11.4.1 2583 C++23 Common initial sequence should consider over-alignment
11.4.1 2630 C++23 Syntactic specification of class completeness
11.4.1 2661 DRWP Missing disambiguation rule for pure-specifier vs. brace-or-equal-initializer
11.4.1 2759 DRWP [[no_unique_address] and common initial sequence
11.4.1 2852 open Complete-class contexts and class-scope lambdas
11.4.2 1142 C++11 friend declaration of member function of containing class
11.4.3 1005 NAD Qualified name resolution in member functions of class templates
11.4.3 1017 C++11 Member access transformation in unevaluated operands
11.4.3 1143 NAD Move semantics for *this have not been implemented
11.4.3 1207 C++11 Type of class member in trailing-return-type
11.4.3 1208 C++11 Explicit noexcept in defaulted definition
11.4.3 2771 DRWP Transformation for unqualified-ids in address operator
11.4.4 819 NAD Access control and deleted implicitly-declared special member functions
11.4.4 2595 DRWP "More constrained" for eligible special member functions
11.4.4 2787 open Kind of explicit object copy/move assignment function
11.4.5 194 TC1 Identifying constructors
11.4.5 263 CD1 Can a constructor be declared a friend?
11.4.5 326 CD1 Wording for definition of trivial constructor
11.4.5 331 CD1 Allowed copy constructor signatures
11.4.5 738 C++11 constexpr not permitted by the syntax of constructor declarations
11.4.5 922 CD2 Implicit default constructor definitions and const variant members
11.4.5 927 CD2 Implicitly-deleted default constructors and member initializers
11.4.5 1145 C++11 Defaulting and triviality
11.4.5 1191 C++11 Deleted subobject destructors and implicitly-defined constructors
11.4.5 1353 DRWP Array and variant members and deleted special member functions
11.4.5 1360 CD6 constexpr defaulted default constructors
11.4.5 1427 NAD Default constructor and deleted or inaccessible destructors
11.4.5 1611 C++14 Deleted default constructor for abstract class
11.4.5 1623 drafting Deleted default union constructor and member initializers
11.4.5 1658 C++14 Deleted default constructor for abstract class via destructor
11.4.5 1808 drafting Constructor templates vs default constructors
11.4.5 1888 CD4 Implicitly-declared default constructors and explicit
11.4.5 2084 CD4 NSDMIs and deleted union default constructors
11.4.5 2237 CD5 Can a template-id name a constructor?
11.4.5 2271 C++17 Aliasing this
11.4.5 2273 CD5 Inheriting constructors vs implicit default constructor
11.4.5.1 2674 C++23 Prohibit explicit object parameters for constructors
11.4.5.1 2841 open When do const objects start being const?
11.4.5.2 2394 CD5 Const-default-constructible for members
11.4.5.2 2799 drafting Inheriting default constructors
11.4.5.2 2871 DR User-declared constructor templates inhibiting default constructors
11.4.5.2 2885 review LWG Non-eligible trivial default constructors
11.4.5.3 20 TC1 Some clarifications needed for 12.8 para 15
11.4.5.3 26 NAD Copy constructors and default arguments
11.4.5.3 111 NAD Copy constructors and cv-qualifiers
11.4.5.3 185 TC1 "Named" temporaries and copy elision
11.4.5.3 356 NAD Wording of behavior of generated copy constructor for scalar members
11.4.5.3 535 CD3 Copy construction without a copy constructor
11.4.5.3 667 CD2 Trivial special member functions that cannot be implicitly defined
11.4.5.3 680 CD2 What is a move constructor?
11.4.5.3 683 CD1 Requirements for trivial subobject special functions
11.4.5.3 887 CD2 Move construction of thrown object
11.4.5.3 910 CD2 Move constructors and implicitly-declared copy constructors
11.4.5.3 992 NAD Inheriting explicitness
11.4.5.3 1020 C++11 Implicitly-defined copy constructors and explicit base class constructors
11.4.5.3 1051 C++11 Reference members and generated copy constructors
11.4.5.3 1052 dup const non-static data member and PODness
11.4.5.3 1064 C++11 Defaulted move constructor for a union
11.4.5.3 1080 C++11 Confusing relationship between templates and copy constructors
11.4.5.3 1082 C++11 Implicit copy function if subobject has none?
11.4.5.3 1084 NAD Conditions for a deleted move function
11.4.5.3 1092 drafting Cycles in overload resolution during instantiation
11.4.5.3 1149 C++11 Trivial non-public copy operators in subobjects
11.4.5.3 1224 C++11 constexpr defaulted copy constructors
11.4.5.3 1344 C++14 Adding new special member functions to a class via default arguments
11.4.5.3 1402 CD3 Move functions too often deleted
11.4.5.3 1491 CD3 Move construction and rvalue reference members
11.4.5.3 1493 C++14 Criteria for move-construction
11.4.5.3 1548 drafting Copy/move construction and conversion functions
11.4.5.3 1579 C++14 Return by converting move constructor
11.4.5.3 1590 CD4 Bypassing non-copy/move constructor copying
11.4.5.3 1593 C++14 “Parameter type” of special member functions
11.4.5.3 1594 drafting Lazy declaration of special members vs overload errors
11.4.5.3 1731 NAD is_trivially_X and definitions of special member functions
11.4.5.3 1734 CD4 Nontrivial deleted copy functions
11.4.5.3 1831 NAD Explicitly vs implicitly deleted move constructors
11.4.5.3 1916 CD4 “Same cv-unqualified type”
11.4.5.3 1928 NAD Triviality of deleted special member functions
11.4.5.3 2094 C++17 Trivial copy/move constructor for class with volatile member
11.4.5.3 2132 NAD Deprecated default generated copy constructors
11.4.5.3 2171 CD4 Triviality of copy constructor with less-qualified parameter
11.4.5.3 2197 C++17 Overload resolution and deleted special member functions
11.4.5.3 2203 drafting Defaulted copy/move constructors and UDCs
11.4.5.3 2264 drafting Memberwise copying with indeterminate value
11.4.5.3 2315 CD5 What is the “corresponding special member” of a variant member?
11.4.5.3 2477 CD6 Defaulted vs deleted copy constructors/assignment operators
11.4.5.3 2743 open Copying non-trivial objects nested within a union
11.4.5.3 2837 open Instantiating and inheriting by-value copy constructors
11.4.6 444 NAD Overriding and the generated copy assignment operator
11.4.6 574 NAD Definition of “copy assignment operator”
11.4.6 653 CD2 Copy assignment of unions
11.4.6 733 NAD Reference qualification of copy assignment operators
11.4.6 1066 C++11 When is a copy/move assignment operator implicitly defined?
11.4.6 1085 NAD Move assignment operators and virtual bases
11.4.6 1499 DRWP Missing case for deleted move assignment operator
11.4.6 1806 CD4 Virtual bases and move-assignment
11.4.6 2180 CD4 Virtual bases in destructors and defaulted assignment operators
11.4.6 2329 drafting Virtual base classes and generated assignment operators
11.4.6 2415 NAD using-declarations vs copy assignment operators
11.4.6 2690 C++23 Semantics of defaulted move assignment operator for unions
11.4.6 2897 open Copying potentially-overlapping union subobjects
11.4.7 193 TC1 Order of destruction of local automatics of destructor
11.4.7 244 CD1 Destructor lookup
11.4.7 252 CD1 Looking up deallocation functions in virtual destructors
11.4.7 272 CD1 Explicit destructor invocation and qualified-ids
11.4.7 344 CD3 Naming destructors
11.4.7 399 CD6 Destructor lookup redux
11.4.7 677 CD1 Deleted operator delete and virtual destructors
11.4.7 1029 C++11 Type of a destructor call
11.4.7 1081 C++11 Defaulted destructor and unusable operator delete
11.4.7 1146 C++11 exception-specifications of defaulted functions
11.4.7 1147 C++11 Destructors should be default nothrow
11.4.7 1241 C++11 Which members does a destructor destroy?
11.4.7 1492 CD4 Exception specifications on template destructors
11.4.7 1586 NAD Naming a destructor via decltype
11.4.7 1605 CD3 Misleading parenthetical comment for explicit destructor call
11.4.7 1783 NAD Why are virtual destructors non-trivial?
11.4.7 1811 CD4 Lookup of deallocation function in a virtual destructor definition
11.4.7 1848 CD4 Parenthesized constructor and destructor declarators
11.4.7 1969 CD6 Missing exclusion of ~S as an ordinary function name
11.4.7 1977 drafting Contradictory results of failed destructor lookup
11.4.7 2068 CD4 When can/must a defaulted virtual destructor be defined?
11.4.7 2069 CD4 Do destructors have names?
11.4.7 2158 drafting Polymorphic behavior during destruction
11.4.7 2761 DRWP Implicitly invoking the deleted destructor of an anonymous union member
11.4.7 2807 DRWP Destructors declared consteval
11.4.7 2839 open Explicit destruction of base classes
11.4.8.2 152 TC1 explicit copy constructors
11.4.8.2 1336 CD3 Definition of “converting constructor”
11.4.8.2 1978 CD4 Redundant description of explicit constructor use
11.4.8.3 296 CD1 Can conversion functions be static?
11.4.8.3 395 NAD Conversion operator template syntax
11.4.8.3 875 concepts Associated conversion functions converting to the same type
11.4.8.3 1726 CD6 Declarator operators and conversion function
11.4.8.3 2016 CD4 Confusing wording in description of conversion function
11.4.8.3 2513 open Ambiguity with requires-clause and operator-function-id
11.4.8.3 2716 DRWP Rule about self-or-base conversion is normatively redundant
11.4.9 67 TC1 Evaluation of left side of object-expression
11.4.9.2 315 NAD Is call of static member function through null pointer undefined?
11.4.9.3 48 TC1 Definitions of unused static members
11.4.9.3 406 CD1 Static data member in class with name for linkage purposes
11.4.9.3 454 CD1 When is a definition of a static data member required?
11.4.9.3 714 CD2 Static const data members and braced-init-lists
11.4.9.3 902 NAD In-class initialization of non-constant static data members
11.4.9.3 1101 C++11 Non-integral initialized static data members
11.4.9.3 1203 dup Misleading note regarding initialized static data members
11.4.9.3 1272 NAD Implicit definition of static data member of const literal type
11.4.9.3 1283 drafting Static data members of classes with typedef name for linkage purposes
11.4.9.3 1721 review Diagnosing ODR violations for static data members
11.4.9.3 1987 NAD constexpr static data members across translation units
11.4.9.3 2335 drafting Deduced return types vs member types
11.4.9.3 2375 NAD Multiple redeclarations of constexpr static data members
11.4.10 58 CD1 Signedness of bit fields of enum type
11.4.10 436 CD1 Problem in example in 9.6 paragraph 4
11.4.10 675 CD3 Signedness of bit-field with typedef or template parameter type
11.4.10 739 CD3 Signedness of plain bit-fields
11.4.10 741 C++11 “plain” long long bit-fields
11.4.10 1514 C++14 Ambiguity between enumeration definition and zero-length bit-field
11.4.10 1861 CD4 Values of a bit-field
11.4.10 1943 CD5 Unspecified meaning of “bit”
11.4.10 2229 CD5 Volatile unnamed bit-fields
11.4.10 2253 CD5 Unnamed bit-fields and zero-initialization
11.4.10 2511 CD6 cv-qualified bit-fields
11.4.10 2950 open Value preservation in enumeration vs. integer bit-fields
11.4.11 255 CD6 Placement deallocation functions and lookup ambiguity
11.4.12 347 NAD Use of derived class name in defining base class nested class
11.5 57 open Empty unions
11.5 359 NAD Type definition in anonymous union
11.5 512 NAD Union members with user-declared non-default constructors
11.5 716 CD2 Specifications that should apply only to non-static union data members
11.5 1375 CD3 Reference to anonymous union?
11.5 1404 drafting Object reallocation in unions
11.5 1460 C++14 What is an empty union?
11.5 1702 drafting Rephrasing the definition of “anonymous union”
11.5 1801 CD4 Kind of expression referring to member of anonymous union
11.5 1860 C++17 What is a “direct member?”
11.5 1940 CD4 static_assert in anonymous unions
11.5 2080 CD5 Example with empty anonymous union member
11.5.1 2591 DRWP Implicit change of active union member for anonymous union in union
11.5.1 2675 open start_lifetime_as, placement-new, and active union members
11.5.2 2767 open Non-defining declarations of anonymous unions
11.5.2 2773 open Naming anonymous union members as class members
11.6 198 CD1 Definition of "use" in local and nested classes
11.6 696 C++11 Use of block-scope constants in local classes
11.6 1714 NAD odr-use of this from a local class
11.6 2890 ready Defining members of local classes
11.7 484 CD1 Can a base-specifier name a cv-qualified class type?
11.7 1019 dup Dependent simple-template-ids in base-specifiers and mem-initializers
11.7 1710 C++17 Missing template keyword in class-or-decltype
11.7.3 608 CD2 Determining the final overrider of a virtual function
11.7.3 939 CD2 Explicitly checking virtual function overriding
11.7.3 960 CD2 Covariant functions and lvalue/rvalue references
11.7.3 1250 CD3 Cv-qualification of incomplete virtual function return types
11.7.3 2119 NAD Disambiguation of multi-level covariant return type
11.7.3 2496 CD6 ref-qualifiers and virtual overriding
11.7.3 2554 review Overriding virtual functions, also with explicit object parameters
11.7.4 230 NAD Calls to pure virtual functions
11.7.4 390 CD1 Pure virtual must be defined when implicitly called
11.7.4 1420 NAD Abstract final classes
11.8 8 CD1 Access to template arguments used in a function return type and in the nested name specifier
11.8 494 CD1 Problems with the resolution of issue 45
11.8 580 C++11 Access in template-parameters of member and friend definitions
11.8 600 CD6 Does access control apply to members or to names?
11.8.1 2662 C++23 Example for member access control vs. overload resolution
11.8.3 7 NAD Can a class with a private virtual base class be derived from?
11.8.3 9 CD1 Clarification of access to base class members
11.8.3 16 CD1 Access to members of indirect private base classes
11.8.3 17 NAD Footnote 99 should discuss the naming class when describing members that can be accessed from friends
11.8.3 142 TC1 Injection-related errors in access example
11.8.3 207 CD1 using-declarations and protected access
11.8.3 360 CD6 Using-declaration that reduces access
11.8.3 471 NAD Conflicting inherited access specifications
11.8.3 747 dup Access of protected base classes
11.8.3 952 CD6 Insufficient description of “naming class”
11.8.3 1873 CD4 Protected member access from derived class friends
11.8.3 2030 NAD Access of injected-class-name with template arguments
11.8.3 2246 drafting Access of indirect virtual base class constructors
11.8.4 77 CD1 The definition of friend does not allow nested classes to be friends
11.8.4 209 NAD Must friend declaration names be accessible?
11.8.4 445 NAD Wording issue on friend declarations
11.8.4 500 CD1 Access in base-specifiers of friend and nested classes
11.8.4 501 NAD Visibility of friend declarations within the befriending class
11.8.4 585 NAD Friend template template parameters
11.8.4 718 NAD EWG Non-class, non-function friend declarations
11.8.4 1699 open EWG Does befriending a class befriend its friends?
11.8.4 1833 NAD friend declarations naming implicitly-declared member functions
11.8.4 2363 NAD Opaque enumeration friend declarations
11.8.4 2588 DR EWG friend declarations and module linkage
11.8.5 19 NAD Clarify protected member access
11.8.5 161 TC1 Access to protected nested type
11.8.5 385 CD1 How does protected member check of 11.5 interact with using-declarations?
11.8.5 472 drafting Casting across protected inheritance
11.8.5 1007 NAD Protected access and pointers to members
11.8.5 1883 drafting Protected access to constructors in mem-initializers
11.8.5 2187 drafting Protected members and access via qualified-id
11.8.5 2244 open Base class access in aggregate initialization
11.8.8 10 CD1 Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?
11.8.8 45 CD1 Access to nested classes
11.9 510 CD1 Default initialization of POD classes?
11.9 542 CD2 Value initialization of arrays of POD-structs
11.9 2756 review Completion of initialization by delegating constructor
11.9.2 363 NAD Initialization of class from self
11.9.3 235 TC1 Assignment vs initialization
11.9.3 257 CD2 Abstract base constructors and virtual base initialization
11.9.3 607 CD6 Lookup of mem-initializer-ids
11.9.3 655 C++11 Initialization not specified for forwarding constructors
11.9.3 838 C++11 Use of this in a brace-or-equal-initializer
11.9.3 888 CD2 Union member initializers
11.9.3 1242 C++11 Initializing variant class members
11.9.3 1345 CD3 Initialization of anonymous union class members
11.9.3 1562 C++14 Non-static data member initializers and union ctor-initializer
11.9.3 1621 C++20 Member initializers in anonymous unions
11.9.3 1641 NAD Assignment in member initializer
11.9.3 1649 C++14 Error in the syntax of mem-initializer-list
11.9.3 1752 CD4 Right-recursion in mem-initializer-list
11.9.3 1915 open EWG Potentially-invoked destructors in non-throwing constructors
11.9.3 2056 drafting Member function calls in partially-initialized class objects
11.9.3 2135 NAD mem-initializers for virtual bases of abstract classes
11.9.3 2204 NAD Naming delegated constructors
11.9.3 2227 CD5 Destructor access and default member initializers
11.9.3 2317 CD5 Self-referential default member initializers
11.9.3 2403 drafting Temporary materialization and base/member initialization
11.9.3 2669 open EWG Lifetime extension for aggregate initialization
11.9.4 2504 DRWP Inheriting constructors from virtual base classes
11.9.5 307 NAD Initialization of a virtual base class subobject
11.9.5 710 CD2 Data races during construction
11.9.5 1202 C++11 Calling virtual functions during destruction
11.9.5 1517 drafting Unclear/missing description of behavior during construction/destruction
11.9.5 1855 dup Out-of-lifetime access to nonstatic data members
11.9.5 2757 review Deleting or deallocating storage of an object during its construction
11.9.6 6 NAD 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?
11.9.6 1049 open Copy elision through reference parameters of inline functions
11.9.6 1148 C++11 Copy elision and move construction of function parameters
11.9.6 1967 CD4 Temporary lifetime and move-elision
11.9.6 2125 NAD Copy elision and comma operator
11.9.6 2930 tentatively ready Unclear term "copy/move operation" in specification of copy elision
11.10.1 2414 C++20 Unclear results if both member and friend operator<=> are declared
11.10.1 2568 DRWP Access checking during synthesis of defaulted comparison operator
11.10.1 2586 CD6 EWG Explicit object parameter for assignment and comparison
11.10.3 2432 C++20 Return types for defaulted <=>
11.10.3 2437 C++20 Conversion of std::strong_ordering in a defaulted operator<=>
11.10.3 2539 C++23 Three-way comparison requiring strong ordering for floating-point types
11.10.3 2703 review Three-way comparison requiring strong ordering for floating-point types, take 2
11.10.4 2546 DRWP Defaulted secondary comparison operators defined as deleted
12 1016 C++11 Overloadable declarations, function templates, and references
12.2 999 CD2 “Implicit” or “implied” object argument/parameter?
12.2.2 2290 CD5 Unclear specification for overload resolution and deleted special member functions
12.2.2 2356 CD5 Base class copy and move constructors should not be inherited
12.2.2.1 2762 DRWP Type of implicit object parameter
12.2.2.2 162 CD1 (&C::f)() with nonstatic members
12.2.2.2 704 CD2 To which postfix-expressions does overload resolution apply?
12.2.2.2.1 2687 C++23 Calling an explicit object member function via an address-of-overload-set
12.2.2.2.1 2692 C++23 EWG Static and explicit object member functions with the same parameter-type-lists
12.2.2.2.2 239 CD1 Footnote 116 and Koenig lookup
12.2.2.2.2 364 CD1 Calling overloaded function with static in set, with no object
12.2.2.2.2 1278 drafting Incorrect treatment of contrived object
12.2.2.2.3 280 CD1 Access and surrogate call functions
12.2.2.2.3 2189 open Surrogate call template
12.2.2.2.3 2564 drafting Conversion to function pointer with an explicit object parameter
12.2.2.2.3 2649 C++23 Incorrect note about implicit conversion sequence
12.2.2.3 102 NAD Operator lookup rules do not work well with parts of the library
12.2.2.3 416 CD1 Class must be complete to allow operator lookup?
12.2.2.3 423 NAD Can a conversion be done on the left operand of a compound assignment?
12.2.2.3 545 open User-defined conversions and built-in operator overload resolution
12.2.2.3 1385 CD3 Syntactic forms of conversion functions for surrogate call functions
12.2.2.3 1608 C++14 Operator lookup in trailing return type
12.2.2.3 1687 C++14 Conversions of operands of built-in operators
12.2.2.3 1919 open Overload resolution for ! with explicit conversion operator
12.2.2.3 2007 CD6 Argument-dependent lookup for operator=
12.2.2.3 2089 drafting Restricting selection of builtin overloaded operators
12.2.2.3 2673 C++23 User-declared spaceship vs. built-in operators
12.2.2.3 2712 DRWP Simplify restrictions on built-in assignment operator candidates
12.2.2.3 2730 open Comparison templates on enumeration types
12.2.2.3 2797 review EWG Meaning of "corresponds" for rewritten operator candidates
12.2.2.3 2804 open EWG Lookup for determining rewrite targets
12.2.2.3 2844 open Enumerating a finite set of built-in candidates
12.2.2.4 604 CD2 Argument list for overload resolution in copy-initialization
12.2.2.5 59 TC1 Clarification of overloading and UDC to reference type
12.2.2.5 899 CD2 Explicit conversion functions in direct class initialization
12.2.2.5 1087 C++11 Additional applications of issue 899
12.2.2.5 1556 CD3 Constructors and explicit conversion functions in direct initialization
12.2.2.5 1750 CD4 “Argument” vs “parameter”
12.2.2.6 1781 CD5 Converting from nullptr_t to bool in overload resolution
12.2.2.7 1373 dup Overload resolution changes matching reference-binding changes
12.2.2.7 1392 CD3 Explicit conversion functions for references and non-references
12.2.2.7 2028 drafting Converting constructors in rvalue reference initialization
12.2.2.7 2108 drafting Conversions to non-class prvalues in reference initialization
12.2.2.7 2919 ready Conversion function candidates for initialization of const lvalue reference
12.2.2.8 1151 C++11 Overload resolution with initializer-list and non-list constructors
12.2.2.8 1228 NAD Copy-list-initialization and explicit constructors
12.2.2.8 1229 C++11 Overload resolution with empty braced-init-list argument
12.2.2.8 1758 CD4 Explicit conversion in copy/move list initialization
12.2.2.8 2194 drafting Impossible case in list initialization
12.2.2.8 2311 open Missed case for guaranteed copy elision
12.2.2.8 2856 DRWP Copy-list-initialization with explicit default constructors
12.2.2.9 2376 CD5 Class template argument deduction with array declarator
12.2.2.9 2425 open Confusing wording for deduction from a type
12.2.2.9 2467 drafting CTAD for alias templates and the deducible check
12.2.2.9 2471 drafting Nested class template argument deduction
12.2.2.9 2628 DRWP Implicit deduction guides should propagate constraints
12.2.2.9 2664 C++23 Deduction failure in CTAD for alias templates
12.2.2.9 2680 open Class template argument deduction for aggregates with designated initializers
12.2.2.9 2681 C++23 Deducing member array type from string literal
12.2.2.9 2685 C++23 Aggregate CTAD, string, and brace elision
12.2.2.9 2714 DRWP Implicit deduction guides omit properties from the parameter-declaration-clause of a constructor
12.2.3 641 CD2 Overload resolution and conversion-to-same-type operators
12.2.3 877 CD2 Viable functions and binding references to rvalues
12.2.3 1152 C++11 Rules for determining existence of implicit conversion sequence
12.2.3 2377 NAD Explicit copy constructor vs function viability
12.2.3 2442 C++20 Incorrect requirement for default arguments
12.2.4 51 TC1 Overloading and user-defined conversions
12.2.4 418 CD6 Imperfect wording on error on multiple default arguments on a called function
12.2.4 455 NAD Partial ordering and non-deduced arguments
12.2.4 495 CD2 Overload resolution with template and non-template conversion functions
12.2.4 2735 open List-initialization and conversions in overload resolution
12.2.4.1 2789 DRWP Overload resolution with implicit and explicit object member functions
12.2.4.2 84 TC1 Overloading and conversion loophole used by auto_ptr
12.2.4.2 978 CD2 Incorrect specification for copy initialization
12.2.4.2 1673 C++14 Clarifying overload resolution for the second step of copy-initialization
12.2.4.2 1902 CD4 What makes a conversion “otherwise ill-formed”?
12.2.4.2 2076 CD4 List-initialization of arguments for constructor parameters
12.2.4.2 2291 dup Implicit conversion sequences in non-call contexts
12.2.4.2 2304 NAD Incomplete type vs overload resolution
12.2.4.2 2319 drafting Nested brace initialization from same type
12.2.4.2.1 2525 drafting Incorrect definition of implicit conversion sequence
12.2.4.2.1 2679 open Implicit conversion sequence with a null pointer constant
12.2.4.2.1 2829 open Redundant case in restricting user-defined conversion sequences
12.2.4.2.1 2898 open Clarify implicit conversion sequence from cv T to T
12.2.4.2.3 243 NAD Weighting of conversion functions in direct-initialization
12.2.4.2.3 2731 open List-initialization sequence with a user-defined conversion
12.2.4.2.5 60 CD1 Reference binding and valid conversion sequences
12.2.4.2.5 953 CD2 Rvalue references and function viability
12.2.4.2.5 1205 dup Lvalue reference binding and function viability
12.2.4.2.5 2077 drafting Overload resolution and invalid rvalue-reference initialization
12.2.4.2.5 2803 DRWP Overload resolution for reference binding of similar types
12.2.4.2.6 1307 C++14 Overload resolution based on size of array initializer-list
12.2.4.2.6 1409 CD3 What is the second standard conversion sequence of a list-initialization sequence?
12.2.4.2.6 1536 drafting Overload resolution with temporary from initializer list
12.2.4.2.6 1543 CD3 Implicit conversion sequence for empty initializer list
12.2.4.2.6 1631 CD4 Incorrect overload resolution for single-element initializer-list
12.2.4.2.6 2075 CD4 Passing short initializer lists to array reference parameters
12.2.4.2.6 2169 open Narrowing conversions and overload resolution
12.2.4.2.6 2492 drafting Comparing user-defined conversion sequences in list-initialization
12.2.4.2.6 2741 open Implicit conversion sequence from empty list to array of unknown bound
12.2.4.2.6 2790 open Aggregate initialization and user-defined conversion sequence
12.2.4.3 83 TC1 Overloading and deprecated conversion of string literal
12.2.4.3 153 TC1 Misleading wording (rank of conversion)
12.2.4.3 702 CD2 Preferring conversion to std::initializer_list
12.2.4.3 961 CD2 Overload resolution and conversion of std::nullptr_t to bool
12.2.4.3 1079 C++11 Overload resolution involving aggregate initialization
12.2.4.3 1238 C++11 Overloading ambiguity binding reference to function
12.2.4.3 1298 CD3 Incorrect example in overload resolution
12.2.4.3 1374 CD3 Qualification conversion vs difference in reference binding
12.2.4.3 1408 CD3 What is “the same aggregate initialization?”
12.2.4.3 1410 CD3 Reference overload tiebreakers should apply to rvalue references
12.2.4.3 1459 open Reference-binding tiebreakers in overload resolution
12.2.4.3 1589 CD4 Ambiguous ranking of list-initialization sequences
12.2.4.3 1789 open Array reference vs array decay in overload resolution
12.2.4.3 1950 NAD Restructuring description of ranks of conversion sequences
12.2.4.3 2110 drafting Overload resolution for base class conversion and reference/non-reference
12.2.4.3 2277 CD5 Ambiguity inheriting constructors with default arguments
12.2.4.3 2337 open Incorrect implication of logic ladder for conversion sequence tiebreakers
12.2.4.3 2524 NAD Distinguishing user-defined conversion sequences by ref-qualifier
12.2.4.3 2815 ready Overload resolution for references/pointers to noexcept functions
12.2.4.3 2842 open Preferring an initializer_list over a single value
12.2.4.3 2958 open Overload resolution involving lvalue transformation and qualification conversion
12.3 61 NAD Address of static member function "&p->f"
12.3 115 CD1 Address of template-id
12.3 202 TC1 Use of overloaded function name
12.3 247 NAD Pointer-to-member casts and function overload resolution
12.3 250 TC1 Address of function template specialization with non-deduced template arguments
12.3 1038 DRWP Overload resolution of &x.static_func
12.3 1153 C++11 Type matching in address of overloaded function
12.3 1563 CD3 List-initialization and overloaded function disambiguation
12.3 2572 review Address of overloaded function with no target
12.3 2873 open Taking the address of a function involving template argument deduction
12.3 2918 ready Consideration of constraints for address of overloaded function
12.4 1989 drafting Insufficient restrictions on parameters of postfix operators
12.4 2052 CD4 Template argument deduction vs overloaded operators
12.4.1 2507 CD6 Default arguments for operator[]
12.4.1 2931 tentatively ready Restrictions on operator functions that are explicit object member functions
12.4.3 1549 open Overloaded comma operator with void operand
12.4.3.2 221 CD1 Must compound assignment operators be member functions?
12.4.4 2648 C++23 Correspondence of surrogate call function and conversion function
12.4.6 420 CD1 postfixexpression->scalar_type_dtor() inconsistent
12.4.7 1481 CD3 Increment/decrement operators with reference parameters
12.5 27 NAD Overload ambiguities for builtin ?: prototypes
12.5 260 open User-defined conversions and built-in operator=
12.5 425 CD1 Set of candidates for overloaded built-in operator with float operand
12.5 507 dup Ambiguity assigning class object to built-in type
12.5 749 CD2 References to function types with a cv-qualifier or ref-qualifier
12.5 878 concepts Effective class types in built-in pointer-to-member operator
12.5 879 CD2 Missing built-in comparison operators for pointer types
12.5 880 CD2 Built-in conditional operator for scoped enumerations
12.5 954 open Overload resolution of conversion operator templates with built-in types
12.6 935 CD2 Missing overloads for character types for user-defined literals
12.6 1473 CD3 Syntax of literal-operator-id
12.6 1479 CD3 Literal operators and default arguments
12.6 1620 open User-defined literals and extended integer types
12.6 1762 C++14 Reserved identifier used in literal-operator-id example
12.6 2521 C++23 (EWG) User-defined literals and reserved identifiers
13 32 TC1 Clarification of explicit instantiation of non-exported templates
13 72 dup Linkage and storage class specifiers for templates
13 105 TC1 Meaning of "template function"
13 110 CD6 Can template functions and classes be declared in the same scope?
13 134 TC1 Template classes and declarator-ids
13 204 CD1 Exported class templates
13 205 drafting Templates and static data members
13 323 CD1 Where must export appear?
13 335 CD1 Allowing export on template members of nontemplate classes
13 534 CD1 template-names and operator-function-ids
13 728 NAD Restrictions on local classes
13 820 CD2 Deprecation of export
13 821 concepts Exported concept map templates?
13 822 NAD Additional contexts for template aliases
13 1009 C++11 Missing cases in the declarator-id of a function template declaration
13 1096 C++11 Missing requirement for template definitions
13 1303 NAD C language linkage for template with internal linkage
13.1 1463 drafting EWG extern "C" alias templates
13.1 2682 C++23 Templated function vs. function template
13.1 2862 review Unclear boundaries of template declarations
13.1 2904 open Introducing template-names
13.1 2917 review EWG Disallow multiple friend-type-specifiers for a friend template
13.2 21 TC1 Can a default argument for a template parameter appear in a friend declaration?
13.2 49 TC1 Restriction on non-type, non-value template arguments
13.2 184 CD1 Default arguments in template template-parameters
13.2 187 TC1 Scope of template parameter names
13.2 215 CD1 Template parameters are not allowed in nested-name-specifiers
13.2 226 CD1 Default template arguments for function templates
13.2 401 CD1 When is access for template parameter default arguments checked?
13.2 691 C++11 Template parameter packs in class template partial specializations
13.2 778 C++11 Template parameter packs in non-type template parameters
13.2 840 CD2 Rvalue references as nontype template parameters
13.2 881 concepts Inconsistent requirement for naming template parameters
13.2 1006 C++11 std::nullptr_t as a non-type template parameter
13.2 1068 C++11 Template aliases with default arguments and template parameter packs
13.2 1179 NAD Cv-qualification of non-type template parameters
13.2 1246 C++11 Non-deduced non-final parameter packs
13.2 1275 CD3 Incorrect comment in example of template parameter pack restriction
13.2 1319 NAD Error in pack expansion example
13.2 1444 drafting Type adjustments of non-type template parameters
13.2 1635 drafting How similar are template default arguments to function default arguments?
13.2 1643 NAD Default arguments for template parameter packs
13.2 1874 CD4 Type vs non-type template parameters with class keyword
13.2 1904 NAD Default template arguments for members of class templates
13.2 2032 CD4 Default template-arguments of variable templates
13.2 2178 NAD Substitution of dependent template arguments in default template arguments
13.2 2343 C++20 void* non-type template parameters
13.2 2383 NAD Variadic member functions of variadic class templates
13.2 2395 drafting Parameters following a pack expansion
13.2 2617 review Default template arguments for template members of non-template classes
13.2 2777 DRWP Type of id-expression denoting a template parameter object
13.3 30 TC1 Valid uses of "::template"
13.3 38 TC1 Explicit template arguments and operator functions
13.3 96 C++11 Syntactic disambiguation using the template keyword
13.3 228 CD1 Use of template keyword with non-member templates
13.3 301 CD1 Syntax for template-name
13.3 314 C++17 template in base class specifier
13.3 343 C++17 Make template optional in contexts that require a type
13.3 431 C++11 Defect in wording in 14.2
13.3 468 CD1 Allow ::template outside of templates
13.3 552 NAD Use of typename in the type in a non-type parameter-declaration
13.3 579 open What is a “nested” > or >>?
13.3 867 concepts Naming a specialization of a constrained template
13.3 868 concepts Specifying a concept map in the name of a specialization
13.3 1478 CD6 template keyword for dependent template template arguments
13.3 1794 C++17 template keyword and alias templates
13.3 1812 C++17 Omission of template in a typename-specifier
13.3 2292 CD5 simple-template-id is ambiguous between class-name and type-name
13.3 2450 DRWP braced-init-list as a template-argument
13.3 2903 drafting Can we omit the template disambiguator in nested-name-specifiers in type-only contexts?
13.3 2920 open The template keyword for base classes
13.4 246 CD1 Jumps in function-try-block handlers
13.4 372 CD1 Is access granted by base class specifiers available in following base class specifiers?
13.4 440 NAD Allow implicit pointer-to-member conversion on nontype template argument
13.4 2008 CD4 Default template-arguments underspecified
13.4 2105 open When do the arguments for a parameter pack end?
13.4.2 62 CD1 Unnamed members of classes used as type parameters
13.4.2 2106 CD4 Unclear restrictions on use of function-type template arguments
13.4.3 100 TC1 Clarify why string literals are not allowed as template arguments
13.4.3 354 CD1 Null as nontype template argument
13.4.3 773 C++11 Parentheses in address non-type template arguments
13.4.3 823 CD2 Literal types with constexpr conversions as non-type template arguments
13.4.3 1023 dup thread_local objects as non-type template arguments
13.4.3 1025 C++11 Use of a reference as a non-type template argument
13.4.3 1154 C++11 Address of thread_local variable as non-type template argument
13.4.3 1155 C++11 Internal-linkage non-type template arguments
13.4.3 1398 CD3 Non-type template parameters of type std::nullptr_t
13.4.3 1451 CD4 Objects with no linkage in non-type template arguments
13.4.3 1570 C++14 Address of subobject as non-type template argument
13.4.3 1666 C++14 Address constant expressions
13.4.3 2043 drafting Generalized template arguments and array-to-pointer decay
13.4.3 2049 DRWP List initializer in non-type template default argument
13.4.3 2401 drafting Array decay vs prohibition of subobject non-type arguments
13.4.3 2459 DRWP Template parameter initialization
13.4.4 150 C++17 Template template parameters and default arguments
13.4.4 744 CD2 Matching template arguments with template template parameters with parameter packs
13.4.4 849 concepts Constraints and template template parameters
13.4.4 1592 C++14 When do template parameters match?
13.4.4 2057 drafting Template template arguments with default arguments
13.4.4 2398 drafting Template template parameter matching and deduction
13.5 2961 open Checking of ill-formed types in constraint-expressions
13.5.2 2686 open Pack expansion into a non-pack parameter of a concept
13.5.2.3 2589 review Context of access checks during constraint satisfaction checking
13.6 603 CD1 Type equivalence and unsigned overflow
13.6 679 CD1 Equivalence of template-ids and operator function templates
13.6 1244 C++11 Equivalence of alias templates and class templates
13.6 2037 drafting Alias templates and template declaration matching
13.6 2064 CD4 Conflicting specifications for dependent decltype-specifiers
13.6 2411 C++20 Comparison of pointers to members in template non-type arguments
13.7 1729 CD6 Matching declarations and definitions of variable templates
13.7 1730 drafting Can a variable template have an unnamed type?
13.7.1 2951 open Distinguishing a primary template
13.7.2 824 concepts Constrained special member functions
13.7.2 843 concepts Unclear interaction of constraints and special member functions
13.7.2 1206 C++11 Defining opaque enumeration members of class templates
13.7.2 2062 CD6 Class template redeclaration requirements
13.7.2.2 249 TC1 What is a member function template?
13.7.2.2 1245 C++11 Matching declarations involving decltype
13.7.2.3 2422 C++20 Incorrect grammar for deduction-guide
13.7.2.3 2697 DRWP EWG Deduction guides using abbreviated function syntax
13.7.2.3 2707 DRWP Deduction guides cannot have a trailing requires-clause
13.7.2.3 2913 ready Grammar for deduction-guide has requires-clause in the wrong position
13.7.2.5 408 CD2 sizeof applied to unknown-bound array static data member of template
13.7.3 114 NAD Virtual overriding by template member function specializations
13.7.3 582 CD1 Template conversion functions
13.7.4 1002 NAD Pack expansion for function arguments
13.7.4 1032 C++11 Empty pack expansions
13.7.4 1182 C++11 Incorrect description of pack expansion syntax
13.7.4 1231 C++11 Variadic templates requiring an empty pack expansion
13.7.4 1393 C++17 Pack expansions in using-declarations
13.7.4 1432 C++17 Newly-ambiguous variadic template expansions
13.7.4 1519 NAD Conflicting default and variadic constructors
13.7.4 1533 CD3 Function pack expansion for member initialization
13.7.4 2391 dup Additional template parameters following pack expansion
13.7.4 2611 C++23 Missing parentheses in expansion of fold-expression could cause syntactic reinterpretation
13.7.4 2717 DRWP Pack expansion for alignment-specifier
13.7.5 47 NAD Template friend issues
13.7.5 329 CD1 Evaluation of friends of templates
13.7.5 410 CD1 Paragraph missed in changes for issue 166
13.7.5 638 CD2 Explicit specialization and friendship
13.7.5 674 C++11 “matching specialization” for a friend declaration
13.7.5 1545 NAD friend function templates defined in class templates
13.7.5 1804 CD4 Partial specialization and friendship
13.7.5 1862 CD5 Determining “corresponding members” for friendship
13.7.5 1918 CD5 friend templates with dependent scopes
13.7.5 1945 CD5 Friend declarations naming members of class templates in non-templates
13.7.5 2118 open Stateful metaprogramming via friend injection
13.7.5 2174 C++17 Unclear rules for friend definitions in templates
13.7.5 2261 extension Explicit instantiation of in-class friend definition
13.7.5 2306 NAD Nested friend templates of class templates
13.7.5 2379 CD5 Missing prohibition against constexpr in friend declaration
13.7.6 229 NAD Partial specialization of function templates
13.7.6 286 CD1 Incorrect example in partial specialization
13.7.6 708 open Partial specialization of member templates of class templates
13.7.6 996 C++11 Ambiguous partial specializations of member class templates
13.7.6 1495 CD3 Partial specialization of variadic class template
13.7.6 1647 drafting Type agreement of non-type template arguments in partial specializations
13.7.6 1711 CD6 Missing specification of variable template partial specializations
13.7.6 1754 NAD Declaration of partial specialization of static data member template
13.7.6 2127 drafting Partial specialization and nullptr
13.7.6 2173 open Partial specialization with non-deduced contexts
13.7.6 2916 review Variable template partial specializations should not be declared static
13.7.6.1 517 CD1 Partial specialization following explicit instantiation
13.7.6.1 1315 CD4 Restrictions on non-type template arguments in partial specializations
13.7.6.1 1577 NAD Unnecessary restrictions on partial specializations
13.7.6.1 1819 CD4 Acceptable scopes for definition of partial specialization
13.7.6.1 2033 CD4 Redundant restriction on partial specialization argument
13.7.6.1 2179 drafting Required diagnostic for partial specialization after first use
13.7.6.1 2948 open Late ambiguity for partial template specialization
13.7.6.2 549 drafting Non-deducible parameters in partial specializations
13.7.6.2 2035 CD3 Multi-section example is confusing
13.7.6.4 1755 drafting Out-of-class partial specializations of member templates
13.7.7.2 116 TC1 Equivalent and functionally-equivalent function templates
13.7.7.2 310 open Can function templates differing only in parameter cv-qualifiers be overloaded?
13.7.7.2 1321 CD3 Equivalency of dependent calls
13.7.7.2 1644 NAD Equivalent exception-specifications in function template declarations
13.7.7.2 2021 dup Function template redeclaration via alias template
13.7.7.2 2025 dup Declaration matching via alias templates
13.7.7.2 2045 CD5 “Identical” template parameter lists
13.7.7.2 2584 open Equivalent types in function template declarations
13.7.7.2 2603 C++23 Holistic functional equivalence for function templates
13.7.7.2 2946 open Dependent call equivalence in non-ADL cases
13.7.7.3 23 NAD Some questions regarding partial ordering of function templates
13.7.7.3 200 dup Partial ordering and explicit arguments
13.7.7.3 214 CD1 Partial ordering of function templates is underspecified
13.7.7.3 402 open More on partial ordering of function templates
13.7.7.3 532 C++11 Member/nonmember operator template partial ordering
13.7.7.3 1156 C++11 Partial ordering in a non-call context
13.7.7.3 1157 open Partial ordering of function templates is still underspecified
13.7.7.3 1235 C++11 “Unused” ellipsis and default arguments in partial ordering
13.7.7.3 1406 CD3 ref-qualifiers and added parameters of non-static member function templates
13.7.7.3 1446 CD4 Member function with no ref-qualifier and non-member function with rvalue reference
13.7.7.3 2160 open Issues with partial ordering
13.7.7.3 2373 CD5 Incorrect handling of static member function templates in partial ordering
13.7.7.3 2445 C++20 Partial ordering with rewritten candidates
13.7.7.3 2834 review Partial ordering and explicit object parameters
13.7.7.3 2949 open Treatment of ellipsis during partial ordering
13.7.8 851 concepts Constraints and template aliases
13.7.8 929 CD2 What is a template alias?
13.7.8 1056 C++11 Template aliases, member definitions, and the current instantiation
13.7.8 1158 C++11 Recursive instantiation via alias template
13.7.8 1159 C++11 Class and enumeration definitions in template aliases
13.7.8 1286 drafting Equivalence of alias templates
13.7.8 1349 dup Consistency of alias template redeclarations
13.7.8 1430 open Pack expansion into fixed alias template parameter list
13.7.8 1520 NAD Alias template specialization vs pack expansion
13.7.8 1554 drafting Access and alias templates
13.7.8 1558 CD4 Unused arguments in alias template specializations
13.7.8 1896 CD6 Repeated alias templates
13.7.8 1979 drafting Alias template specialization in template member definition
13.7.8 1980 drafting Equivalent but not functionally-equivalent redeclarations
13.7.8 2236 drafting When is an alias template specialization dependent?
13.7.8 2794 open Uniqueness of lambdas in alias templates
13.7.9 2428 C++23 Deprecating a concept
13.8 120 TC1 Nonexistent non-terminal qualified-name
13.8 121 TC1 Dependent type names with non-dependent nested-name-specifiers
13.8 180 CD1 typename and elaborated types
13.8 183 TC1 typename in explicit specializations
13.8 345 CD1 Misleading comment on example in templates chapter
13.8 375 dup Confusing example on lookup with typename
13.8 382 CD1 Allow typename outside of templates
13.8 409 CD1 Obsolete paragraph missed by changes for issue 224
13.8 559 CD1 Editing error in issue 382 resolution
13.8 560 NAD Use of the typename keyword in return types
13.8 666 CD1 Dependent qualified-ids without the typename keyword
13.8 1161 C++11 Dependent nested-name-specifier in a pointer-to-member declarator
13.8 1162 NAD Dependent elaborated-type-specifiers in non-deduced contexts
13.8 1257 open Instantiation via non-dependent references in uninstantiated templates
13.8 1271 CD5 Imprecise wording regarding dependent types
13.8 1296 CD3 Ill-formed template declarations (not just definitions)
13.8 1483 NAD Non-dependent static_assert-declarations
13.8 1547 NAD typename keyword in alias-declarations
13.8 1785 NAD Conflicting diagnostic requirements for template definitions
13.8 1850 CD4 Differences between definition context and point of instantiation
13.8 1974 NAD Redundant specification of non-type typename-specifier
13.8 2067 open Generated variadic templates requiring empty pack
13.8 2413 CD6 typename in conversion-function-ids
13.8 2461 CD6 Diagnosing non-bool type constraints
13.8.1 2462 drafting Problems with the omission of the typename keyword
13.8.1 2468 drafting Omission of the typename keyword in a member template parameter list
13.8.1 2720 DRWP Template validity rules for templated entities and alias templates
13.8.1 2746 DRWP Checking of default template arguments
13.8.1 2806 DRWP Make a type-requirement a type-only context
13.8.1 2810 DRWP Requiring the absence of diagnostics for templates
13.8.2 186 open Name hiding and template template-parameters
13.8.2 316 NAD Injected-class-name of template used as template template parameter
13.8.2 448 C++11 Set of template functions in call with dependent explicit argument
13.8.2 458 C++11 Hiding of member template parameters by other members
13.8.2 459 NAD Hiding of template parameters by base class members
13.8.2 602 C++11 When is the injected-class-name of a class template a template?
13.8.2 1004 C++11 Injected-class-names as arguments for template template parameters
13.8.2 1841 CD6 < following template injected-class-name
13.8.2 1922 CD4 Injected class template names and default arguments
13.8.2 2508 C++23 Restrictions on uses of template parameter names
13.8.3 213 TC1 Lookup in dependent base classes
13.8.3 515 CD1 Non-dependent references to base class members
13.8.3 524 CD1 Can function-notation calls to operator functions be dependent?
13.8.3 544 NAD Base class lookup in explicit specialization
13.8.3 588 CD2 Searching dependent bases of classes local to function templates
13.8.3 591 CD4 When a dependent base class is the current instantiation
13.8.3 1233 C++11 Pack expansions and dependent calls
13.8.3 1292 CD4 Dependent calls with braced-init-lists containing a pack expansion
13.8.3 1526 dup Dependent-class lookup in the current instantiation
13.8.3 1936 CD6 Dependent qualified-ids
13.8.3 2101 CD4 Incorrect description of type- and value-dependence
13.8.3.2 108 TC1 Are classes nested in templates dependent?
13.8.3.2 224 CD1 Definition of dependent names
13.8.3.2 502 C++11 Dependency of nested enumerations and enumerators
13.8.3.2 590 C++11 Nested classes and the “current instantiation”
13.8.3.2 1043 C++11 Qualified name lookup in the current instantiation
13.8.3.2 1057 C++11 decltype and the current instantiation
13.8.3.2 1160 C++11 Definitions of template members and the current instantiation
13.8.3.2 1281 NAD Virtual and dependent base classes
13.8.3.2 1289 NAD Can an alias template name the current instantiation?
13.8.3.2 1309 CD4 Incorrect note regarding lookup of a member of the current instantiation
13.8.3.2 1390 drafting Dependency of alias template specializations
13.8.3.2 1471 CD3 Nested type of non-dependent base
13.8.3.2 1524 drafting Incompletely-defined class template base
13.8.3.2 1619 open Definition of current instantiation
13.8.3.2 1737 C++14 Type dependence of call to a member of the current instantiation
13.8.3.2 1829 CD6 Dependent unnamed types
13.8.3.2 1905 NAD Dependent types and injected-class-names
13.8.3.2 1988 CD4 Ambiguity between dependent and non-dependent bases in implicit member access
13.8.3.2 2024 CD4 Dependent types and unexpanded parameter packs
13.8.3.2 2065 CD6 Current instantiation of a partial specialization
13.8.3.2 2074 drafting Type-dependence of local class of function template
13.8.3.2 2143 C++17 Value-dependency via injected-class-name
13.8.3.2 2266 CD5 Has dependent type vs is type-dependent
13.8.3.2 2307 CD5 Unclear definition of “equivalent to a nontype template parameter”
13.8.3.2 2457 CD6 Unexpanded parameter packs don't make a function type dependent
13.8.3.2 2936 tentatively ready Local classes of templated functions should be part of the current instantiation
13.8.3.3 334 NAD Is a comma-expression dependent if its first operand is?
13.8.3.3 541 CD2 Dependent function types
13.8.3.3 1779 CD4 Type dependency of __func__
13.8.3.3 2275 drafting Type-dependence of function template
13.8.3.3 2294 CD5 Dependent auto static data members
13.8.3.3 2405 CD6 Additional type-dependent expressions
13.8.3.3 2446 C++20 Questionable type-dependency of concept-ids
13.8.3.3 2487 drafting Type dependence of function-style cast to incomplete array type
13.8.3.3 2600 DRWP Type dependency of placeholder types
13.8.3.3 2785 DRWP Type-dependence of requires-expression
13.8.3.4 447 CD1 Is offsetof type-dependent?
13.8.3.4 903 CD3 Value-dependent integral null pointer constants
13.8.3.4 1047 C++11 When is typeid value-dependent?
13.8.3.4 1074 C++11 Value-dependent noexcept-expressions
13.8.3.4 1088 C++11 Dependent non-type template arguments
13.8.3.4 1413 CD3 Missing cases of value-dependency
13.8.3.4 1899 CD4 Value-dependent constant expressions
13.8.3.4 2066 CD4 Does type-dependent imply value-dependent?
13.8.3.4 2100 C++17 Value-dependent address of static data member of class template
13.8.3.4 2109 CD4 Value dependence underspecified
13.8.3.4 2276 C++17 Dependent noexcept and function type-dependence
13.8.3.4 2774 open Value-dependence of requires-expressions
13.8.3.4 2905 ready Value-dependence of noexcept-expression
13.8.3.5 2090 drafting Dependency via non-dependent base class
13.8.4 2 drafting How can dependent names be used in member declarations that appear outside of the class template definition?
13.8.4 22 TC1 Template parameter with a default argument that refers to itself
13.8.4 1028 CD6 Dependent names in non-defining declarations
13.8.4.1 287 drafting Order dependencies in template instantiation
13.8.4.1 993 C++11 Freedom to perform instantiation at the end of the translation unit
13.8.4.1 1258 CD5 “Instantiation context” differs from dependent lookup rules
13.8.4.1 1845 drafting Point of instantiation of a variable template specialization
13.8.4.1 2245 drafting Point of instantiation of incomplete class template
13.8.4.1 2250 open Implicit instantiation, destruction, and TUs
13.8.4.1 2497 drafting Points of instantiation for constexpr function templates
13.8.4.2 197 CD1 Issues with two-stage lookup of dependent names
13.8.4.2 561 CD2 Internal linkage functions in dependent name lookup
13.8.4.2 1500 CD6 Name lookup of dependent conversion function
13.9 259 CD1 Restrictions on explicit specialization and instantiation
13.9 1253 C++17 Generic non-template members
13.9 2255 CD5 Instantiated static data member templates
13.9 2330 CD5 Missing references to variable templates
13.9 2435 open Alias template specializations
13.9.2 34 NAD Argument dependent lookup and points of instantiation
13.9.2 63 CD1 Class instantiation from pointer conversion to void*, null and self
13.9.2 212 CD4 Implicit instantiation is not described clearly enough
13.9.2 489 NAD Must member function templates be instantiated during overload resolution?
13.9.2 525 CD1 Missing * in example
13.9.2 1378 CD5 When is an instantiation required?
13.9.2 1396 C++23 Deferred instantiation and checking of non-static data member initializers
13.9.2 1484 CD4 Unused local classes of function templates
13.9.2 1602 review Linkage of specialization vs linkage of template arguments
13.9.2 1856 open Indirect nested classes of class templates
13.9.2 2072 C++23 Default argument instantiation for member functions of templates
13.9.2 2202 drafting When does default argument instantiation occur?
13.9.2 2222 drafting Additional contexts where instantiation is not required
13.9.2 2263 drafting Default argument instantiation for friends
13.9.2 2265 drafting Delayed pack expansion and member redeclarations
13.9.2 2596 drafting Instantiation of constrained non-template friends
13.9.2 2655 NAD Instantiation of default arguments in lambda-expressions
13.9.2 2808 review Explicit specialization of defaulted special member function
13.9.2 2893 NAD Instantiations in discarded if constexpr substatements
13.9.3 46 NAD Explicit instantiation of member templates
13.9.3 237 CD1 Explicit instantiation and base class members
13.9.3 293 open Syntax of explicit instantiation/specialization too permissive
13.9.3 470 CD1 Instantiation of members of an explicitly-instantiated class template
13.9.3 546 C++11 Explicit instantiation of class template members
13.9.3 551 CD1 When is inline permitted in an explicit instantiation?
13.9.3 969 CD2 Explicit instantiation declarations of class template specializations
13.9.3 980 CD2 Explicit instantiation of a member of a class template
13.9.3 995 CD2 Incorrect example for using-declaration and explicit instantiation
13.9.3 1045 NAD Requiring explicit instantiation declarations
13.9.3 1046 open What is a “use” of a class specialization?
13.9.3 1163 NAD extern template prevents inlining functions not marked inline
13.9.3 1196 C++11 Definition required for explicit instantiation after explicit specialization?
13.9.3 1532 CD3 Explicit instantiation and member templates
13.9.3 1665 drafting Declaration matching in explicit instantiations
13.9.3 1704 CD5 Type checking in explicit instantiation of variable templates
13.9.3 1728 CD5 Type of an explicit instantiation of a variable template
13.9.3 2161 NAD Explicit instantiation declaration and “preceding initialization”
13.9.3 2270 NAD Non-inline functions and explicit instantiation declarations
13.9.3 2305 CD5 Explicit instantiation of constexpr or inline variable template
13.9.3 2421 drafting Explicit instantiation of constrained member functions
13.9.3 2501 drafting Explicit instantiation and trailing requires-clauses
13.9.3 2848 DRWP Omitting an empty template argument list for explicit instantiation
13.9.4 3 NAD The template compilation model rules render some explicit specialization declarations not visible during instantiation
13.9.4 24 TC1 Errors in examples in 14.7.3
13.9.4 44 CD1 Member specializations
13.9.4 64 TC1 Partial ordering to disambiguate explicit specialization
13.9.4 88 NAD Specialization of member constant templates
13.9.4 182 NAD Access checking on explicit specializations
13.9.4 275 CD1 Explicit instantiation/specialization and using-directives
13.9.4 285 NAD Identifying a function template being specialized
13.9.4 336 CD1 Explicit specialization examples are still incorrect
13.9.4 529 drafting Use of template<> with “explicitly-specialized” class templates
13.9.4 531 C++11 Defining members of explicit specializations
13.9.4 605 C++11 Linkage of explicit specializations
13.9.4 621 C++11 Template argument deduction from function return types
13.9.4 727 C++17 In-class explicit specializations
13.9.4 730 CD2 Explicit specializations of members of non-template classes
13.9.4 884 CD2 Defining an explicitly-specialized static data member
13.9.4 923 CD2 Inline explicit specializations
13.9.4 941 C++11 Explicit specialization of deleted function template
13.9.4 1727 NAD Type of a specialization of a variable template
13.9.4 1792 NAD Incorrect example of explicit specialization of member enumeration
13.9.4 1840 drafting Non-deleted explicit specialization of deleted function template
13.9.4 1876 NAD Preventing explicit specialization
13.9.4 1993 drafting Use of template<> defining member of explicit specialization
13.9.4 1994 dup Confusing wording regarding multiple template<> prefixes
13.9.4 2041 CD4 Namespace for explicit class template specialization
13.9.4 2138 NAD Explicit member specialization vs implicit instantiation
13.9.4 2260 CD5 Explicit specializations of deleted member functions
13.9.4 2409 drafting Explicit specializations of constexpr static data members
13.9.4 2416 C++20 Explicit specializations vs constexpr and consteval
13.9.4 2478 C++23 Properties of explicit specializations of implicitly-instantiated class templates
13.9.4 2604 C++23 Attributes for an explicit specialization
13.9.4 2847 review Constrained explicit specializations of function templates at class scope
13.10.2 241 TC1 Error in example in 14.8.1
13.10.2 264 open Unusable template constructors and conversion functions
13.10.2 581 CD5 Can a templated constructor be explicitly instantiated or specialized?
13.10.2 1386 NAD Explicitly-specified partial argument list with multiple parameter packs
13.10.2 1391 CD4 Conversions to parameter types with non-deduced template arguments
13.10.2 1982 NAD Deduction extending parameter pack
13.10.2 2055 drafting Explicitly-specified non-deduced parameter packs
13.10.2 2200 NAD Conversions in template argument deduction
13.10.2 2608 CD6 Omitting an empty template argument list
13.10.3 271 CD6 Explicit instantiation and template argument deduction
13.10.3 297 NAD Which template does an explicit specialization specialize?
13.10.3 337 CD1 Attempt to create array of abtract type should cause deduction to fail
13.10.3 368 CD1 Uses of non-type parameters that should cause deduction to fail
13.10.3 398 CD1 Ambiguous wording on naming a type in deduction
13.10.3 486 CD1 Invalid return types and template argument deduction
13.10.3 488 CD1 Local types, overload resolution, and template argument deduction
13.10.3 575 C++11 Criteria for deduction failure
13.10.3 657 CD2 Abstract class parameter in synthesized declaration
13.10.3 662 NAD Forming a pointer to a reference type
13.10.3 697 open Deduction rules apply to more than functions
13.10.3 709 C++11 Enumeration names as nested-name-specifiers in deduction failure
13.10.3 1170 C++11 Access checking during template argument deduction
13.10.3 1172 drafting “instantiation-dependent” constructs
13.10.3 1227 CD3 Mixing immediate and non-immediate contexts in deduction failure
13.10.3 1262 CD3 Default template arguments and deduction failure
13.10.3 1273 NAD Accessibility and function signatures
13.10.3 1322 drafting Function parameter type decay in templates
13.10.3 1330 CD3 Delayed instantiation of noexcept specifiers
13.10.3 1462 CD3 Deduction failure vs “ill-formed, no diagnostic required”
13.10.3 1546 NAD Errors in function template default arguments
13.10.3 1582 drafting Template default arguments and deduction failure
13.10.3 1724 CD6 Unclear rules for deduction failure
13.10.3 1809 CD4 Narrowing and template argument deduction
13.10.3 1844 open EWG Defining “immediate context”
13.10.3 2054 DRWP Missing description of class SFINAE
13.10.3 2296 open EWG Are default argument instantiation failures in the “immediate context”?
13.10.3 2322 CD5 Substitution failure and lexical order
13.10.3 2369 CD6 Ordering between constraints and substitution
13.10.3 2896 review Template argument deduction involving exception specifications
13.10.3.1 2498 open Partial specialization failure and the immediate context
13.10.3.1 2618 C++23 Substitution during deduction should exclude exception specifications
13.10.3.1 2650 C++23 Incorrect example for ill-formed non-type template arguments
13.10.3.1 2672 DRWP Lambda body SFINAE is still required, contrary to intent and note
13.10.3.1 2769 open Substitution into template parameters and default template arguments should be interleaved
13.10.3.1 2770 open Trailing requires-clause can refer to function parameters before they are substituted into
13.10.3.2 99 NAD Partial ordering, references and cv-qualifiers
13.10.3.2 352 CD1 Nondeduced contexts
13.10.3.2 503 open Cv-qualified function types in template argument deduction
13.10.3.2 522 CD1 Array-to-pointer decay in template argument deduction
13.10.3.2 606 CD1 Template argument deduction for rvalue references
13.10.3.2 847 CD2 Error in rvalue reference deduction example
13.10.3.2 876 CD2 Type references in rvalue reference deduction specification
13.10.3.2 1014 NAD Overload resolution between const T& and T&&
13.10.3.2 1164 C++11 Partial ordering of f(T&) and f(T&&)
13.10.3.2 1184 C++11 Argument conversions to nondeduced parameter types
13.10.3.2 1326 dup Deducing an array bound from an initializer-list
13.10.3.2 1388 CD3 Missing non-deduced context following a function parameter pack
13.10.3.2 1399 CD3 Deduction with multiple function parameter packs
13.10.3.2 1513 drafting initializer_list deduction failure
13.10.3.2 1584 drafting Deducing function types from cv-qualified types
13.10.3.2 1591 CD4 Deducing array bound and element type from initializer list
13.10.3.2 1671 NAD Unclear rules for deduction with cv-qualification
13.10.3.2 1700 NAD Does the special rvalue-reference deduction apply to alias templates?
13.10.3.2 1939 open Argument conversions to nondeduced parameter types revisited
13.10.3.2 2147 CD4 Initializer-list arguments and pack deduction
13.10.3.2 2303 CD5 Partial ordering and recursive variadic inheritance
13.10.3.2 2326 dup Type deduction with initializer list containing ambiguous functions
13.10.3.3 1486 drafting Base-derived conversion in member pointer deduction
13.10.3.4 322 CD1 Deduction of reference conversions
13.10.3.4 349 CD1 Template argument deduction for conversion functions and qualification conversions
13.10.3.4 493 CD2 Type deduction from a bool context
13.10.3.4 913 CD2 Deduction rules for array- and function-type conversion functions
13.10.3.4 976 CD2 Deduction for const T& conversion operators
13.10.3.4 1372 CD3 Cross-references incorrect in conversion function template argument deduction
13.10.3.4 2384 CD5 Conversion function templates and qualification conversions
13.10.3.4 2651 C++23 Conversion function templates and "noexcept"
13.10.3.5 885 NAD Partial ordering of function templates with unordered parameter pairs
13.10.3.5 1221 open Partial ordering and reference collapsing
13.10.3.5 1337 dup Partial ordering and non-deduced parameters
13.10.3.5 1610 drafting Cv-qualification in deduction of reference to array
13.10.3.5 1705 CD4 Unclear specification of “more specialized”
13.10.3.5 1825 C++17 Partial ordering between variadic and non-variadic function templates
13.10.3.5 2088 CD5 Late tiebreakers in partial ordering
13.10.3.5 2235 CD5 Partial ordering and non-dependent types
13.10.3.5 2350 NAD Forwarding references and deduction guides
13.10.3.6 70 CD1 Is an array bound a nondeduced context?
13.10.3.6 181 TC1 Errors in template template-parameter example
13.10.3.6 300 CD1 References to functions in template argument deduction
13.10.3.6 469 NAD Const template specializations and reference arguments
13.10.3.6 526 CD1 Confusing aspects in the specification of non-deduced contexts
13.10.3.6 586 NAD Default template-arguments and template argument deduction
13.10.3.6 692 C++11 Partial ordering of variadic class template partial specializations
13.10.3.6 873 C++11 Deducing rvalue references in declarative contexts
13.10.3.6 1371 NAD Deduction from T&& in return types
13.10.3.6 1387 CD3 Missing non-deduced context for decltype
13.10.3.6 1395 C++17 Partial ordering of variadic templates reconsidered
13.10.3.6 1569 C++14 Deducing a function parameter pack before ellipsis
13.10.3.6 1763 open Length mismatch in template type deduction
13.10.3.6 1770 C++14 Type matching of non-type template parameters and arguments
13.10.3.6 1847 CD4 Clarifying compatibility during partial ordering
13.10.3.6 2091 CD4 Deducing reference non-type template arguments
13.10.3.6 2318 CD5 Nondeduced contexts in deduction from a braced-init-list
13.10.3.6 2328 drafting Unclear presentation style of template argument deduction rules
13.10.3.6 2355 CD6 Deducing noexcept-specifiers
13.10.3.6 2900 open Deduction of non-type template arguments with placeholder types
13.10.3.7 1178 C++11 Deduction failure matching placement new
13.10.4 415 CD1 Template deduction does not cause instantiation
13.10.4 947 NAD Deducing type template arguments from default function arguments
13.10.4 2092 CD5 Deduction failure and overload resolution
14 98 TC1 Branching into try block
14 211 NAD Constructors should not be allowed to return normally after an exception
14 1431 CD3 Exceptions from other than throw-expressions
14.2 104 NAD Destroying the exception temp when no handler is found
14.2 208 CD1 Rethrowing exceptions in nested handlers
14.2 428 CD1 Mention of expression with reference type
14.2 479 CD1 Copy elision in exception handling
14.2 499 CD2 Throwing an array of unknown size
14.2 828 CD2 Destruction of exception objects
14.2 1503 CD3 Exceptions during copy to exception object
14.2 1667 NAD Function exiting via exception called by destructor during unwinding
14.2 1863 CD4 Requirements on thrown object type to support std::current_exception()
14.2 2775 DRWP Unclear argument type for copy of exception object
14.2 2854 DRWP Storage duration of exception objects
14.3 592 CD1 Exceptions during construction of local static objects
14.3 1165 C++11 Exceptions when destroying array elements
14.3 1424 C++14 When must sub-object destructors be accessible?
14.3 1624 NAD Destruction of union members with member initializers
14.3 1774 CD4 Discrepancy between subobject destruction and stack unwinding
14.3 1807 CD4 Order of destruction of array elements after an exception
14.3 1866 CD4 Initializing variant members with non-trivial destructors
14.3 2209 NAD Destruction of constructed array elements
14.3 2210 NAD Principal/target constructor confusion
14.3 2426 C++20 Reference to destructor that cannot be invoked
14.3 2601 C++23 Tracking of created and destroyed subobjects
14.4 210 TC1 What is the type matched by an exception handler?
14.4 308 NAD Catching exceptions with ambiguous base classes
14.4 388 CD3 Catching base*& from a throw of derived*
14.4 593 NAD Falling off the end of a destructor's function-try-block handler
14.4 729 CD3 Qualification conversions and handlers of reference-to-pointer type
14.4 971 C++11 Incorrect treatment of exception-declarations
14.4 1166 C++11 exception-declarations that do not declare objects
14.4 1218 C++11 What is the “currently-handled exception” in a multi-threaded program?
14.4 1769 C++14 Catching a base class of the exception object
14.4 2093 CD4 Qualification conversion for pointer-to-member handler matching
14.4 2172 drafting Multiple exceptions with one exception object
14.4 2219 drafting Dynamically-unreachable handlers
14.5 25 TC1 Exception specifications and pointers to members
14.5 87 CD1 Exception specifications on function parameters
14.5 92 CD4 Should exception-specifications be part of the type system?
14.5 126 TC1 Exception specifications and const
14.5 133 dup Exception specifications and checking
14.5 346 NAD Typo in 15.4
14.5 595 dup Exception specifications in templates instantiated from class bodies
14.5 829 NAD At what point is std::unexpected called?
14.5 830 CD2 Deprecating exception specifications
14.5 973 CD2 Function types in exception-specifications
14.5 1053 NAD Terminate vs undefined behavior for noexcept violation
14.5 1073 C++11 Merging dynamic-exception-specifications and noexcept-specifications
14.5 1167 C++11 function-try-blocks for destructors
14.5 1216 C++11 Exceptions “allowed” by a noexcept-specification
14.5 1267 CD3 Rvalue reference types in exception-specifications
14.5 1282 CD3 Underspecified destructor exception-specification
14.5 1351 CD4 Problems with implicitly-declared exception-specifications
14.5 1356 CD4 Exception specifications of copy assignment operators with virtual bases
14.5 1381 CD3 Implicitly-declared special member functions and default nothrow
14.5 1639 CD4 exception-specifications and pointer/pointer-to-member expressions
14.5 1740 C++14 Disambiguation of noexcept
14.5 1777 CD4 Empty pack expansion in dynamic-exception-specification
14.5 1798 NAD exception-specifications of template arguments
14.5 1934 NAD Relaxing exception-specification compatibility requirements
14.5 1946 CD4 exception-specifications vs pointer dereference
14.5 1975 CD4 Permissible declarations for exception-specifications
14.5 1995 CD4 exception-specifications and non-type template parameters
14.5 2010 CD4 exception-specifications and conversion operators
14.5 2039 CD4 Constant conversions to bool
14.5 2047 CD4 Coordinating “throws anything” specifications
14.5 2183 NAD Problems in description of potential exceptions
14.5 2191 C++17 Incorrect result for noexcept(typeid(v))
14.5 2216 NAD Exception specifications in unevaluated contexts
14.5 2336 CD5 Destructor characteristics vs potentially-constructed subobjects
14.5 2417 open Explicit instantiation and exception specifications
14.5 2420 dup Exception specifications in explicit instantiation
14.6.2 219 NAD Cannot defend against destructors that throw exceptions
14.6.2 668 CD2 Throwing an exception from the destructor of a local static object
14.6.2 1168 C++11 Additional reasons to call std::terminate
14.6.2 1171 C++11 Partial stack unwinding with noexcept violation
14.6.3 37 NAD When is uncaught_exception() true?
14.6.3 475 C++11 When is std::uncaught_exception() true? (take 2)
14.6.3 2034 NAD Deprecating uncaught_exception()
14.6.3 2098 CD4 Is uncaught_exceptions() per-thread?
15 394 CD1 identifier-list is never defined
15 2001 CD4 non-directive is underspecified
15 2002 open WG14 White space within preprocessing directives
15.1 2927 tentatively ready Unclear status of translation unit with module keyword
15.2 601 CD2 WG14 Type of literals in preprocessing expressions
15.2 618 CD2 WG14 Casts in preprocessor conditional expressions
15.2 925 open Type of character literals in preprocessor expressions
15.2 1436 open Interaction of constant expression changes with preprocessor expressions
15.2 1955 CD4 WG14 #elif with invalid controlling expression
15.2 2190 open Insufficient specification of __has_include
15.2 2390 CD5 Is the argument of __has_cpp_attribute macro-expanded?
15.2 2575 open SG12 Undefined behavior when macro-replacing "defined" operator
15.2 2615 C++23 Missing __has_cpp_attribute(assume)
15.3 370 CD1 Can #include <...> form be used other than for standard C++ headers?
15.3 533 NAD Special treatment for C-style header names
15.3 1720 NAD Macro invocation in #include directive
15.3 2576 open SG12 Undefined behavior with macro-expanded #include directives
15.4 2947 open Limiting macro expansion in pp-module
15.5 2667 C++23 Named module imports do not import macros
15.6 1370 CD3 identifier-list cannot contain ellipsis
15.6 1718 drafting WG14 Macro invocation spanning end-of-file
15.6 2003 drafting Zero-argument macros incorrectly specified
15.6.1 2577 open SG12 Undefined behavior for preprocessing directives in macro arguments
15.6.3 626 CD2 Preprocessor string literals
15.6.3 1335 CD6 WG14 Stringizing, extended characters, and universal-character-names
15.6.3 1625 open WG14 Adding spaces between tokens in stringizing
15.6.3 1709 drafting Stringizing raw string literals containing newline
15.6.3 2578 open SG12 Undefined behavior when creating an invalid string literal via stringizing
15.6.4 2522 open WG14 Removing placemarker tokens and retention of whitespace
15.6.4 2579 open SG12 Undefined behavior when token pasting does not create a preprocessing token
15.6.5 268 open WG14 Macro name suppression in rescanned replacement text
15.7 2580 open SG12 Undefined behavior with #line
15.7 2693 open WG14 Escape sequences for the string-literal of #line
15.7 2908 ready Counting physical source lines for __LINE__
15.8 745 C++23 Effect of ill-formedness resulting from #error
15.9 1889 drafting Unclear effect of #pragma on conformance
15.11 1169 C++11 Missing feature macro for strict pointer safety
15.11 2581 open SG12 Undefined behavior for predefined macros
15.11 2652 C++23 Overbroad definition of __STDCPP_BFLOAT16_T__
15.11 2659 C++23 Missing feature-test macro for lifetime extension in range-for loop
15.12 897 open _Pragma and extended string-literals
15.12 2694 open WG14 string-literals of the _Pragma operator
17.2.4 2784 open EWG Unclear definition of member-designator for offsetof
17.3.5.2 2193 NAD numeric_limits<int>::radix and digits
17.4.1 1277 NAD Lax definition of intmax_t and uintmax_t
17.6.3.3 2014 NAD Unneeded deallocation signatures
17.6.3.4 79 dup Alignment and placement new
17.6.5 2464 CD6 Constexpr launder and unions
17.13.3 2361 open Unclear description of longjmp undefined behavior
22.15.3 2482 CD6 bit_cast and indeterminate values
Annex A 266 NAD No grammar sentence symbol
Annex B 831 CD2 Limit on recursively nested template instantiations
Annex B 1329 CD3 Recursive deduction substitutions
Annex B 1675 NAD Size limit for automatic array object
Annex B 1933 NAD Implementation limit for initializer-list elements
Annex B 2181 C++20 Normative requirements in an informative Annex
Annex B 2622 C++23 Compounding types from function and pointer-to-member types
Annex B 2891 DR Normative status of implementation limits
Annex C 81 NAD Null pointers and C compatibility
Annex C 1944 open New C incompatibilities
Annex C 2407 C++23 Missing entry in Annex C for defaulted comparison operators
Annex D 223 CD3 The meaning of deprecation
Annex E 2636 C++23 Update Annex E based on Unicode 15.0 UAX #31
C.4 2038 CD4 Document C++14 incompatibility of new braced deduction rule
C.6 1279 drafting Additional differences between C++ 2003 and C++ 2011
C.6 1377 dup Access declarations not mentioned in Annex C
C.6.3 2031 CD4 Missing incompatibility for &&
C.6.3 2887 DR Missing compatibility entries for xvalues
C.6.4 2772 DRWP Missing Annex C entry for linkage effects of linkage-specification
C.7 1248 open Updating Annex C to C99 and C23
C.7.4 2184 CD4 Missing C compatibility entry for decrement of bool
C.7.4 2875 review Missing support for round-tripping null pointer values through indirection/address operators
D.7 145 TC1 Deprecation of prefix ++
unknown 106 CD1 Creating references to references during template deduction/instantiation