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 |
drafting |
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.53 |
2520 |
C++23 |
|
Template signature and default template arguments
|
3.57 |
2124 |
CD4 |
|
Signature of constructor template
|
3.65 |
2924 |
DR |
|
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 |
DR |
|
Grammar for preprocessing-file has no normative effect
|
5.3.1 |
173 |
TC1 |
|
Constraints on execution character set
|
5.3.1 |
558 |
CD1 |
|
Excluded characters in universal character names
|
5.3.1 |
630 |
CD2 |
|
Equality of narrow and wide character values in the basic character set
|
5.3.1 |
788 |
CD2 |
|
Relationship between locale and values of the execution character set
|
5.3.1 |
1332 |
CD5 |
|
Handling of invalid universal-character-names
|
5.3.1 |
1796 |
CD4 |
|
Is all-bits-zero for null characters a meaningful requirement?
|
5.3.1 |
2640 |
C++23 |
|
Allow more characters in an n-char sequence
|
5.3.1 |
2779 |
open |
|
Restrictions on the ordinary literal encoding
|
5.4 |
1403 |
CD6 |
|
Universal-character-names in comments
|
5.5 |
369 |
drafting |
|
Are new/delete identifiers or preprocessing-op-or-punc?
|
5.5 |
1655 |
drafting |
|
Line endings in raw string literals
|
5.5 |
2000 |
CD4 |
|
header-name outside #include directive
|
5.5 |
2574 |
DRWP |
SG12 |
Undefined behavior when lexing unmatched quotes
|
5.7 |
832 |
CD2 |
|
Value of preprocessing numbers
|
5.8 |
189 |
drafting |
|
Definition of operator and punctuator
|
5.9 |
985 |
C++11 |
|
Alternative tokens and user-defined literals
|
5.9 |
1104 |
C++11 |
|
Global-scope template arguments vs the <: digraph
|
5.9 |
2726 |
review |
EWG |
Alternative tokens appearing as attribute-tokens
|
5.10 |
1901 |
drafting |
|
punctuator referenced but not defined
|
5.11 |
1105 |
C++11 |
|
Issues relating to TR 10176:2003
|
5.11 |
1963 |
CD4 |
|
Implementation-defined identifier characters
|
5.11 |
1972 |
CD6 |
|
Identifier character restrictions in non-identifiers
|
5.11 |
2818 |
DRWP |
|
Use of predefined reserved identifiers
|
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 |
DRWP |
|
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 |
DRWP |
|
Definition of "odr-usable" ignores lambda scopes
|
6.3 |
2910 |
DR |
|
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 |
2969 |
open |
|
Scopes in the function-try-block of a constructor
|
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.4.9 |
2965 |
open |
|
Generic lambdas do not have a template parameter scope
|
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.1 |
2968 |
open |
|
Name lookup result for typedef-name vs. class-name
|
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 |
drafting |
|
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 |
DRWP |
|
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 |
DR |
|
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 |
649 |
CD1 |
|
Optionally ill-formed extended alignment requests
|
6.7.3 |
1090 |
C++11 |
|
Alignment of subobjects
|
6.7.3 |
1115 |
C++11 |
|
C-compatible alignment specification
|
6.7.3 |
1180 |
C++11 |
|
Over-aligned class types
|
6.7.3 |
1211 |
drafting |
|
Misaligned lvalues
|
6.7.3 |
1879 |
NAD |
|
Inadequate definition of alignment requirement
|
6.7.3 |
2354 |
CD5 |
|
Extended alignment and object representation
|
6.7.3 |
2719 |
DRWP |
|
Creating objects in misaligned storage
|
6.7.3 |
2840 |
open |
|
Missing requirements for fundamental alignments
|
6.7.4 |
89 |
TC1 |
|
Object lifetime does not account for reference rebinding
|
6.7.4 |
93 |
TC1 |
|
Missing word in 3.8 basic.life paragraph 2
|
6.7.4 |
119 |
CD1 |
|
Object lifetime and aggregate initialization
|
6.7.4 |
234 |
NAD |
|
Reuse of base class subobjects
|
6.7.4 |
274 |
CD1 |
|
Cv-qualification and char-alias access to out-of-lifetime objects
|
6.7.4 |
404 |
CD1 |
|
Unclear reference to construction with non-trivial constructor
|
6.7.4 |
419 |
open |
|
Can cast to virtual base class be done on partially-constructed object?
|
6.7.4 |
594 |
CD1 |
|
Coordinating issues 119 and 404 with delegating constructors
|
6.7.4 |
597 |
CD3 |
|
Conversions applied to out-of-lifetime non-POD lvalues
|
6.7.4 |
793 |
CD2 |
|
Use of class members during destruction
|
6.7.4 |
1027 |
review |
|
Type consistency and reallocation of scalar types
|
6.7.4 |
1050 |
NAD |
|
Effects of thread support on object lifetime
|
6.7.4 |
1114 |
C++11 |
|
Incorrect use of placement new in example
|
6.7.4 |
1116 |
CD4 |
|
Aliasing of union members
|
6.7.4 |
1280 |
NAD |
|
Object reallocation and reference members
|
6.7.4 |
1284 |
CD4 |
|
Should the lifetime of an array be independent of that of its elements?
|
6.7.4 |
1285 |
NAD |
|
Trivial destructors and object lifetime
|
6.7.4 |
1530 |
drafting |
|
Member access in out-of-lifetime objects
|
6.7.4 |
1751 |
CD4 |
|
Non-trivial operations vs non-trivial initialization
|
6.7.4 |
1776 |
CD4 |
|
Replacement of class objects containing reference members
|
6.7.4 |
1853 |
dup |
|
Defining “allocated storage”
|
6.7.4 |
2256 |
CD5 |
|
Lifetime of trivially-destructible objects
|
6.7.4 |
2258 |
open |
|
Storage deallocation during period of destruction
|
6.7.4 |
2514 |
open |
SG12 |
Modifying const subobjects
|
6.7.4 |
2551 |
review |
|
"Refers to allocated storage" has no meaning
|
6.7.4 |
2625 |
C++23 |
|
Deletion of pointer to out-of-lifetime object
|
6.7.4 |
2665 |
NAD |
|
Replacing a subobject with a complete object
|
6.7.4 |
2676 |
open |
|
Replacing a complete object having base subobjects
|
6.7.4 |
2677 |
review |
|
Replacing union subobjects
|
6.7.4 |
2721 |
DRWP |
|
When exactly is storage reused?
|
6.7.4 |
2821 |
review |
|
Lifetime, zero-initialization, and dynamic initialization
|
6.7.4 |
2860 |
dup |
|
Remove and fix the term "vacuous initialization"
|
6.7.4 |
2863 |
drafting |
|
Unclear synchronization requirements for object lifetime rules
|
6.7.4 |
2952 |
open |
|
Vacuous initialization for subobjects
|
6.7.4 |
2960 |
open |
|
Introduce discontiguous object lifetime
|
6.7.5 |
1997 |
DRWP |
|
Placement new and previous initialization
|
6.7.6 |
365 |
open |
|
Storage duration and temporaries
|
6.7.6 |
1634 |
drafting |
|
Temporary storage duration
|
6.7.6 |
2012 |
CD4 |
|
Lifetime of references
|
6.7.6 |
2533 |
DRWP |
|
Storage duration of implicitly created objects
|
6.7.6 |
2850 |
DRWP |
|
Unclear storage duration for function parameter objects
|
6.7.6.1 |
2019 |
CD4 |
|
Member references omitted from description of storage duration
|
6.7.6.1 |
2822 |
DRWP |
|
Side-effect-free pointer zap
|
6.7.6.4 |
1956 |
CD4 |
|
Reuse of storage of automatic variables
|
6.7.6.5 |
967 |
NAD |
|
Exception specification of replacement allocation function
|
6.7.6.5 |
1948 |
NAD |
|
exception-specification of replacement global new
|
6.7.6.5.2 |
521 |
CD1 |
|
Requirements for exceptions thrown by allocation functions
|
6.7.6.5.2 |
1338 |
CD4 |
|
Aliasing and allocation functions
|
6.7.6.5.2 |
1676 |
drafting |
|
auto return type for allocation and deallocation functions
|
6.7.6.5.2 |
1682 |
open |
|
Overly-restrictive rules on function templates as allocation functions
|
6.7.6.5.2 |
1910 |
CD5 |
|
“Shall” requirement applied to runtime behavior
|
6.7.6.5.2 |
2073 |
drafting |
|
Allocating memory for exception objects
|
6.7.6.5.2 |
2207 |
CD5 |
|
Alignment of allocation function return value
|
6.7.6.5.2 |
2238 |
NAD |
|
Contradictory alignment requirements for allocation
|
6.7.6.5.3 |
220 |
CD1 |
|
All deallocation functions should be required not to throw
|
6.7.6.5.3 |
312 |
CD3 |
|
“use” of invalid pointer value not defined
|
6.7.6.5.3 |
348 |
CD1 |
|
delete and user-written deallocation functions
|
6.7.6.5.3 |
523 |
open |
|
Can a one-past-the-end pointer be invalidated by deleting an adjacent object?
|
6.7.6.5.3 |
623 |
CD3 |
|
Use of pointers to deallocated storage
|
6.7.6.5.3 |
2042 |
drafting |
|
Exceptions and deallocation functions
|
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 |
DRWP |
|
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.2 |
2966 |
open |
|
Alignment and value representation of std::nullptr_t
|
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 |
DRWP |
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.2 |
2970 |
open |
|
Races with volatile sig_atomic_t bit-fields
|
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 |
drafting |
|
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 |
DR |
|
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 |
DR |
|
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 |
DR |
|
Bad value representations should cause undefined behavior
|
7.3.2 |
2964 |
open |
|
Reading "invalid pointer values"
|
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 |
DRWP |
|
Unclear usual arithmetic conversions
|
7.5.3 |
2869 |
DRWP |
|
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 |
WP |
|
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 |
DRWP |
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 |
DRWP |
|
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 |
DR |
|
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 |
DR |
|
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 |
DR |
|
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 |
review |
|
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 |
open |
|
Explicit casts to reference types
|
7.6.1.7 |
2365 |
CD5 |
|
Confusing specification for dynamic_cast
|
7.6.1.7 |
2861 |
DRWP |
|
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 |
DRWP |
|
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 |
DR |
|
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 |
DR |
|
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 |
DRWP |
|
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 |
WP |
|
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 |
DRWP |
|
Regression on result of conditional operator
|
7.6.16 |
2906 |
DR |
|
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 |
DR |
|
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 |
WP |
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 |
DR |
|
Constant lvalue-to-rvalue conversion on uninitialized std::nullptr_t
|
7.7 |
2909 |
DR |
|
Subtle difference between constant-initialized and constexpr
|
7.7 |
2922 |
DR |
|
constexpr placement-new is too permissive
|
7.7 |
2962 |
open |
|
Evaluation of destructor call for variable with constant destruction
|
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 |
DRWP |
|
Syntactic disambiguation and trailing-return-types
|
8.9 |
1616 |
CD6 |
|
Disambiguation parsing and template parameters
|
8.9 |
2963 |
open |
|
Paradoxical variable-or-function declaration
|
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 |
DRWP |
|
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 |
DR |
|
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 |
DRWP |
|
Value-initialization with multiple default constructors
|
9.4.1 |
2895 |
DRWP |
|
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 |
DRWP |
|
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 |
DRWP |
|
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 |
DRWP |
|
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 |
WP |
|
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 |
DRWP |
|
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 |
DRWP |
|
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 |
DR |
|
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 |
DRWP |
|
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 |
DR |
|
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 |
DRWP |
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 |
DR |
|
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 |
DR |
|
Conversion function candidates for initialization of const lvalue reference
|
12.2.2.7 |
2967 |
open |
|
Explicit conversion functions
|
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 |
DR |
|
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 |
DR |
|
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 |
DR |
|
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 |
DR |
|
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 |
DR |
|
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 |
DR |
|
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 |
DR |
|
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 |
DR |
|
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.11.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 |
DRWP |
|
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 |
DRWP |
|
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.6 |
145 |
TC1 |
|
Deprecation of prefix ++
|
unknown |
106 |
CD1 |
|
Creating references to references during template deduction/instantiation
|