C++ Defect Report Support in GCC
This table tracks the implementation status of C++ defect reports in GCC. It is based on C++ Standard Core Language Issue Table of Contents, Revision 118 (here).
DR #
Status
Title
GCC status
Notes
TC1
What if two using-declarations refer to the same function but the declarations introduce different default-arguments?
?
drafting
How can dependent names be used in member declarations that appear outside of the class template definition?
-
NAD
The template compilation model rules render some explicit specialization declarations not visible during instantiation
?
CD1
Does extern "C" affect the linkage of function names with internal linkage?
?
CD1
CV-qualifiers and type conversions
?
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?
N/A
NAD
Can a class with a private virtual base class be derived from?
No
CD1
Access to template arguments used in a function return type and in the nested name specifier
Dup of 45
CD1
Clarification of access to base class members
?
CD1
Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?
Dup of 45
CD1
How do the keywords typename/template interact with using-declarations?
?
dup
Default arguments on different declarations for the same function and the Koenig lookup
?
NAD
extern "C" for Parameters of Function Templates
?
NAD
extern "C" functions and declarations in different namespaces
?
dup
Default arguments for parameters of function templates
?
CD1
Access to members of indirect private base classes
?
NAD
Footnote 99 should discuss the naming class when describing members that can be accessed from friends
?
NAD
f(TYPE) where TYPE is void should be allowed
?
NAD
Clarify protected member access
?
TC1
Some clarifications needed for 12.8 para 15
?
TC1
Can a default argument for a template parameter appear in a friend declaration?
?
TC1
Template parameter with a default argument that refers to itself
?
NAD
Some questions regarding partial ordering of function templates
?
TC1
Errors in examples in 14.7.3
N/A
TC1
Exception specifications and pointers to members
?
NAD
Copy constructors and default arguments
?
NAD
Overload ambiguities for builtin ?: prototypes
?
CD1
'exit', 'signal' and static object destruction
N/A (Library DR)
CD1
Linkage of locally declared functions
?
TC1
Valid uses of "::template"
?
NAD
Looking up new/delete
?
TC1
Clarification of explicit instantiation of non-exported templates
?
TC1
Argument dependent lookup and overloaded functions
?
NAD
Argument dependent lookup and points of instantiation
?
TC1
Definition of default-initialization
?
CD6
_using-declaration_s in multiple-declaration contexts
No
NAD
When is uncaught_exception() true?
?
TC1
Explicit template arguments and operator functions
?
CD1
Conflicting ambiguity rules
?
TC1
Syntax of declarator-id
?
TC1
Clarification of lookup of names after declarator-id
?
NAD
Redefining names from base classes
?
TC1
Copying base classes (PODs) using memcpy
?
CD1
Member specializations
?
CD1
Access to nested classes
Yes
NAD
Explicit instantiation of member templates
?
NAD
Template friend issues
?
TC1
Definitions of unused static members
?
TC1
Restriction on non-type, non-value template arguments
?
NAD
Converting pointer to incomplete type to same type
?
TC1
Overloading and user-defined conversions
?
TC1
Non-static members, member selection and access checking
?
TC1
Lvalue-to-rvalue conversion before certain static_casts
?
CD1
Static_cast from private base to derived class
?
NAD
Adding/subtracting pointer and enumeration value
?
TC1
Redeclaring typedefs within classes
Yes
open
Empty unions
-
CD1
Signedness of bit fields of enum type
?
TC1
Clarification of overloading and UDC to reference type
?
CD1
Reference binding and valid conversion sequences
?
NAD
Address of static member function "&p->f"
?
CD1
Unnamed members of classes used as type parameters
?
CD1
Class instantiation from pointer conversion to void*, null and self
?
TC1
Partial ordering to disambiguate explicit specialization
?
TC1
Typo in default argument example
N/A
NAD
Visibility of default args vs overloads added after using-declaration
?
TC1
Evaluation of left side of object-expression
?
TC1
Grammar does not allow "friend class A;"
?
TC1
Storage class specifiers on template declarations
?
CD1
Is an array bound a nondeduced context?
?
NAD
Incorrect cross reference
N/A
dup
Linkage and storage class specifiers for templates
?
TC1
Pointer equality
?
TC1
Enumeration value in direct-new-declarator
?
TC1
In-class initialized members must be const
?
TC1
Are const volatile variables considered "constant expressions"?
?
CD1
The definition of friend does not allow nested classes to be friends
?
CD1
Section 8.5 paragraph 9 should state it only applies to non-static objects
?
dup
Alignment and placement new
?
TC1
Class members with same name as class
?
NAD
Null pointers and C compatibility
?
dup
Definition of "using" a constant expression
?
TC1
Overloading and deprecated conversion of string literal
?
TC1
Overloading and conversion loophole used by auto_ptr
?
TC1
Redeclaration of member class
?
CD1
Lifetime of temporaries in query expressions
?
CD1
Exception specifications on function parameters
?
NAD
Specialization of member constant templates
?
TC1
Object lifetime does not account for reference rebinding
?
TC1
Should the enclosing class be an "associated class" too?
?
NAD
A union's associated types should include the union itself
?
CD4
Should _exception-specification_s be part of the type system?
?
TC1
Missing word in 3.8 basic.life paragraph 2
?
TC1
Inconsistencies in the descriptions of constant expressions
?
NAD
Elaborated type specifiers referencing names declared in friend decls
?
C++11
Syntactic disambiguation using the template keyword
No
NAD
Use of bool constants in integral constant expressions
?
TC1
Branching into try block
?
NAD
Partial ordering, references and cv-qualifiers
?
TC1
Clarify why string literals are not allowed as template arguments
?
TC1
Redeclaration of extern "C" names via using-declarations
?
NAD
Operator lookup rules do not work well with parts of the library
?
TC1
Is it extended-namespace-definition or extension-namespace-definition ?
?
NAD
Destroying the exception temp when no handler is found
?
TC1
Meaning of "template function"
?
CD1
Creating references to references during template deduction/instantiation
?
NAD
Linkage of operator functions
?
TC1
Are classes nested in templates dependent?
?
NAD
Allowing ::template in _using-declaration_s
?
CD6
Can template functions and classes be declared in the same scope?
?
NAD
Copy constructors and cv-qualifiers
?
CD1
Array types and cv-qualifiers
?
CD1
Visibility of called function
?
NAD
Virtual overriding by template member function specializations
?
CD1
Address of template-id
?
TC1
Equivalent and functionally-equivalent function templates
?
NAD
Timing of destruction of temporaries
?
CD1
Calls via pointers to virtual member functions
?
CD1
Object lifetime and aggregate initialization
?
TC1
Nonexistent non-terminal qualified-name
?
TC1
Dependent type names with non-dependent _nested-name-specifier_s
?
CD1
_template-id_s as _unqualified-id_s
?
TC1
Bad cross-reference
?
CD1
Lifetime of temporaries in default initialization of class arrays
12
CD1
Ambiguity in friend declaration syntax
?
TC1
Exception specifications and const
?
TC1
Ambiguity in description of matching deallocation function
?
TC1
Casting between enum types
?
CD3
Stability of uninitialized auto variables
?
NAD
Sequence points and _new-expression_s
?
TC1
Typo in Lao characters
?
NAD
Local types and linkage
?
dup
Exception specifications and checking
?
TC1
Template classes and _declarator-id_s
?
TC1
Class type in in-class member function definitions
?
CD1
Default arguments and friend declarations
?
TC1
static_cast of cv void*
?
CD6
Friend declaration name lookup
?
CD1
Error in friend lookup example
?
CD1
Agreement of parameter declarations
?
CD1
Non-member function templates in member access expressions
?
TC1
Injection-related errors in access example
?
CD1
Friends and Koenig lookup
?
open
Position of friend specifier
-
TC1
Deprecation of prefix ++
?
open
Floating-point zero
-
TC1
Naming the constructor
?
TC1
POD classes and pointers to members
?
TC1
Accessibility and ambiguity
?
C++17
Template template parameters and default arguments
?
TC1
Terminology of zero-initialization
?
TC1
explicit copy constructors
?
TC1
Misleading wording (rank of conversion)
?
NAD
Anonymous unions in unnamed namespaces
?
dup
Brace initializer for scalar
?
NAD
Name lookup for conversion functions
N/A
open
Omitted typedef declarator
-
CD1
Aliasing and qualification conversions
?
TC1
Namespace qualification in declarators
?
CD1
Missing std:: qualification
?
TC1
Access to protected nested type
?
CD1
(&C::f)() with nonstatic members
?
TC1
Description of subaggregate initializer
?
TC1
Overlap between Koenig and normal lookup
?
NAD
Definitions of friends and block-scope externs
?
TC1
Friend declarations of _template-id_s
?
NAD
Deprecating static functions
?
NAD
C linkage for static member functions
?
NAD
_template-id_s in _using-declaration_s
?
DRWP
Pointer-to-member conversions
?
TC1
Global namespace scope
?
CD1
Unsigned int as underlying type of enum
?
TC1
Constraints on execution character set
?
NAD
Undeprecating global static
?
CD1
Class name injection and base name access
?
TC1
Name injection and templates
?
CD1
Lvalues vs rvalues in copy-initialization
?
TC1
More on value-initialization
?
TC1
Function pointers and subtraction
?
CD1
typename and elaborated types
?
TC1
Errors in template template-parameter example
?
NAD
Access checking on explicit specializations
?
TC1
typename in explicit specializations
?
CD1
Default arguments in template _template-parameter_s
?
TC1
"Named" temporaries and copy elision
?
open
Name hiding and template _template-parameter_s
-
TC1
Scope of template parameter names
?
TC1
Comma operator and rvalue conversion
Yes
drafting
Definition of operator and punctuator
-
TC1
Layout-compatible POD-struct types
?
CD6
Name lookup does not handle complex nesting
?
NAD
Name lookup in parameters
N/A
TC1
Order of destruction of local automatics of destructor
?
TC1
Identifying constructors
?
CD1
Converting between function and object pointers
?
open
Arguments to deallocation functions
-
CD1
Issues with two-stage lookup of dependent names
?
CD1
Definition of "use" in local and nested classes
?
CD1
Order of destruction of temporaries
?
dup
Partial ordering and explicit arguments
?
CD1
Order of destruction of temporaries in initializers
12
TC1
Use of overloaded function name
?
NAD
Type of address-of-member expression
?
CD1
Exported class templates
?
drafting
Templates and static data members
-
TC1
Semantic constraints on non-dependent names
?
CD1
_using-declaration_s and protected access
?
CD1
Rethrowing exceptions in nested handlers
?
NAD
Must friend declaration names be accessible?
?
TC1
What is the type matched by an exception handler?
?
NAD
Constructors should not be allowed to return normally after an exception
?
CD4
Implicit instantiation is not described clearly enough
?
TC1
Lookup in dependent base classes
?
CD1
Partial ordering of function templates is underspecified
?
CD1
Template parameters are not allowed in _nested-name-specifier_s
?
CD1
Linkage of nameless class-scope enumeration types
?
TC1
Default arguments for non-template member functions of class templates
?
CD1
Specification of Koenig lookup
?
NAD
Cannot defend against destructors that throw exceptions
?
CD1
All deallocation functions should be required not to throw
?
CD1
Must compound assignment operators be member functions?
?
CD1
Sequence points and lvalue-returning operators
?
CD3
The meaning of deprecation
?
CD1
Definition of dependent names
?
NAD
Koenig lookup and fundamental types
?
CD1
Default template arguments for function templates
Yes
TC1
How many scopes in an if statement?
?
CD1
Use of template keyword with non-member templates
No
NAD
Partial specialization of function templates
?
NAD
Calls to pure virtual functions
?
NAD
Visibility of names after _using-directive_s
?
NAD
Is indirection through a null pointer undefined behavior?
N/A
DRWP
References vs pointers in UDC overload resolution
No
NAD
Reuse of base class subobjects
?
TC1
Assignment vs initialization
?
NAD
Explicit temporaries and integral constant expressions
?
CD1
Explicit instantiation and base class members
?
CD4
Precision and accuracy constraints on floating point
?
CD1
Footnote 116 and Koenig lookup
?
CD3
Uninitialized values and undefined behavior
?
TC1
Error in example in 14.8.1
?
CD4
Interpretation of old-style casts
?
NAD
Weighting of conversion functions in direct-initialization
?
CD1
Destructor lookup
?
CD1
Name lookup in _elaborated-type-specifier_s
?
CD1
Jumps in function-try-block handlers
?
NAD
Pointer-to-member casts and function overload resolution
?
C++11
Identifier characters
?
TC1
What is a member function template?
?
TC1
Address of function template specialization with non-deduced template arguments
?
open
How many signed integer types are there?
-
CD1
Looking up deallocation functions in virtual destructors
?
C++17
Why must empty or fully-initialized const objects be initialized?
No
PR89305,PR60284,PR57820,PR12567
CD1
Definitional problems with _elaborated-type-specifier_s
?
CD6
Placement deallocation functions and lookup ambiguity
?
CD1
Overflow in size calculations
?
CD2
Abstract base constructors and virtual base initialization
?
CD1
_using-declaration_s and cv-qualifiers
?
CD1
Restrictions on explicit specialization and instantiation
?
open
User-defined conversions and built-in operator=
-
CD1
When is a deallocation function "used?"
?
CD1
Default arguments and ellipsis
?
CD1
Can a constructor be declared a friend?
?
open
Unusable template constructors and conversion functions
-
dup
Destructors, exceptions, and deallocation
?
NAD
No grammar sentence symbol
?
open
Alignment requirement for _new-expression_s
-
open
Macro name suppression in rescanned replacement text
-
NAD
Order of initialization of multiply-defined static data members
?
CD1
Order of initialization of static data members of class templates
?
CD6
Explicit instantiation and template argument deduction
?
CD1
Explicit destructor invocation and _qualified-id_s
?
CD1
POD classes and operator&()
?
CD1
Cv-qualification and char-alias access to out-of-lifetime objects
?
CD1
Explicit instantiation/specialization and _using-directive_s
?
CD1
Order of destruction of parameters and temporaries
?
CD1
Zero-initialization of pointers
?
NAD
External linkage and nameless entities
N/A
CD6
Correspondence of "names for linkage purposes"
?
CD1
Access and surrogate call functions
?
CD1
inline specifier in friend declarations
No
open
Namespace for extended_type_info
-
CD1
Template _type-parameter_s are not syntactically _type-name_s
?
CD1
_qualified-id_s in class declarations
?
NAD
Identifying a function template being specialized
?
CD1
Incorrect example in partial specialization
?
drafting
Order dependencies in template instantiation
-
CD1
Misuse of "static type" in describing pointers
?
CD1
Incomplete list of contexts requiring a complete type
?
NAD
Should memcpy be allowed into a POD with a const member?
?
CD1
Overload resolution needed when binding reference to class rvalue
?
CD3
Deallocation on exception in new before arguments evaluated
?
open
Syntax of explicit instantiation/specialization too permissive
-
NAD
Can static_cast drop exception specifications?
?
CD1
cv-qualifiers on function types
?
CD1
Can conversion functions be static?
Yes
NAD
Which template does an explicit specialization specialize?
N/A
CD1
T::x when T is cv-qualified
?
CD1
Conversion on array bound expression in new
?
CD1
References to functions in template argument deduction
?
CD1
Syntax for template-name
?
CD1
Value-initialization and generation of default constructor
?
NAD
Integral promotions on bit-fields
?
TC1
Value-initialization of a reference
?
CD1
Name lookup in destructor call
?
CD1
Ambiguity by class name injection
?
NAD
Initialization of a virtual base class subobject
?
NAD
Catching exceptions with ambiguous base classes
?
CD1
Linkage of entities whose names are not simply identifiers, in introduction
?
open
Can function templates differing only in parameter cv-qualifiers be overloaded?
-
NAD
Using qualified name to reopen nested namespace
?
CD3
"use" of invalid pointer value not defined
?
dup
Class with single conversion function to integral as array size in new
?
C++17
template in base class specifier
Yes
resolved by CWG 1710
NAD
Is call of static member function through null pointer undefined?
?
NAD
Injected-class-name of template used as template template parameter
?
CD1
Can a function be declared inline after it has been called?
No
CD1
struct A::A should not name the constructor of A
?
CD1
Use of names without linkage in declaring entities with linkage
?
CD1
Question on copy constructor elision example
?
dup
Associated classes and namespaces for argument-dependent lookup
?
CD1
Deduction of reference conversions
?
CD1
Where must export appear?
?
CD1
Can "&" be applied to assignment to bit-field?
?
drafting
When are default arguments parsed?
-
CD1
Wording for definition of trivial constructor
?
CD1
Use of "structure" without definition
?
CD1
Missing requirement that class member types be complete
?
CD1
Evaluation of friends of templates
?
CD4
Qualification conversions and pointers to arrays of pointers
10
CD1
Allowed copy constructor signatures
?
CD3
cv-qualified void parameter types
?
NAD
Ambiguous use of "declaration" in disambiguation section
?
NAD
Is a comma-expression dependent if its first operand is?
?
CD1
Allowing export on template members of nontemplate classes
?
CD1
Explicit specialization examples are still incorrect
?
CD1
Attempt to create array of abstract type should cause deduction to fail
?
CD6
Enumerator name with linkage used as class name in other translation unit
?
CD1
Overload resolution in operand of sizeof in constant expression
?
NAD
Unclear wording in disambiguation section
?
C++11
extern "C" namespace member function versus global variable
?
CD3
Terminology: "indirection" versus "dereference"
?
C++17
Make template optional in contexts that require a type
Yes
resolved by CWG 1710
CD3
Naming destructors
?
CD1
Misleading comment on example in templates chapter
?
NAD
Typo in 15.4
N/A
NAD
Use of derived class name in defining base class nested class
?
CD1
delete and user-written deallocation functions
?
CD1
Template argument deduction for conversion functions and qualification conversions
?
open
signed char underlying representation for objects
-
CD1
Sequence point error: unspecified or undefined?
?
CD1
Nondeduced contexts
?
CD1
Is deallocation routine called if destructor throws exception in delete?
?
CD1
Null as nontype template argument
?
C++11
Global-scope :: in nested-name-specifier
No
NAD
Wording of behavior of generated copy constructor for scalar members
?
CD1
Definition of signature should include name
?
NAD
Namespaces and extern "C"
?
NAD
Type definition in anonymous union
?
CD6
Using-declaration that reduces access
?
open
Forward reference to default argument
-
CD1
Order of initialization in instantiation units
?
NAD
Initialization of class from self
?
CD1
Calling overloaded function with static in set, with no object
?
open
Storage duration and temporaries
-
CD1
String literal allowed in integral constant expression?
?
CD1
throw operator allowed in constant expression?
?
CD1
Uses of non-type parameters that should cause deduction to fail
?
drafting
Are new/delete identifiers or preprocessing-op-or-punc?
-
CD1
Can #include <...> form be used other than for standard C++ headers?
?
open
Interleaving of constructor calls
-
CD1
Is access granted by base class specifiers available in following base class specifiers?
?
C++11
Lookup on namespace qualified name in using-directive
?
CD2
Can explicit specialization outside namespace use qualified name?
?
dup
Confusing example on lookup with typename
?
NAD
Class "definition" versus class "declaration"
?
CD1
Enum whose enumerators will not fit in any integral type
?
CD1
Wording that says temporaries are declared
?
CD1
Change "class declaration" to "class definition"
?
open
Definition of "ambiguous base class" missing
-
CD1
Incorrect example of base class member lookup
?
CD1
Allow typename outside of templates
?
CD1
Is a class with a declared but not defined destructor a POD?
?
NAD
Argument-dependent lookup and operator functions
?
CD1
How does protected member check of 11.5 interact with using-declarations?
?
CD6
Friend declaration of name brought in by using-declaration
?
CD1
Errors in example in 14.6.5
?
CD3
Catching base*& from a throw of derived*
No
CD1
Unnamed types in entities with linkage
?
CD1
Pure virtual must be defined when implicitly called
?
CD1
Require direct binding of short-lived references to rvalues
?
CD1
Use of full expression lvalue before temporary destruction
?
CD4
Pointer to array of unknown bound in template argument list in parameter
8
CD1
identifier-list is never defined
?
NAD
Conversion operator template syntax
?
CD1
Misleading note regarding use of auto for disambiguation
?
CD1
Same address for string literals from default arguments in inline functions?
?
CD1
Ambiguous wording on naming a type in deduction
?
CD6
Destructor lookup redux
?
CD1
Using-declarations and the "struct hack"
?
CD1
When is access for template parameter default arguments checked?
?
open
More on partial ordering of function templates
-
CD1
Reference to a type as a template-id
?
CD1
Unclear reference to construction with non-trivial constructor
?
CD6
Unqualified function name lookup
?
CD1
Static data member in class with name for linkage purposes
?
C++11
Named class with associated typedef: two names or one?
?
CD2
sizeof applied to unknown-bound array static data member of template
?
CD1
Obsolete paragraph missed by changes for issue 224
?
CD1
Paragraph missed in changes for issue 166
?
CD6
Use of universal-character-name in character versus string literals
?
NAD
Can a replacement allocation function be inline?
N/A
CD1
Definition of "empty class"
?
CD1
Multiple types found on destructor lookup
?
CD1
Template deduction does not cause instantiation
?
CD1
Class must be complete to allow operator lookup?
?
CD1
Using derived-class qualified name in out-of-class nested class definition
?
CD6
Imperfect wording on error on multiple default arguments on a called function
?
open
Can cast to virtual base class be done on partially-constructed object?
-
CD1
postfixexpression->scalar_type_dtor() inconsistent
?
CD1
Is rvalue.field an rvalue?
Yes
NAD
Is a typedef redeclaration allowed with a template type that might be the same?
?
NAD
Can a conversion be done on the left operand of a compound assignment?
?
CD1
Wording problem with issue 56 resolution on redeclaring typedefs in class scope
?
CD1
Set of candidates for overloaded built-in operator with float operand
?
C++17
Identically-named variables, one internally and one externally linked, allowed?
?
CD1
static_cast ambiguity: conversion versus cast to derived
?
CD1
Mention of expression with reference type
?
CD1
Matching deallocation function chosen based on syntax or signature?
?
CD1
Ordering of expression evaluation in initializer list
?
C++11
Defect in wording in 14.2
?
CD1
Is injected class name visible in base class specifier list?
?
CD1
Do elaborated type specifiers in templates inject into enclosing namespace scope?
?
NAD
Unclear suppression of standard conversions while binding reference to lvalue
?
NAD
Change "declararation or definition" to "declaration"
?
CD1
Problem in example in 9.6 paragraph 4
?
CD1
Is type of class allowed in member function exception specification?
?
CD2
Possible flaw in wording for multiple accesses to object between sequence points
?
CD1
Guarantees on casting pointer back to cv-qualified version of original type
?
NAD
Allow implicit pointer-to-member conversion on nontype template argument
N/A
CD1
Ordering of static reference initialization
?
CD1
Incorrect use of null pointer constant in description of delete operator
?
CD1
Wording nit in description of lifetime of temporaries
?
NAD
Overriding and the generated copy assignment operator
?
NAD
Wording issue on friend declarations
?
CD1
Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary?
?
CD1
Is offsetof type-dependent?
Yes
C++11
Set of template functions in call with dependent explicit argument
?
NAD
Consistency in use of hyphen with names of "non" entities
?
CD1
Binding a reference to const to a cv-qualified array rvalue
?
CD1
Expressions with invalid results and ill-formedness
?
CD1
Wording nit on description of this
?
DRWP
References may only bind to "valid" objects
?
CD1
When is a definition of a static data member required?
?
NAD
Partial ordering and non-deduced arguments
N/A
NAD
Is initialized const int or const bool variable a null pointer constant?
?
CD1
Wording nit on use of const variables in constant expressions
?
C++11
Hiding of member template parameters by other members
No
NAD
Hiding of template parameters by base class members
N/A
CD1
Can a using-declaration name a namespace?
Yes
NAD
Make asm conditionally-supported
N/A
CD3
Lifetime of temporaries bound to comma expressions
?
CD1
reinterpret_cast<T*>(0)
?
CD1
Wording nit on lifetime of temporaries to which references are bound
?
NAD
May constructors of global objects call exit()?
?
CD1
cv-qualifiers on pseudo-destructor type
?
NAD
Jump past initialization of local static variable
?
CD1
Allow ::template outside of templates
?
NAD
Const template specializations and reference arguments
?
CD1
Instantiation of members of an explicitly-instantiated class template
?
NAD
Conflicting inherited access specifications
?
drafting
Casting across protected inheritance
-
NAD
Block-scope declarations of allocator functions
N/A
CD1
Block-scope extern declarations in namespace members
?
C++11
When is std::uncaught_exception() true? (take 2)
?
CD5
Determining the buffer size for placement new
?
CD1
Can virtual appear in a friend declaration?
Yes
NAD
May a function parameter be an array of an abstract class type?
?
CD1
Copy elision in exception handling
?
CD1
Is a base of a virtual base also virtual?
?
CD2
Scope of template parameters
?
CD3
Qualified declarators in redeclarations
No
CD3
Normative requirements on integral ranges
?
CD1
Can a base-specifier name a cv-qualified class type?
?
CD1
What is a "name"?
?
CD1
Invalid return types and template argument deduction
?
NAD
Operator overloading in constant expressions
?
CD1
Local types, overload resolution, and template argument deduction
?
NAD
Must member function templates be instantiated during overload resolution?
?
CD2
Name lookup in friend declarations
?
CD1
Initializers for empty-class aggregrate members
?
CD1
typeid constness inconsistent with example
?
CD2
Type deduction from a bool context
?
CD1
Problems with the resolution of issue 45
?
CD2
Overload resolution with template and non-template conversion functions
?
CD3
Is a volatile-qualified type really a POD?
?
CD1
Missing required initialization in example
?
open
Storage class specifiers in definitions of class members
-
CD2
Throwing an array of unknown size
?
CD1
Access in _base-specifier_s of friend and nested classes
?
NAD
Visibility of friend declarations within the befriending class
?
C++11
Dependency of nested enumerations and enumerators
?
open
Cv-qualified function types in template argument deduction
-
NAD
Should use of a variable in its own initializer require a diagnostic?
?
CD1
Conditionally-supported behavior for unknown character escapes
?
CD1
Conditionally-supported behavior for non-POD objects passed to ellipsis
?
dup
Ambiguity assigning class object to built-in type
?
C++11
Non-constructed value-initialized objects
?
CD1
Dead code in the specification of default initialization
?
CD1
Default initialization of POD classes?
?
open
POD-structs with template assignment operators
-
NAD
Union members with user-declared non-default constructors
?
CD1
Non-class "most-derived" objects
?
CD1
Is the initializer for a namespace member in the scope of the namespace?
?
CD1
Non-dependent references to base class members
?
CD1
Use of signed in bit-field declarations
?
CD1
Partial specialization following explicit instantiation
?
CD1
Trailing comma following enumerator-list
?
CD1
Null pointer preservation in void* conversions
?
CD1
Old-style casts between incomplete class types
?
CD1
Requirements for exceptions thrown by allocation functions
?
CD1
Array-to-pointer decay in template argument deduction
?
open
Can a one-past-the-end pointer be invalidated by deleting an adjacent object?
-
CD1
Can function-notation calls to operator functions be dependent?
?
CD1
Missing * in example
?
CD1
Confusing aspects in the specification of non-deduced contexts
?
CD2
Problems with linkage of types
?
NAD
Why are incomplete class types not allowed with typeid?
N/A
drafting
Use of template<> with "explicitly-specialized" class templates
-
CD1
Nontype template arguments in constant expressions
?
C++11
Defining members of explicit specializations
?
C++11
Member/nonmember operator template partial ordering
14
NAD
Special treatment for C-style header names
?
CD1
_template-name_s and _operator-function-id_s
?
CD3
Copy construction without a copy constructor
?
CD6
Problems in the description of _id-expression_s
?
CD1
Definition of "signature"
?
CD1
Definition and usage
?
CD3
Constraints on type-specifier-seq
?
CD1
Propagation of cv-qualifiers in reference-to-reference collapse
?
CD2
Dependent function types
?
CD2
Value initialization of arrays of POD-structs
?
CD1
Value initialization and default constructors
?
NAD
Base class lookup in explicit specialization
?
open
User-defined conversions and built-in operator overload resolution
-
C++11
Explicit instantiation of class template members
?
C++11
Partial specialization on member function types
?
dup
_qualified-id_s in declarations
?
drafting
Non-deducible parameters in partial specializations
-
dup
Pointer to array of unknown bound in parameter declarations
?
CD1
When is inline permitted in an explicit instantiation?
?
NAD
Use of typename in the type in a non-type parameter-declaration
?
NAD
Problems with friend allocation and deallocation functions
?
CD6
Definition of "declarative region" and "scope"
?
CD5
Pseudo-destructor name lookup
?
CD2
Conflicting requirements for acceptable aliasing
?
CD1
Does argument-dependent lookup cause template instantiation?
?
CD1
Excluded characters in universal character names
?
CD1
Editing error in issue 382 resolution
?
NAD
Use of the typename keyword in return types
N/A
CD2
Internal linkage functions in dependent name lookup
?
CD6
_qualified-id_s in non-expression contexts
?
CD6
Linkage specification for objects
?
CD2
Agreement of language linkage or _linkage-specification_s?
?
CD3
Conflict rules for _using-declaration_s naming function templates
?
NAD
Conversion of negative floating point values to integer type
N/A
NAD
Can size_t and ptrdiff_t be larger than long?
?
CD1
Definition of POD is too strict
?
CD2
Spurious semicolons at namespace scope should be allowed
No
CD2
Are references subject to the ODR?
?
CD2
References declared const
?
C++11
Standard conversions for non-built-in types
?
C++11
Conversions between function pointers and void*
?
NAD
Definition of "copy assignment operator"
?
C++11
Criteria for deduction failure
?
CD2
Typedefs in function definitions
?
CD3
void in an empty parameter list
?
CD6
Phase 1 replacement of characters with _universal-character-name_s
?
open
What is a "nested" > or >>?
-
C++11
Access in _template-parameter_s of member and friend definitions
No
CD5
Can a templated constructor be explicitly instantiated or specialized?
?
CD1
Template conversion functions
?
CD3
Relational pointer comparisons against the null pointer constant
11
NAD
Unions and aliasing
N/A
NAD
Friend template template parameters
?
NAD
Default _template-argument_s and template argument deduction
?
CD2
Lvalue operands of a conditional expression differing only in cv-qualification
?
CD2
Searching dependent bases of classes local to function templates
?
CD2
Direct binding of class and array rvalues in reference initialization
?
C++11
Nested classes and the "current instantiation"
?
CD4
When a dependent base class is the current instantiation
?
CD1
Exceptions during construction of local static objects
?
NAD
Falling off the end of a destructor's function-try-block handler
?
CD1
Coordinating issues 119 and 404 with delegating constructors
?
dup
Exception specifications in templates instantiated from class bodies
?
NAD
Replacing an exception object
?
CD3
Conversions applied to out-of-lifetime non-POD lvalues
?
CD2
Associated namespaces of overloaded functions and function templates
?
CD2
Deleting a null function pointer
?
CD6
Does access control apply to members or to names?
?
CD2
Type of literals in preprocessing expressions
?
C++11
When is the injected-class-name of a class template a template?
?
CD1
Type equivalence and unsigned overflow
?
CD2
Argument list for overload resolution in copy-initialization
?
C++11
Linkage of explicit specializations
?
CD1
Template argument deduction for rvalue references
?
CD6
Lookup of _mem-initializer-id_s
?
CD2
Determining the final overrider of a virtual function
?
CD4
What is a "top-level" cv-qualifier?
?
NAD
Computing the negative of 0U
?
CD2
Zero-initializing references
?
CD2
Requirements on a conforming implementation
?
CD1
Unevaluated uses of non-static class members
?
CD1
Results of integer / and %
?
C++11
Incorrect description of variables that can be initialized
?
CD3
Definition of "indeterminate value"
9
NAD
Lvalue-to-rvalue conversions of uninitialized char objects
N/A
CD2
Casts in preprocessor conditional expressions
?
C++11
Completeness of array types
?
CD1
Declaration order in layout-compatible POD structs
?
C++11
Template argument deduction from function return types
?
NAD
Relational comparisons of arbitrary pointers
?
CD3
Use of pointers to deallocated storage
?
CD1
Overflow in calculating size of allocation
?
CD2
Use of auto as a template-argument
11
CD2
Preprocessor string literals
?
NAD
Values behaving as types
?
CD2
The values of an enumeration with no enumerator
?
CD1
auto parsing ambiguity
?
CD2
Equality of narrow and wide character values in the basic character set
?
CD3
Jumping into a "then" clause
?
CD1
Brace-enclosed initializer for scalar member of aggregate
?
CD2
Specifications for variables that should also apply to references
?
CD1
Conditionally-supported behavior for non-POD objects passed to ellipsis redux
?
NAD
Names of constructors and destructors of templates
?
CD4
Dynamic type of objects and aliasing
?
CD1
Sequencing rules and example disagree
?
CD2
Explicit specialization and friendship
?
CD1
What makes side effects "different" from one another?
?
NAD
Accessing destroyed local objects of static storage duration
N/A
CD2
Overload resolution and conversion-to-same-type operators
?
CD2
Definition and use of "block scope" and "local scope"
?
NAD
Use of decltype in a class member-specification
?
CD1
Should a trivial class type be a literal type?
?
CD2
Are bit-field and non-bit-field members layout compatible?
?
NAD
Can a class with a constexpr copy constructor be a literal type?
?
CD1
Non-constexpr instances of constexpr constructor templates
?
CD1
Constant expressions in constexpr initializers
?
CD1
Optionally ill-formed extended alignment requests
?
CD2
Order of destruction for temporaries bound to the returned value of a function
?
CD1
Problems in decltype specification and examples
?
CD2
Compile-time evaluation of floating-point expressions
?
CD2
Copy assignment of unions
?
CD1
Conversions to and from nullptr_t
?
C++11
Initialization not specified for forwarding constructors
?
CD2
Direct binding to the result of a conversion operator
?
CD2
Abstract class parameter in synthesized declaration
?
CD2
Defining reinterpret_cast for pointer types
?
CD1
Alignment of function types
?
CD1
Unnamed scoped enumerations
?
CD1
Semantics of arithmetic comparisons
?
NAD
Forming a pointer to a reference type
?
CD1
Valid Cyrillic identifier characters
?
CD2
Direct binding of references to non-class rvalue references
?
CD2
Problems in the specification of dynamic_cast
?
CD1
Dependent _qualified-id_s without the typename keyword
?
CD2
Trivial special member functions that cannot be implicitly defined
?
CD2
Throwing an exception from the destructor of a local static object
?
NAD
Confusing specification of the meaning of decltype
?
CD4
Copy initialization via derived-to-base conversion in the second step
?
CD1
Explicit conversion from a scoped enumeration type to integral type
?
CD2
Sequencing of initialization in _new-expression_s
?
NAD
Injection of names from _elaborated-type-specifier_s in friend declarations
?
C++11
"matching specialization" for a friend declaration
?
CD3
Signedness of bit-field with typedef or template parameter type
?
C++11
_static_assert-declaration_s and general requirements for declarations
?
CD1
Deleted operator delete and virtual destructors
?
C++11
Language linkage of member function parameter types and the ODR
?
CD1
Equivalence of _template-id_s and operator function templates
?
CD2
What is a move constructor?
?
CD1
Restrictions on declarators with late-specified return types
?
CD5
Missing description of lookup of template aliases
?
CD1
Requirements for trivial subobject special functions
?
CD1
Constant expressions involving the address of an automatic variable
?
CD2
Integral promotion of enumeration ignores fixed underlying type
Yes
CD1
Type declarations/definitions in _type-specifier-seq_s and _type-id_s
?
NAD
template keyword with _unqualified-id_s
?
CD1
Constexpr constructors and static initialization
?
CD5
Maximum values of signed and unsigned integers
-
CD2
The dynamic type of an rvalue reference
?
C++11
Template parameter packs in class template partial specializations
?
C++11
Partial ordering of variadic class template partial specializations
?
CD2
New string types and deprecated conversion
?
C++11
Zero- and value-initialization of union objects
?
CD2
Compile-time calculation errors in constexpr functions
?
C++11
Use of block-scope constants in local classes
?
open
Deduction rules apply to more than functions
-
open
The definition of "sequenced before" is too narrow
-
CD2
Must constexpr member functions be defined in the class member-specification?
?
C++11
Constexpr member functions of class templates
?
CD2
When is the array-to-pointer conversion applied?
?
CD2
Preferring conversion to std::initializer_list
?
CD2
Narrowing for literals that cannot be exactly represented
?
CD2
To which _postfix-expression_s does overload resolution apply?
?
CD2
Suppressing argument-dependent lookup via parentheses
Yes
NAD
Use of auto with rvalue references
?
CD2
Undefined behavior in integral-to-floating conversions
?
open
Partial specialization of member templates of class templates
-
C++11
Enumeration names as _nested-name-specifier_s in deduction failure
?
CD2
Data races during construction
?
CD2
auto with braced-init-list
?
CD3
Are integer constant operands of a conditional-expression "used?"
?
CD2
Unclear note about cv-qualified function types
?
CD2
Static const data members and _braced-init-list_s
?
CD2
Class member access constant expressions
?
CD2
Specifications that should apply only to non-static union data members
?
CD2
Unintentional restrictions on the use of thread_local
?
NAD
Non-class, non-function friend declarations
N/A
CD2
Specifications for operator-function-id that should also apply to literal-operator-id
?
CD2
Need examples of _lambda-expression_s
?
CD2
Where must a variable be initialized to be used in a constant expression?
?
CD2
Can nullptr be passed to an ellipsis?
?
concepts
Archetypes in skipped declarations
?
concepts
Qualified name lookup in a constrained context
?
concepts
When should the requirement for std::Returnable<T>, etc., apply?
?
CD2
Atomic and non-atomic objects in the memory model
?
C++17
In-class explicit specializations
No
NAD
Restrictions on local classes
?
CD3
Qualification conversions and handlers of reference-to-pointer type
?
CD2
Explicit specializations of members of non-template classes
?
CD2
Omitted reference qualification of member function type
?
CD2
Late-specified return types in function definitions
?
NAD
Reference qualification of copy assignment operators
?
CD2
Are unique addresses required for namespace-scope variables?
?
CD2
Missing case in specification of safely-derived pointers
?
NAD
Is the & ref-qualifier needed?
?
CD2
Uninitialized trailing characters in string initialization
?
C++11
constexpr not permitted by the syntax of constructor declarations
?
CD3
Signedness of plain bit-fields
?
CD2
Incorrect note on data races
?
C++11
"plain" long long bit-fields
?
open
Postfix increment/decrement with long bit-field operands
-
CD2
Use of decltype in a nested-name-specifier
?
CD2
Matching template arguments with template template parameters with parameter packs
?
C++23
Effect of ill-formedness resulting from #error
?
CD2
Use of auto in _new-expression_s
?
dup
Access of protected base classes
?
concepts
Always-complete archetypes
?
CD2
References to function types with a cv-qualifier or ref-qualifier
?
CD2
Implementation constraints on reference-only closure objects
?
CD2
Deriving from closure classes
?
CD2
Name lookup in nested _lambda-expression_s
?
CD2
Array names in lambda capture sets
?
CD2
Lambda expressions in default arguments of block-scope function declarations
?
CD3
Generalized _lambda-capture_s
?
CD2
Dropping cv-qualification on members of closure objects
?
CD2
Types without linkage in declarations
?
C++11
Missing cases of declarations that are not definitions
?
CD2
Destruction of closure objects
?
CD2
this inside a nested class of a non-static member function
?
CD2
Inferred return type of closure object call operator
?
CD2
Name lookup in the compound-statement of a lambda expression
?
CD2
Is a closure object's operator() inline?
?
CD2
Capturing unused variables in a lambda expression
?
CD2
Local types in inline functions with external linkage
?
CD2
Where may lambda expressions appear?
?
CD2
void and other unnamed _lambda-parameter_s
?
CD2
Ellipsis in a lambda parameter list
?
CD2
Initialization of closure objects
?
CD2
Ambiguity in late-specified return type
?
CD2
Move-construction of reference members of closure objects
?
CD2
capture-default in lambdas in local default arguments
?
C++11
Parentheses in address non-type template arguments
?
CD2
Can a closure class be a POD?
?
CD2
Capturing references to functions
?
CD2
Delegating constructors, destructors, and std::exit
?
CD2
Default arguments and parameter packs
?
C++11
Template parameter packs in non-type template parameters
?
CD2
Rvalue reference members of closure objects?
?
concepts
Questions regarding the point of definition of a concept map
?
concepts
Missing requirement in constrained function example
?
CD2
Lambda expressions and argument-dependent lookup
?
open
Definition of "argument"
-
C++11
List of incompatibilities with the previous Standard
?
CD2
"Execution sequence" is inappropriate phraseology
?
CD2
Definition of "thread"
?
CD2
Unnecessary lexical undefined behavior
?
CD2
Relationship between locale and values of the execution character set
?
CD2
Deprecating trigraphs
?
CD2
Concatenation of raw and non-raw string literals
?
concepts
Linkage of concept names
?
CD2
Effects of std::quick_exit
?
CD2
Use of class members during destruction
?
NAD
Base-derived conversion in member type of pointer-to-member conversion
N/A
NAD
Dependency of lambdas on <functional>
N/A
CD2
Lifetime of a closure object with members captured by reference
?
CD2
Converting a no-capture lambda to a function type
?
C++11
Overloaded subscript operator described in clause 5
?
CD2
Can reinterpret_cast be used to cast an operand to its own type?
?
NAD
Safely-derived pointers and object pointers converted from function pointers
?
CD2
Casting away constness in a cast to rvalue reference type
?
concepts
Problems with restrictions on taking the address of a member of a concept map
?
CD2
sizeof an enumeration type with a fixed underlying type
?
CD2
Deducing the type in new auto(x)
?
CD2
Which exception to throw for overflow in array size calculation
?
CD2
Enumeration types in integral constant expressions
?
NAD
typeid expressions in constant expressions
?
CD2
Non-type _decl-specifier_s versus max-munch
?
CD2
Deprecation of the register keyword
?
CD2
Block-scope thread_local variables should be implicitly static
?
CD2
Unclear implications of const-qualification
?
CD2
Duplicate names in inline namespaces
?
open
typename in a using-declaration with a non-dependent name
-
CD2
Attribute to indicate that a function throws nothing
?
CD2
Parameter pack expansion inside attributes
?
CD2
Diagnosing violations of [[final]]
?
CD2
Meaning of [[final]] applied to a class definition
?
CD2
Function parameter packs in non-final positions
?
NAD
Access control and deleted implicitly-declared special member functions
?
CD2
Deprecation of export
?
concepts
Exported concept map templates?
?
NAD
Additional contexts for template aliases
?
CD2
Literal types with constexpr conversions as non-type template arguments
?
concepts
Constrained special member functions
?
concepts
TriviallyCopyableType concept
?
concepts
Accept boolean constant expressions as constraints
?
concepts
Use of && as requirement separator
?
CD2
Destruction of exception objects
?
NAD
At what point is std::unexpected called?
?
CD2
Deprecating exception specifications
Yes
CD2
Limit on recursively nested template instantiations
?
CD2
Value of preprocessing numbers
?
CD2
Explicit conversion of a scoped enumeration value to a floating type
?
CD2
What is an "ordinary string literal"?
?
CD2
Scoped enumerations and the "usual arithmetic conversions"
?
NAD
[[noreturn]] applied to function types
?
C++11
Constexpr functions and return braced-init-list
?
C++11
Use of this in a brace-or-equal-initializer
?
dup
sizeof with opaque enumerations
?
CD2
Rvalue references as nontype template parameters
?
concepts
Ill-formed concept refinement example
?
CD2
Casting to rvalue reference type
?
concepts
Unclear interaction of constraints and special member functions
?
concepts
Is a constrained member function a template?
?
CD2
What is the "first declaration" of an explicit specialization?
?
CD2
Rvalue references to functions
?
CD2
Error in rvalue reference deduction example
?
concepts
Unconstrained template template parameters in constrained contexts
?
concepts
Constraints and template template parameters
?
CD2
Restrictions on use of non-static data members
?
concepts
Constraints and template aliases
?
CD6
_using-declaration_s and dependent base classes
?
CD2
Support for relaxed pointer safety
?
CD2
Left shift and unsigned extended types
?
CD2
Incorrect comments in braced-init-list assignment example
?
concepts
Overlapping concept and requirements scopes
?
concepts
Implying requirements from enclosing scopes
?
CD2
Example binding an rvalue reference to an lvalue
?
concepts
Incomplete comment in late_check example
?
C++11
Explicit qualification of constexpr member functions
?
CD2
Unintended ambiguity in inline namespace lookup
?
CD2
Undefined behavior with enumerator value overflow
?
CD2
Rvalue reference cast to incomplete type
?
C++11
braced-init-list in the range-based for statement
?
CD2
Initializing a std::initializer_list
?
concepts
Concept maps and the range-based for
?
concepts
Naming a specialization of a constrained template
?
concepts
Specifying a concept map in the name of a specialization
?
CD2
Uninitialized thread_local objects
?
concepts
Context of expression when satisfying an associated function requirement
?
concepts
Satisfying associated functions with built-in operators
?
CD2
Lexical issues with raw strings
?
C++11
Deducing rvalue references in declarative contexts
?
CD2
Class-scope definitions of enumeration types
?
concepts
Associated conversion functions converting to the same type
?
CD2
Type references in rvalue reference deduction specification
?
CD2
Viable functions and binding references to rvalues
?
concepts
Effective class types in built-in pointer-to-member operator
?
CD2
Missing built-in comparison operators for pointer types
?
CD2
Built-in conditional operator for scoped enumerations
?
concepts
Inconsistent requirement for naming template parameters
?
CD2
Defining main as deleted
15
CD2
std::memcpy vs std::memmove
?
CD2
Defining an explicitly-specialized static data member
?
NAD
Partial ordering of function templates with unordered parameter pairs
?
CD2
Member initializers and aggregates
?
CD2
Move construction of thrown object
?
CD2
Union member initializers
?
concepts
Default implementations of associated functions
?
concepts
Missing requirement in example
?
CD2
const_cast to rvalue reference from objectless rvalue
?
C++11
Missing requirements for constexpr constructors
?
NAD
Brace syntax for _enumerator-definition_s
N/A
concepts
Incorrect example for constrained overload resolution
?
concepts
Missing destructor requirements
?
CD2
Rvalue references and rvalue-reference conversion functions
?
open
_Pragma and extended _string-literal_s
-
C++11
Declarations in constexpr functions
?
CD2
Explicit conversion functions in direct class initialization
?
C++23
Lifetime of temporaries in range-based for
No
drafting
Deleted operator delete
-
NAD
In-class initialization of non-constant static data members
?
CD3
Value-dependent integral null pointer constants
?
CD2
Parameter packs in _lambda-capture_s
?
CD2
Explicit defaulted copy constructors and trivial copyability
?
CD2
Which special member functions can be defaulted?
?
concepts
Default types in requirements in auto concepts
?
CD2
Deleted global allocation and deallocation functions
?
NAD
Old-style casts with conversion functions
No
CD2
Move constructors and implicitly-declared copy constructors
?
concepts
late_check and concept map templates
?
CD3
Character literals and _universal-character-name_s
?
CD2
Deduction rules for array- and function-type conversion functions
?
open
Value-initialization of array types
-
CD2
Deleted specializations of member function templates
?
concepts
Does a reference type have a destructor?
-
concepts
Pointer conversions between archetypes
?
concepts
Declaration/expression ambiguity in associated function expressions
?
CD2
Contradictions regarding inline namespaces
?
CD2
Interaction of inline namespaces and _using-declaration_s
?
CD2
Unclear specification of inline namespaces
?
CD2
Implicit default constructor definitions and const variant members
?
CD2
Inline explicit specializations
?
C++11
alias-declaration as a class member
?
open
Type of character literals in preprocessor expressions
-
CD2
Inline unnamed namespaces
?
CD2
Implicitly-deleted default constructors and member initializers
?
CD2
Defaulting a function that would be implicitly defined as deleted
?
CD2
What is a template alias?
?
CD2
alignof with incomplete array type
?
CD2
Confusing reference to the length of a user-defined string literal
?
CD2
UCNs in closing delimiters of raw string literals
?
CD2
32-bit UCNs with 16-bit wchar_t
?
CD2
List-initialization of references
?
CD2
Missing overloads for character types for user-defined literals
?
CD2
Array initialization with new string literals
?
NAD
Restrictions on values of template arguments in user-defined literals
?
C++11
Initializer lists and array new
?
CD2
Explicitly checking virtual function overriding
?
CD2
Global anonymous unions
?
C++11
Explicit specialization of deleted function template
?
CD2
Is this an entity?
?
CD5
Is T() a temporary?
?
NAD
reinterpret_cast for all types with the same size and alignment
?
C++11
Use of this in a late-specified return type
?
CD2
Order of destruction of local static objects and calls to std::atexit
?
NAD
Deducing type template arguments from default function arguments
?
C++11
constexpr in _condition_s
?
open
Requirements for freestanding implementations
-
CD2
Use of decltype as a class-name
?
CD2
Problems with _attribute-specifier_s
?
CD6
Insufficient description of "naming class"
?
CD2
Rvalue references and function viability
?
open
Overload resolution of conversion operator templates with built-in types
-
CD2
Can a closure type's operator() be virtual?
?
CD2
Function prototype scope with late-specified return types
?
CD2
Alternative tokens and _attribute-token_s
?
NAD
Lambdas and decltype
N/A
CD2
Alignment attribute for class and enumeration types
?
CD2
Covariant functions and lvalue/rvalue references
12
CD2
Overload resolution and conversion of std::nullptr_t to bool
?
CD2
Attributes appertaining to class and enum types
?
CD2
Comparing nullptr with 0
?
C++11
Incorrect description of when the lvalue-to-rvalue conversion applies
?
CD2
Limiting the applicability of the carries_dependency attribute
?
CD2
Nested types without linkage
?
NAD
Exception specification of replacement allocation function
?
CD2
Syntactic ambiguity of the attribute notation
?
CD2
Explicit instantiation declarations of class template specializations
?
CD2
Consistent use of "appertain" and "apply"
?
C++11
Incorrect treatment of _exception-declaration_s
?
C++11
Allowing multiple _attribute-specifier_s
?
CD2
Function types in _exception-specification_s
?
CD3
Default arguments for lambdas
?
CD3
Restrictions on return type deduction for lambdas
?
CD2
Deduction for const T& conversion operators
14
CD3
When is an enumeration type complete?
?
CD2
Incorrect specification for copy initialization
?
CD2
Position of attribute-specifier in declarator syntax
?
CD2
Explicit instantiation of a member of a class template
?
C++11
Constexpr constructor templates and literal types
?
NAD
Initialization with an empty initializer list
?
CD2
Ambiguous pointer-to-member constant
?
CD2
"Deduced type" is unclear in auto type deduction
?
C++11
Alternative tokens and user-defined literals
?
CD2
Transitivity of _using-directive_s versus qualified lookup
?
CD4
Which declarations introduce namespace members?
?
CD2
Reference-to-reference collapsing with decltype
?
CD2
Misplaced list-initialization example
?
CD2
Value initialization with multiple initializer-list constructors
?
CD2
Reference parameters of constexpr functions and constructors
?
NAD
Inheriting explicitness
?
C++11
Freedom to perform instantiation at the end of the translation unit
?
C++11
braced-init-list as a default argument
?
CD2
Incorrect example for using-declaration and explicit instantiation
?
C++11
Ambiguous partial specializations of member class templates
No
C++11
Argument-dependent lookup and dependent function template parameter types
?
dup
Function parameter transformations and template functions
?
CD2
"Implicit" or "implied" object argument/parameter?
?
CD2
Mistaking member typedefs for constructors
?
review
Parameter type adjustment in dependent parameter types
?
NAD
Pack expansion for function arguments
?
CD3
Acceptable definitions of main
?
C++11
Injected-class-names as arguments for template template parameters
?
NAD
Qualified name resolution in member functions of class templates
?
C++11
std::nullptr_t as a non-type template parameter
?
NAD
Protected access and pointers to members
N/A
NAD
Querying the alignment of an object
N/A
C++11
Missing cases in the declarator-id of a function template declaration
?
CD2
Address of object with dynamic storage duration in constant expression
?
C++11
Standard conversions that cannot be inverted
?
C++11
Undeprecating static
?
CD3
Uninitialized std::nullptr_t objects
?
NAD
Overload resolution between const T& and T&&
?
C++11
Template arguments and argument-dependent lookup
?
C++11
Overloadable declarations, function templates, and references
?
C++11
Member access transformation in unevaluated operands
?
C++11
Ambiguity between simple-declaration and attribute-declaration
?
dup
Dependent _simple-template-id_s in _base-specifier_s and _mem-initializer_s
?
C++11
Implicitly-defined copy constructors and explicit base class constructors
?
CD4
Definitions of namespace members
?
C++11
Can an enumeration variable have values outside the values of the enumeration?
?
dup
thread_local objects as non-type template arguments
?
CD3
Limits on multicharacter literals
?
C++11
Use of a reference as a non-type template argument
?
NAD
Cv-qualified non-class rvalues
N/A
review
Type consistency and reallocation of scalar types
?
CD6
Dependent names in non-defining declarations
?
C++11
Type of a destructor call
?
C++11
Evaluation order in _initializer-list_s used in aggregate initialization
?
C++11
Optional elements in attributes
?
C++11
Empty pack expansions
?
C++11
Restrictions on alignment attributes
?
C++11
Attributes for return statements in lambdas
?
C++11
Omitted and required _decl-specifier_s
?
C++11
Alignment attribute in an exception-declaration
?
C++11
Requirements for operands of _delete-expression_s and deallocation functions
?
DRWP
Overload resolution of &x.static_func
?
dup
Coordinating C and C++ alignment specifications
?
NAD
Memory model issues
?
dup
_alias-declaration_s as class members
?
C++11
Attributes in _alias-declaration_s
?
C++11
Qualified name lookup in the current instantiation
?
C++11
Point of declaration for an alias-declaration
?
NAD
Requiring explicit instantiation declarations
?
open
What is a "use" of a class specialization?
-
C++11
When is typeid value-dependent?
?
CD3
auto deduction and lambda return type deduction.
?
open
Copy elision through reference parameters of inline functions
-
NAD
Effects of thread support on object lifetime
?
C++11
Reference members and generated copy constructors
?
dup
const non-static data member and PODness
?
NAD
Terminate vs undefined behavior for noexcept violation
?
C++11
Lvalue-to-rvalue conversions in expression statements
?
C++11
Permissible uses of void
?
C++11
Template aliases, member definitions, and the current instantiation
?
C++11
decltype and the current instantiation
?
NAD
Reference binding of incompatible array types
?
CD3
Cv-qualified array types (with rvalues)
?
C++11
Scoped enumerators in integral constant expressions
?
C++11
Negative array bounds in a new-expression
?
C++11
Syntax of _attribute-specifier_s in lambdas
?
C++11
[[hiding]] with non-attribute declarations
?
C++11
Defaulted move constructor for a union
?
C++11
[[hiding]] with [[override]]
?
C++11
When is a copy/move assignment operator implicitly defined?
?
NAD
[[hiding]], _using-declaration_s, and multiple inheritance
?
C++11
Template aliases with default arguments and template parameter packs
?
C++11
Incorrect function type with trailing-return-type
?
C++11
Missing initializer clauses in aggregate initialization
?
C++11
Literal class types and trivial default constructors
?
C++11
Scoped enumerator with the same name as its containing class
?
C++11
Merging _dynamic-exception-specification_s and _noexcept-specification_s
?
C++11
Value-dependent _noexcept-expression_s
?
C++11
Grammar does not allow template alias in type-name
?
CD5
Value categories and lvalue temporaries
?
NAD
Explicit specializations in non-containing namespaces
N/A
NAD
Narrowing and the usual arithmetic conversions
?
C++11
Overload resolution involving aggregate initialization
?
C++11
Confusing relationship between templates and copy constructors
?
C++11
Defaulted destructor and unusable operator delete
?
C++11
Implicit copy function if subobject has none?
?
C++11
Passing an object to ellipsis with non-trivial move constructor
?
NAD
Conditions for a deleted move function
?
NAD
Move assignment operators and virtual bases
?
C++11
const_cast to rvalue reference to function type
?
C++11
Additional applications of issue 899
?
C++11
Dependent non-type template arguments
?
open
Template parameters in member selections
-
C++11
Alignment of subobjects
?
C++11
Inconsistent use of the term "object expression"
?
drafting
Cycles in overload resolution during instantiation
-
CD3
Value-initializing non-objects
?
C++11
Converting floating-point values to scoped enumeration types
?
C++11
List-initialization of references
?
C++11
Missing requirement for template definitions
?
NAD
Aggregate initialization of function parameters
?
C++11
Pointer conversions in constant expressions
?
C++11
Infinite recursion in constexpr functions
?
C++11
constexpr conversion functions and non-type template arguments
?
C++11
Non-integral initialized static data members
?
C++11
Better example of undefined behavior
?
C++11
Reversion of phase 1 and 2 transformations in raw string literals
?
C++11
Global-scope template arguments vs the <: digraph
?
C++11
Issues relating to TR 10176:2003
?
C++11
Need more detail in nullptr keyword description
?
C++11
Overload resolution for user-defined integer literals
?
NAD
User-defined literals have not been implemented
?
C++11
When is "use" a reference to the ODR meaning?
?
NAD
Incomplete return type should be allowed in decltype operand
?
C++11
Remove dual-scope lookup of member template names
?
C++11
constexpr variables should have internal linkage like const
?
C++11
Linkage of namespace member of unnamed namespace
?
C++11
Incorrect use of placement new in example
?
C++11
C-compatible alignment specification
?
CD4
Aliasing of union members
?
C++11
Incorrect note about xvalue member access expressions
?
NAD
Implicit lambda capture via explicit copy constructor
?
C++11
Missing case in description of member access ambiguity
?
C++11
reinterpret_cast and void*
?
C++11
Unnecessary ambiguity error in formation of pointer to member
?
C++11
Circular definition of std::size_t
?
C++11
Destructors should be noexcept by default
?
NAD
Error in description of value category of pointer-to-member expression
N/A
C++11
Unclear definition of "potential constant expression"
?
C++11
constexpr functions in const initializers
?
C++11
Overload resolution in constexpr functions
?
C++11
_attribute-specifier_s in _decl-specifier-seq_s
?
C++11
Default nothrow for constexpr functions
?
C++11
Function parameter type adjustments and decltype
?
C++11
Template aliases in _elaborated-type-specifier_s
?
NAD
Keyword vs attribute for noreturn
?
C++11
Keywords vs attributes for control of hiding and overriding
?
C++11
When is an explicitly-defaulted function defined?
?
C++11
Explicitly-defaulted non-public special member functions
?
C++11
Explicitly-defaulted explicit constructors
?
C++11
Explicitly-defaulted virtual special member functions
?
C++11
Rvalue-ness check for rvalue reference binding is wrong
?
C++11
Rvalue reference binding to scalar xvalues
?
C++11
Incorrect redefinition of POD class
?
NAD
Non-static data member initializers have not been implemented
?
C++11
friend declaration of member function of containing class
?
NAD
Move semantics for *this have not been implemented
?
C++11
Remove access declarations
?
C++11
Defaulting and triviality
?
C++11
_exception-specification_s of defaulted functions
?
C++11
Destructors should be default nothrow
?
C++11
Copy elision and move construction of function parameters
?
C++11
Trivial non-public copy operators in subobjects
?
NAD
Inheriting constructors have not been implemented
?
C++11
Overload resolution with initializer-list and non-list constructors
?
C++11
Rules for determining existence of implicit conversion sequence
?
C++11
Type matching in address of overloaded function
?
C++11
Address of thread_local variable as non-type template argument
?
C++11
Internal-linkage non-type template arguments
?
C++11
Partial ordering in a non-call context
?
open
Partial ordering of function templates is still underspecified
-
C++11
Recursive instantiation via alias template
?
C++11
Class and enumeration definitions in template aliases
?
C++11
Definitions of template members and the current instantiation
?
C++11
Dependent nested-name-specifier in a pointer-to-member declarator
?
NAD
Dependent _elaborated-type-specifier_s in non-deduced contexts
?
NAD
extern template prevents inlining functions not marked inline
?
C++11
Partial ordering of f(T&) and f(T&&)
?
C++11
Exceptions when destroying array elements
?
C++11
_exception-declaration_s that do not declare objects
?
C++11
_function-try-block_s for destructors
?
C++11
Additional reasons to call std::terminate
?
C++11
Missing feature macro for strict pointer safety
?
C++11
Access checking during template argument deduction
4.8
C++11
Partial stack unwinding with noexcept violation
?
drafting
"instantiation-dependent" constructs
-
C++11
Unclear specification of effects of signal handling
?
C++11
When is a pure virtual function "used?"
?
C++11
Disambiguating user-defined literals
?
C++11
Definition of release sequence
?
C++11
Intra-thread dependency-ordered-before
?
C++11
Deduction failure matching placement new
?
NAD
Cv-qualification of non-type template parameters
?
C++11
Over-aligned class types
?
C++11
What is a "built-in type?"
?
C++11
Incorrect description of pack expansion syntax
?
C++11
Expansion of parameter packs in declarators
?
C++11
Argument conversions to nondeduced parameter types
?
C++11
Misleading description of language linkage and member function types
?
C++11
Non-dependent constexpr violations in function templates
?
C++11
Problems in initialization example
?
C++11
Type punning in constant expressions
Yes
C++11
Address of distinct base class subobjects
?
C++11
Operations on non-safely-derived pointers
?
C++11
Deleted subobject destructors and implicitly-defined constructors
?
C++11
Inadvertent change to ODR and templates
?
C++11
Use of address-constant pointers in constant expressions
?
C++11
Constexpr references
?
C++11
References to non-literal types in constexpr functions
?
C++11
Definition required for explicit instantiation after explicit specialization?
?
C++11
Constexpr arrays
?
C++11
Literal types and copy constructors
?
C++11
Deleted constexpr functions
?
CD6
Lookup rules for template parameters
?
C++11
Are deleted and defaulted functions definitions?
?
C++11
Calling virtual functions during destruction
?
dup
Misleading note regarding initialized static data members
?
C++11
Specifiers in a for-range-declaration
?
dup
Lvalue reference binding and function viability
?
C++11
Defining opaque enumeration members of class templates
No
C++11
Type of class member in trailing-return-type
?
C++11
Explicit noexcept in defaulted definition
?
open
Is a potentially-evaluated expression in a template definition a "use?"
-
C++11
Injection of elaborated-type-specifier in enumeration scope
?
drafting
Misaligned lvalues
-
C++11
Non-function-call xvalues and decltype
?
CD3
Array subscripting and xvalues
9
C++11
Kinds of initializers
?
C++11
Definition of POD struct
?
C++11
Exceptions "allowed" by a noexcept-specification
?
NAD
Are deleted functions implicitly noexcept?
?
C++11
What is the "currently-handled exception" in a multi-threaded program?
?
C++11
Non-static data member initializers in constant expressions
?
C++11
Looking up _conversion-type-id_s
?
open
Partial ordering and reference collapsing
-
NAD
Unnecessary restriction on auto array types
?
DRWP
Syntactic disambiguation and _trailing-return-type_s
?
C++11
constexpr defaulted copy constructors
?
C++11
constexpr constructors and virtual bases
?
CD3
Converting a braced-init-list default argument
?
CD3
Mixing immediate and non-immediate contexts in deduction failure
12
NAD
Copy-list-initialization and explicit constructors
Yes
C++11
Overload resolution with empty braced-init-list argument
?
dup
Confusing description of ambiguity of destructor name
?
C++11
Variadic templates requiring an empty pack expansion
?
C++11
Creation of array temporaries using a braced-init-list
?
C++11
Pack expansions and dependent calls
?
C++11
abstract-declarator does not permit ... after ptr-operator
?
C++11
"Unused" ellipsis and default arguments in partial ordering
?
C++11
Inconsistently-interrelated examples
?
C++11
Deprecated implicit copy assignment in example
?
C++11
Overloading ambiguity binding reference to function
?
C++11
Hexadecimal floating-point literals vs user-defined literals
?
C++11
constexpr defaulted constructors
?
C++11
Which members does a destructor destroy?
?
C++11
Initializing variant class members
?
C++11
Misleading footnote regarding multiple-declarator declarations
?
C++11
Equivalence of alias templates and class templates
?
C++11
Matching declarations involving decltype
?
C++11
Non-deduced non-final parameter packs
?
CD4
Restriction on alias name appearing in type-id
?
open
Updating Annex C to C99 and C23
-
CD6
Cv-qualification of nested lambda capture
?
CD3
Cv-qualification of incomplete virtual function return types
?
CD3
C compatibility: casting to unqualified void*
?
CD6
Overloading member function templates based on dependent return type
?
C++17
Generic non-template members
?
NAD
odr-use vs template arguments and constexpr functions
?
drafting
Definition problems with constexpr functions
-
open
Unevaluated operands are not necessarily constant expressions
-
open
Instantiation via non-dependent references in uninstantiated templates
-
CD5
"Instantiation context" differs from dependent lookup rules
-
NAD
Deleting a POD via a pointer to base
?
CD3
Incorrect use of term "overloaded" in description of odr-use
?
CD3
Explicit handling of cv-qualification with non-class prvalues
?
CD3
Default template arguments and deduction failure
?
NAD
Mismatch between rvalue reference binding and overload resolution
?
CD3
Use of this in constexpr constructor
?
CD3
Mixed use of the auto specifier
Yes
open
user-defined-integer-literal overflow
-
CD3
Rvalue reference types in _exception-specification_s
?
CD3
reinterpret_cast of an xvalue operand
?
CD3
dynamic_cast of an xvalue operand
?
CD3
Brace elision in array temporary initialization
?
CD5
Imprecise wording regarding dependent types
?
NAD
Implicit definition of static data member of const literal type
?
NAD
Accessibility and function signatures
?
CD4
Common nonterminal for expression and braced-init-list
?
CD3
Incorrect comment in example of template parameter pack restriction
?
NAD
Reference to stdint.h
?
NAD
Lax definition of intmax_t and uintmax_t
?
drafting
Incorrect treatment of contrived object
-
drafting
Additional differences between C++ 2003 and C++ 2011
-
NAD
Object reallocation and reference members
?
NAD
Virtual and dependent base classes
?
CD3
Underspecified destructor exception-specification
?
drafting
Static data members of classes with typedef name for linkage purposes
-
CD4
Should the lifetime of an array be independent of that of its elements?
?
NAD
Trivial destructors and object lifetime
N/A
drafting
Equivalence of alias templates
-
C++14
Direct initialization vs "implicit" conversion in reference binding
?
CD3
Reference list initialization
No
NAD
Can an alias template name the current instantiation?
?
CD3
Lifetime of the underlying array of an initializer_list member
?
CD6
Looking up a conversion-type-id
?
CD4
Dependent calls with _braced-init-list_s containing a pack expansion
?
CD3
String literals in constant expressions
?
open
Side effects in dynamic/static initialization
-
CD3
Binding a reference to an rvalue bit-field
?
CD3
Ill-formed template declarations (not just definitions)
?
CD3
Misplaced function attribute-specifier
?
CD3
Incorrect example in overload resolution
?
CD5
"Temporary objects" vs "temporary expressions"
9
dup
T() for array types
?
CD3
Value initialization of union
?
CD3
noexcept applied to expression of type void
?
NAD
C language linkage for template with internal linkage
?
drafting
Omitted array bound with string initialization
-
CD3
alignof applied to array of unknown size
?
CD3
Modifying an object within a const member function
?
C++14
Overload resolution based on size of array initializer-list
10
CD3
Completeness of class type within an exception-specification
?
CD4
Incorrect note regarding lookup of a member of the current instantiation
?
CD3
What is an "acceptable lookup result?"
?
CD3
Volatile lvalues in constant expressions
?
CD3
Simulated reinterpret_cast in constant expressions
11
CD3
Undefined pointer arithmetic in constant expressions
?
NAD
Pointer arithmetic within standard-layout objects
N/A
CD4
Restrictions on non-type template arguments in partial specializations
12
NAD
constexpr function requirements and class scope
?
NAD
Unnamed scoped enumerations
?
CD3
Syntactic ambiguities with final
?
NAD
Error in pack expansion example
?
CD3
Converting scoped enumerations to bool
?
CD3
Equivalency of dependent calls
9
drafting
Function parameter type decay in templates
-
NAD
Nonexistent nonterminal in alignment-specifier grammar
N/A
CD3
Value initialization and defaulted constructors
?
NAD
Omitted declarator in friend declarations
N/A
dup
Deducing an array bound from an initializer-list
?
CD3
virt-specifier in a defaulted definition
?
CD3
Conflict in reference binding vs overload resolution
?
CD3
Recursive deduction substitutions
?
CD3
Delayed instantiation of noexcept specifiers
10
CD5
const mismatch with defaulted copy constructor
9
CD5
Handling of invalid universal-character-names
?
CD3
Omission of const in a defaulted copy constructor
?
NAD
Layout compatibility and cv-qualification
N/A
CD6
Stringizing, extended characters, and universal-character-names
?
CD3
Definition of "converting constructor"
?
dup
Partial ordering and non-deduced parameters
?
CD4
Aliasing and allocation functions
?
NAD
Parenthesized braced-init-list and arrays
?
CD3
Complete type in member pointer expressions
?
NAD
Bit-field initializers
?
CD6
Order of initialization with multiple declarators
-
C++17
Sequencing of non-class initialization
?
C++14
Adding new special member functions to a class via default arguments
No
CD3
Initialization of anonymous union class members
?
CD3
expression-list initializers and the auto specifier
?
CD3
Consistency of auto in multiple-declarator declarations
?
drafting
Use of auto in a trailing-return-type
-
dup
Consistency of alias template redeclarations
?
CD3
Incorrect exception specification for inherited constructors
?
CD4
Problems with implicitly-declared _exception-specification_s
?
CD3
Inconsistent class scope and completeness rules
?
DRWP
Array and variant members and deleted special member functions
?
CD3
Destructor exceptions for temporaries in noexcept expressions
?
CD3
Aggregates and "user-provided" constructors
?
CD4
Exception specifications of copy assignment operators with virtual bases
?
CD3
_brace-or-equal-initializer_s for function and typedef members
?
CD3
Unintentionally ill-formed constexpr function template instances
?
CD3
constexpr union constructors
?
CD6
constexpr defaulted default constructors
?
CD3
Requirement on _brace-or-equal-initializer_s of literal types
?
CD3
Complete type required for implicit conversion to T&
?
CD3
Triviality vs multiple default constructors
No
CD3
constexpr function parameters
?
CD3
Calling undefined constexpr functions
?
CD3
Deleted constexpr constructors and virtual base classes
?
CD3
Use of this in a constant expression
?
CD3
Value initialization and defaulted constructors (part 2)
?
CD3
Function invocation substitution of this
?
CD3
identifier-list cannot contain ellipsis
?
NAD
Deduction from T&& in return types
?
CD3
Cross-references incorrect in conversion function template argument deduction
?
dup
Overload resolution changes matching reference-binding changes
?
CD3
Qualification conversion vs difference in reference binding
?
CD3
Reference to anonymous union?
?
C++14
static_cast of temporary to rvalue reference
Yes
dup
Access declarations not mentioned in Annex C
?
CD5
When is an instantiation required?
?
NAD
Is std::initializer_list an aggregate?
?
CD3
Type definitions in template-parameter _parameter-declaration_s
?
CD3
Implicitly-declared special member functions and default nothrow
?
CD3
Dead code for constructor names
?
CD3
Clarifying discarded-value expressions
?
NAD
reinterpret_cast in constant expressions
N/A
CD3
Syntactic forms of conversion functions for surrogate call functions
?
NAD
Explicitly-specified partial argument list with multiple parameter packs
?
CD3
Missing non-deduced context for decltype
?
CD3
Missing non-deduced context following a function parameter pack
?
NAD
Recursive reference in trailing-return-type
?
drafting
Dependency of alias template specializations
-
CD4
Conversions to parameter types with non-deduced template arguments
6
CD3
Explicit conversion functions for references and non-references
?
C++17
Pack expansions in _using-declaration_s
?
CD3
Incomplete types as parameters of deleted functions
?
C++17
Partial ordering of variadic templates reconsidered
?
C++23
Deferred instantiation and checking of non-static data member initializers
?
CD4
Class completeness in non-static data member initializers
?
CD3
Non-type template parameters of type std::nullptr_t
?
CD3
Deduction with multiple function parameter packs
?
NAD
Function pointer equality
N/A
CD3
Similar types and reference compatibility
?
CD3
Move functions too often deleted
?
CD6
Universal-character-names in comments
?
drafting
Object reallocation in unions
-
CD3
constexpr and mutable members of literal types
?
CD3
_ref-qualifier_s and added parameters of non-static member function templates
?
NAD
Integral to bool conversion in converted constant expressions
No
CD3
What is "the same aggregate initialization?"
?
CD3
What is the second standard conversion sequence of a list-initialization sequence?
?
CD3
Reference overload tiebreakers should apply to rvalue references
?
CD3
More on global scope :: in nested-name-specifier
?
CD3
Problems in specifying pointer conversions
?
CD3
Missing cases of value-dependency
?
drafting
Binding an rvalue reference to a reference-unrelated lvalue
-
CD3
Missing prohibition of block-scope definition of extern object
?
CD3
Function cv-qualifiers and typeid
?
C++14
Pointers/references to functions with cv-qualifiers or ref-qualifier
No
CD3
Type of initializer_list backing array
?
NAD
Evaluation order in aggregate initialization
?
NAD
Abstract final classes
?
NAD
Full expressions and aggregate initialization
?
dup
Type of character literals containing universal-character-names
?
CD3
Convertibility of nullptr to bool
5
C++14
When must sub-object destructors be accessible?
?
CD3
Base-class subobjects of standard-layout structs
?
CD5
Allowing additional parameter types in defaulted functions
?
NAD
Default constructor and deleted or inaccessible destructors
?
CD3
Dynamic const objects
?
NAD
Scope of a member template's template parameter
?
open
Pack expansion into fixed alias template parameter list
-
PR66834,PR60273,PR59498,PR51239
CD3
Exceptions from other than _throw-expression_s
?
C++17
Newly-ambiguous variadic template expansions
?
NAD
trailing-return-type and point of declaration
N/A
NAD
Parenthesized braced-init-list
?
CD3
template-id as the declarator for a class template constructor
?
open
Interaction of constant expression changes with preprocessor expressions
-
CD3
alignas in alias-declaration
?
CD3
Non-dereference use of invalid pointers
?
CD3
Lookup and friend template declarations
?
CD3
Acceptable _decltype-specifier_s used as _nested-name-specifier_s
?
C++14
Unclear wording for signal handler restrictions
?
CD3
Argument-dependent lookup in the range-based for
?
NAD
Default arguments and non-static data members
?
drafting
Type adjustments of non-type template parameters
-
dup
Argument-dependent lookup of begin and end
?
CD4
Member function with no ref-qualifier and non-member function with rvalue reference
?
CD3
static_cast of bit-field lvalue to rvalue reference
?
NAD
Integral values of type bool
N/A
see CWG 903
CD3
Narrowing conversion of negative value to unsigned type
?
CD3
INT_MIN % -1
?
CD4
Objects with no linkage in non-type template arguments
?
NAD
Value-initialized objects may be constants
N/A
CD3
Volatile members in literal classes?
Yes
CD3
Passing constants through constexpr functions via references
?
CD3
Lvalue converted constant expressions
?
CD3
Address constant expression designating the one-past-the-end address
?
CD3
Undefined behavior in left-shift
?
CD3
Address of incomplete type vs operator&()
?
open
Reference-binding tiebreakers in overload resolution
-
C++14
What is an empty union?
?
NAD
Narrowing conversions to bit-fields
?
CD3
Deduction failure vs "ill-formed, no diagnostic required"
?
drafting
extern "C" alias templates
-
CD3
Negative array bound in a new-expression
?
CD4
noexcept and std::bad_array_new_length
?
C++14
Visible sequences of side effects are redundant
?
CD4
List-initialization of aggregate from same-type object
?
CD5
typeid, overload resolution, and implicit lambda capture
?
CD5
Omitted bound in array new-expression
?
NAD
Thread migration
?
CD3
Nested type of non-dependent base
?
CD3
odr-use of reference variables
?
CD3
Syntax of literal-operator-id
?
NAD
User-defined literals and <inttypes.h> format macros
?
CD3
Errors in [[carries_dependency]] example
?
CD3
Definition of user-defined type
?
CD3
Definition of a friend outside its namespace
?
CD6
template keyword for dependent template template arguments
?
CD3
Literal operators and default arguments
?
CD3
Constant initialization via non-constant temporary
?
CD3
Increment/decrement operators with reference parameters
?
CD3
Point of declaration of enumeration
?
NAD
Non-dependent _static_assert-declaration_s
?
CD4
Unused local classes of function templates
?
drafting
Out-of-class definition of member unscoped opaque enumeration
-
drafting
Base-derived conversion in member pointer deduction
-
CD3
When are inheriting constructors declared?
?
drafting
_abstract-pack-declarator_s in _type-id_s
-
CD3
Is value-initialization of an array constant initialization?
?
CD4
List-initialization from a string literal
?
CD3
Move construction and rvalue reference members
?
CD4
Exception specifications on template destructors
?
C++14
Criteria for move-construction
?
CD3
Temporary initialization for reference binding in list-initialization
?
CD3
Partial specialization of variadic class template
?
CD4
Triviality with deleted and missing default constructors
No
NAD
Aggregate initialization with parenthesized string literal
?
dup
Lifetime of temporaries in range-based for
?
DRWP
Missing case for deleted move assignment operator
?
CD6
Name lookup of dependent conversion function
?
NAD
Nested braces in list-initialization
?
CD3
Value initialization of unions with member initializers
?
CD3
Exceptions during copy to exception object
?
CD3
Pointer arithmetic after derived-base conversion
?
dup
Direct binding of reference to temporary in list-initialization
?
CD3
Value category of initializer_list object
?
CD3
Value initialization with trivial inaccessible default constructor
?
C++14
Template initializer-list constructors
?
C++14
Definition of "non-template function"
?
CD3
cv-qualified references via decltype
?
CD3
const volatile variables and the one-definition rule
?
CD3
Pointer comparison vs qualification conversions
11
drafting
initializer_list deduction failure
-
C++14
Ambiguity between enumeration definition and zero-length bit-field
?
CD3
Modulo 2_n_ arithmetic for implicitly-unsigned types
?
CD3
Definition of "virtual function call"
?
drafting
Unclear/missing description of behavior during construction/destruction
-
CD4
Explicit default constructors and copy-list-initialization
?
NAD
Conflicting default and variadic constructors
?
NAD
Alias template specialization vs pack expansion
?
dup
T{expr} with reference types
?
CD3
Access checking for initializer_list array initialization
?
CD5
Point of declaration in range-based for
?
drafting
Incompletely-defined class template base
-
NAD
Array bound inference in temporary array
No
dup
Dependent-class lookup in the current instantiation
?
CD3
Assignment from braced-init-list
?
CD3
Repeated _cv-qualifier_s in declarators
?
drafting
Nomenclature for variable vs reference non-static data member
-
drafting
Member access in out-of-lifetime objects
-
CD3
Definition of "access" (verb)
?
CD3
Explicit instantiation and member templates
?
CD3
Function pack expansion for member initialization
?
dup
cv-qualification of prvalue of type "array of class"
?
CD3
typeid in core constant expressions
?
drafting
Overload resolution with temporary from initializer list
-
CD3
Optional compile-time evaluation of constant expressions
?
CD3
C-style cast in braced-init-list assignment
?
CD3
Definition of "character type"
?
NAD
Use of address constants in constant expressions
N/A
CD3
cv void return types
?
drafting
Compound assignment of braced-init-list
-
CD3
Implicit conversion sequence for empty initializer list
?
CD3
Linkage of member of unnamed namespace
?
NAD
friend function templates defined in class templates
N/A
NAD
Errors in function template default arguments
N/A
NAD
typename keyword in _alias-declaration_s
?
drafting
Copy/move construction and conversion functions
-
open
Overloaded comma operator with void operand
-
CD3
Parenthesized throw-expression operand of conditional-expression
No
C++14
Wording problems in using-declaration specification
?
CD4
_exception-specification_s and defaulted special member functions
?
CD3
sizeof and xvalue bit-fields
?
drafting
Access and alias templates
-
NAD
Language linkage and function type compatibility
N/A
CD3
Constructors and explicit conversion functions in direct initialization
?
CD3
Language linkage of converted lambda function pointer
?
CD4
Unused arguments in alias template specializations
?
CD3
String too long in initializer list of new-expression
?
CD3
Gratuitous lvalue-to-rvalue conversion in conditional-expression with throw-expression operand
10
CD4
Aggregates with empty base classes
?
C++14
Non-static data member initializers and union ctor-initializer
?
CD3
List-initialization and overloaded function disambiguation
?
NAD
Template argument deduction from an initializer list
?
NAD
Copy elision and lifetime of initializer_list underlying array
?
NAD
Should new std::initializer_list<T> be ill-formed?
?
C++14
Inheriting constructors and copy/move constructors
?
dup
Temporary lifetime extension with intervening cast
?
C++14
Deducing a function parameter pack before ellipsis
?
C++14
Address of subobject as non-type template argument
?
CD4
cv-qualification for indirect reference binding via conversion function
?
CD4
Incorrect example for rvalue reference binding via conversion function
?
CD4
Inherited constructor characteristics
?
NAD
Explicitly-defaulted constexpr functions in wrapper templates
?
C++14
Incorrect definition of "strict pointer safety"
?
C++14
Discarded-value volatile xvalues
?
NAD
Unnecessary restrictions on partial specializations
?
NAD
Value-initialization of aggregates
?
C++14
Return by converting move constructor
5
drafting
Default arguments in explicit instantiations
-
CD5
When are constexpr member functions defined?
Yes
drafting
Template default arguments and deduction failure
-
C++14
Incorrect example of unspecified behavior
?
drafting
Deducing function types from cv-qualified types
-
NAD
Value category of member access of rvalue reference member
N/A
NAD
Naming a destructor via decltype
?
C++14
constexpr initialization and nested anonymous unions
?
CD3
Deducing cv-qualified auto
?
CD4
Ambiguous ranking of list-initialization sequences
?
CD4
Bypassing non-copy/move constructor copying
?
CD4
Deducing array bound and element type from initializer list
?
C++14
When do template parameters match?
?
C++14
"Parameter type" of special member functions
?
drafting
Lazy declaration of special members vs overload errors
-
C++14
Constructors "involved in" subobject initialization
?
CD4
Non-array objects as array[1]
?
CD3
Misleading constexpr example
?
C++14
Criterion for equality of pointers to members
?
CD4
Lifetime of initializer_list underlying array
?
CD4
Erroneous reference initialization in example
?
C++14
Promotion of enumeration with fixed underlying type
10
review
Linkage of specialization vs linkage of template arguments
?
CD4
Errors resulting from giving unnamed namespaces internal linkage
?
C++14
Double temporaries in reference initialization
?
CD3
Misleading parenthetical comment for explicit destructor call
?
NAD
sizeof closure class
?
C++14
Lambdas in template parameters
?
C++14
Operator lookup in trailing return type
?
open
Default arguments and function parameter packs
-
drafting
Cv-qualification in deduction of reference to array
-
C++14
Deleted default constructor for abstract class
?
C++14
Implicit lambda capture and anonymous unions
?
C++14
Constant expressions and lambda capture
?
CD4
Address of pure virtual function vs odr-use
?
CD4
Alignment of types, variables, and members
?
CD6
Disambiguation parsing and template parameters
?
open
alignas and non-defining declarations
-
C++14
Gratuitously-unsigned underlying enum type
?
open
Definition of current instantiation
-
open
User-defined literals and extended integer types
-
C++20
Member initializers in anonymous unions
?
C++17
Empty aggregate initializer for union
?
drafting
Deleted default union constructor and member initializers
-
NAD
Destruction of union members with member initializers
?
open
Adding spaces between tokens in stringizing
-
dup
constexpr member functions in _brace-or-equal-initializer_s
?
NAD
Agreement of dependent alignas specifiers
?
open
Deallocation function templates
-
C++14
Can a closure class be a literal type?
?
CD4
Multiple default constructor templates
?
CD4
Incorrect overload resolution for single-element initializer-list
?
CD5
Lambda capture in member initializers
?
CD4
Copy-initialization in member initialization
?
drafting
Temporary storage duration
-
drafting
How similar are template default arguments to function default arguments?
-
CD5
Bits required for negative enumerator values
?
NAD
Recursion in constexpr template default constructor
?
CD4
Declaring an explicit specialization of a scoped enumeration
?
CD4
_exception-specification_s and pointer/pointer-to-member expressions
?
CD5
Array of abstract instance of class template
?
NAD
Assignment in member initializer
?
DRWP
Missing requirements for prvalue operands
?
NAD
Default arguments for template parameter packs
N/A
NAD
Equivalent _exception-specification_s in function template declarations
N/A
CD4
Identical inheriting constructors via default arguments
?
CD5
_decltype-specifier_s, abstract classes, and deduction failure
?
drafting
Type agreement of non-type template arguments in partial specializations
-
C++14
thread_local vs block extern declarations
?
C++14
Error in the syntax of mem-initializer-list
?
NAD
Class prvalues in reference initialization
N/A
NAD
Lifetime extension of temporary via reference to subobject
N/A
CD4
Object addresses in constexpr expressions
?
CD4
Removing deprecated increment of bool
?
dup
Literal types and constexpr defaulted constructors
Dup of 1360
drafting
Line endings in raw string literals
-
CD6
Encoding of numerically-escaped characters
?
CD4
Attributes for namespaces and enumerators
10
C++14
Deleted default constructor for abstract class via destructor
?
open
Initialization order of thread_local template static data members
-
C++14
member-declaration requirements and unnamed bit-fields
?
NAD
Preservation of infinite loops
?
C++14
Capturing function parameter packs
?
NAD
Capturing an empty pack expansion
?
C++14
Argument-dependent lookup of lambdas used in default arguments
?
drafting
Declaration matching in explicit instantiations
-
C++14
Address constant expressions
?
NAD
Function exiting via exception called by destructor during unwinding
?
drafting
Parameter type determination still not clear enough
-
C++14
auto return type for main
Yes
drafting
auto as conversion-type-id
-
NAD
Unclear rules for deduction with cv-qualification
?
CD4
Layout compatibility with multiple empty bases
No
C++14
Clarifying overload resolution for the second step of copy-initialization
?
C++14
Return type deduction for address of function
?
NAD
Size limit for automatic array object
?
drafting
auto return type for allocation and deallocation functions
-
C++17
Constant initialization via aggregate initialization
?
NAD
Naming the type of an array of runtime bound
N/A
VLAs removed
NAD
Range-based for and array of runtime bound
N/A
VLAs removed
drafting
Including <initializer_list> for range-based for
-
C++14
_init-capture_s and nested lambdas
?
open
Overly-restrictive rules on function templates as allocation functions
-
CD4
Incorrect example after constexpr changes
N/A
works as expected
C++14
Static constexpr member functions for non-literal classes
7
NAD
Value category of noexcept expression
N/A
CD4
Which variables are "explicitly declared const?"
?
C++14
Conversions of operands of built-in operators
?
NAD
Volatile constexpr variables
Yes
C++14
Syntactic nonterminal for operand of alignas
?
C++14
Associated namespace for local type
?
C++14
Argument-dependent lookup and opaque enumerations
?
C++14
Associated namespaces of doubly-nested classes
?
C++14
Superfluous semicolons in class definitions
Yes
CD4
Restriction on reference to temporary as a constant expression
?
NAD
Lifetime extension via init-capture
?
CD4
Temporary lifetime and non-static data member initializers
No
CD4
Lifetime extension and copy elision
No
DRWP
Files ending in \
?
open
Does befriending a class befriend its friends?
-
NAD
Does the special rvalue-reference deduction apply to alias templates?
?
drafting
Array vs sequence in object representation
?
drafting
Rephrasing the definition of "anonymous union"
-
NAD
Language linkage of names of functions with internal linkage
?
CD5
Type checking in explicit instantiation of variable templates
?
CD4
Unclear specification of "more specialized"
?
drafting
alignas pack expansion syntax
-
C++14
template in elaborated-type-specifier without nested-name-specifier
?
CD4
overly-strict requirements for names with C language linkage
?
drafting
Stringizing raw string literals containing newline
-
C++17
Missing template keyword in class-or-decltype
10
CD6
Missing specification of variable template partial specializations
?
CD4
constexpr variable template declarations
?
dup
Linkage of variable template specializations
?
NAD
odr-use of this from a local class
?
CD4
Access and inherited constructor templates
?
C++14
When are default arguments evaluated?
?
C++14
Missing specification of type of binary literal
?
drafting
Macro invocation spanning end-of-file
-
CD4
Layout compatibility and cv-qualification revisited
?
NAD
Macro invocation in #include directive
?
review
Diagnosing ODR violations for static data members
?
CD4
Should lambda to function pointer conversion function be noexcept?
11
drafting
Multicharacter user-defined character literals
-
CD6
Unclear rules for deduction failure
?
NAD
Trailing return type with nested function declarator
?
CD6
Declarator operators and conversion function
No
NAD
Type of a specialization of a variable template
?
CD5
Type of an explicit instantiation of a variable template
?
CD6
Matching declarations and definitions of variable templates
?
drafting
Can a variable template have an unnamed type?
-
NAD
is_trivially_X and definitions of special member functions
?
C++14
Defining types in _condition_s and range-based for statements
?
CD6
Return type and value for operator= with ref-qualifier
?
CD4
Nontrivial deleted copy functions
No
drafting
Out-of-range literals in _user-defined-literal_s
-
CD4
Inheriting constructor templates in a local class
?
C++14
Type dependence of call to a member of the current instantiation
?
C++14
Explicit instantiation/specialization of inheriting constructor templates
?
C++14
Conversion of floating point to enumeration
?
C++14
Disambiguation of noexcept
?
C++14
odr-use of class object in lvalue-to-rvalue conversion
?
CD5
_using-declaration_s and scoped enumerators
-
NAD
_init-capture_s in nested lambdas
N/A
CD4
Unordered initialization for variable template specializations
?
NAD
thread_local constexpr variable
Yes
C++14
Are volatile scalar types trivially copyable?
?
C++14
Constant initialization of reference to function
?
CD4
Placement new with a null pointer
?
NAD
Confusing definition for constant initializer
?
CD4
"Argument" vs "parameter"
?
CD4
Non-trivial operations vs non-trivial initialization
?
CD4
Right-recursion in mem-initializer-list
?
CD4
decltype-specifier in nested-name-specifier of destructor
No
NAD
Declaration of partial specialization of static data member template
?
drafting
Out-of-class partial specializations of member templates
-
CD4
Direct-list-initialization of a non-class object
?
CD4
Const integral subobjects
?
CD4
Explicit conversion in copy/move list initialization
?
C++14
UTF-8 code units in plain char
?
C++14
Access of member corresponding to init-capture
?
NAD
Runtime check on size of automatic array
?
C++14
Reserved identifier used in literal-operator-id example
?
open
Length mismatch in template type deduction
-
C++14
Hiding of function from using-declaration by signature
?
C++14
Overflow of enumeration used as enumerator value
?
CD4
Values outside the range of the values of an enumeration
?
C++14
Scoped enumeration in a switch statement
?
NAD
Zero-element array of runtime bound
?
C++14
Catching a base class of the exception object
?
C++14
Type matching of non-type template parameters and arguments
?
CD6
Restricted lookup in nested-name-specifier
?
C++14
__func__ in a lambda body
?
C++14
Out-of-lifetime lvalue-to-rvalue conversion
?
CD4
Discrepancy between subobject destruction and stack unwinding
?
C++14
Undefined behavior of line splice in raw string literal
?
CD4
Replacement of class objects containing reference members
?
CD4
Empty pack expansion in dynamic-exception-specification
?
C++14
exception-specification in explicitly-defaulted functions
?
CD4
Type dependency of __func__
?
CD4
Explicit instantiation/specialization of generic lambda operator()
No
CD5
Converting from nullptr_t to bool in overload resolution
?
CD4
Form of initialization for nullptr_t to bool conversion
?
NAD
Why are virtual destructors non-trivial?
?
C++17
Concurrent execution during static local initialization
?
NAD
Conflicting diagnostic requirements for template definitions
?
C++14
Effect of merging allocations on memory leakage
?
C++14
Uninitialized unsigned char values
?
CD4
Sized deallocation of array of non-class type
?
open
Array reference vs array decay in overload resolution
-
open
Ellipsis following function parameter pack
-
CD4
Incorrect restrictions on cv-qualifier-seq and ref-qualifier
?
NAD
Incorrect example of explicit specialization of member enumeration
?
CD4
thread_local in explicit specializations
?
C++17
template keyword and alias templates
Yes
resolved by CWG 1710
CD4
Disambiguating original-namespace-definition and extension-namespace-definition
?
CD4
Is all-bits-zero for null characters a meaningful requirement?
?
CD4
Are all bit patterns of unsigned char distinct numbers?
?
NAD
_exception-specification_s of template arguments
?
CD4
mutable and non-explicit const qualification
?
CD4
Pointer to member of nested anonymous union
?
CD4
Kind of expression referring to member of anonymous union
?
CD4
char16_t string literals and surrogate pairs
?
CD5
opaque-enum-declaration as member-declaration
?
CD4
Partial specialization and friendship
?
CD4
Conversions of array operands in _conditional-expression_s
?
CD4
Virtual bases and move-assignment
?
CD4
Order of destruction of array elements after an exception
?
drafting
Constructor templates vs default constructors
-
CD4
Narrowing and template argument deduction
?
CD4
Invalid _ud-suffix_es
?
CD4
Lookup of deallocation function in a virtual destructor definition
?
C++17
Omission of template in a typename-specifier
Yes
resolved by CWG 1710
CD4
Direct vs indirect bases in standard-layout classes
10
CD4
Default arguments in _lambda-expression_s
?
CD4
Lifetime extension in aggregate initialization
?
CD4
Unclear specification of bit-field values
?
drafting
Linkage specifications and nested scopes
-
CD6
Visibility and inherited language linkage
?
CD4
Acceptable scopes for definition of partial specialization
?
CD6
Qualified typedef names
?
CD6
Qualified redeclarations in a class member-specification
?
CD6
Lookup of parameter names in _lambda-expression_s
?
CD4
String literal uniqueness in inline functions
?
CD4
Completeness of return type vs point of instantiation
?
C++17
Partial ordering between variadic and non-variadic function templates
?
NAD
const floating-point in constant expressions
N/A
drafting
Reference binding with ambiguous conversions
-
CD6
nested-name-specifier ambiguity
?
CD6
Dependent unnamed types
?
CD4
Repeated specifiers
?
NAD
Explicitly vs implicitly deleted move constructors
?
CD4
Casting to incomplete enumeration
?
NAD
friend declarations naming implicitly-declared member functions
?
CD4
Constant initialization binding a reference to an xvalue
?
CD6
Dependent member lookup before <
?
CD5
Use of class type being defined in trailing-return-type
?
CD6
Use of this in friend and local class declarations
?
CD4
Definition via unqualified-id and using-declaration
?
CD6
Lookup of block-scope extern declarations
?
drafting
Non-deleted explicit specialization of deleted function template
-
CD6
< following template injected-class-name
?
open
Unevaluated operands and "carries a dependency"
?
CD4
Bit-field in conditional operator with throw operand
?
open
Defining "immediate context"
-
drafting
Point of instantiation of a variable template specialization
-
CD4
Declaring explicitly-defaulted implicitly-deleted functions
?
CD4
Clarifying compatibility during partial ordering
?
CD4
Parenthesized constructor and destructor declarators
?
CD6
Variable templates and the ODR
?
CD4
Differences between definition context and point of instantiation
?
CD4
decltype(auto) in _new-expression_s
?
CD4
Wording issues regarding decltype(auto)
?
dup
Defining "allocated storage"
Dup of 2551
drafting
Disallowing use of implicitly-deleted functions
-
dup
Out-of-lifetime access to nonstatic data members
?
open
Indirect nested classes of class templates
-
CD5
Additional questions about bits
?
CD4
Comparing pointers to union members
?
CD5
UTF-16 in char16_t string literals
?
C++17
What is a "direct member?"
?
CD4
Values of a bit-field
?
CD5
Determining "corresponding members" for friendship
?
CD4
Requirements on thrown object type to support std::current_exception()
?
NAD
List-initialization of array objects
N/A
CD4
Pointer arithmetic and multi-level qualification conversions
?
CD4
Initializing variant members with non-trivial destructors
?
NAD
Function/expression ambiguity with qualified parameter name
?
drafting
Meaning of "placeholder type"
-
NAD
thread_local vs _linkage-specification_s
N/A
test compiles
CD4
Contradictory wording about definitions vs explicit specialization/instantiation
?
NAD
Non-identifier characters in ud-suffix
N/A
CD4
Instantiations of constexpr templates that cannot appear in constant expressions
?
CD4
Protected member access from derived class friends
?
CD4
Type vs non-type template parameters with class keyword
?
CD4
Reordering declarations in class scope
?
NAD
Preventing explicit specialization
N/A
CD4
Return type deduction from return with no operand
?
CD4
operator auto template
No
NAD
Inadequate definition of alignment requirement
N/A
CD4
When are parameter objects destroyed?
?
CD4
Standard-layout classes and unnamed bit-fields
No
CD4
Reserved names without library use
?
drafting
Protected access to constructors in _mem-initializer_s
-
CD6
Unclear requirements for same-named external-linkage entities
?
CD4
Return value of a function is underspecified
?
CD4
Language linkage for main()
?
CD4
Problems with :: as nested-name-specifier
?
CD4
Implicitly-declared default constructors and explicit
?
drafting
Unclear effect of #pragma on conformance
-
drafting
Member type depending on definition of member function
-
CD4
Move constructor/assignment for closure class
?
CD4
Use of auto in function type
?
CD5
Function-style cast with _braced-init-list_s and empty pack expansions
?
CD6
_typedef-name_s and _using-declaration_s
?
CD4
Deleted conversions in conditional operator operands
No
CD6
Repeated alias templates
?
review
ODR vs alternative tokens
?
CD6
Use of "equivalent" in overload resolution
?
CD4
Value-dependent constant expressions
?
CD6
Do friend declarations count as "previous declarations"?
?
drafting
punctuator referenced but not defined
-
CD4
What makes a conversion "otherwise ill-formed"?
?
CD4
What declarations are introduced by a non-member using-declaration?
?
NAD
Default template arguments for members of class templates
?
NAD
Dependent types and injected-class-names
?
NAD
Name lookup in member friend declaration
?
CD6
_using-declaration_s and default arguments
?
CD6
Dual destructor lookup and _template-id_s
?
CD4
Member class template with the same name as the class
?
CD5
"Shall" requirement applied to runtime behavior
?
CD4
constexpr constructor with non-literal base class
?
CD5
exception-specification of defaulted function
?
CD5
decltype((x)) in _lambda-expression_s
?
extension
Duplicate standard attributes
11
open
Potentially-invoked destructors in non-throwing constructors
-
CD4
"Same cv-unqualified type"
?
NAD
decltype-qualified enumeration names
N/A
CD5
friend templates with dependent scopes
?
open
Overload resolution for ! with explicit conversion operator
-
CD4
Qualification mismatch in pseudo-destructor-name
?
NAD
constexpr constructors and point of initialization of const variables
N/A
CD4
Injected class template names and default arguments
?
NAD
Lvalues of type void
N/A
review
Definition of "literal" and kinds of literals
?
CD4
Bit-field prvalues
?
CD4
Potential results of subscript operator
?
dup
Lifetime of temporaries in _init-capture_s
?
NAD
Triviality of deleted special member functions
?
CD4
template keyword following namespace nested-name-specifier
?
CD4
init-declarator-list vs member-declarator-list
?
CD5
Default-constructible and copy-assignable closure types
?
CD4
Bit-field results of conditional operators
?
NAD
Implementation limit for initializer-list elements
N/A
NAD
Relaxing exception-specification compatibility requirements
N/A
CD5
Reuse of placement arguments in deallocation
-
CD6
Dependent _qualified-id_s
?
CD5
Incomplete specification of function pointer from lambda
?
CD5
Should hosted/freestanding be implementation-defined?
?
open
Argument conversions to nondeduced parameter types revisited
-
CD4
static_assert in anonymous unions
Yes
CD4
SFINAE and inherited constructor default arguments
?
CD4
Incorrect reference to trailing-return-type
?
CD5
Unspecified meaning of "bit"
?
open
New C incompatibilities
-
CD5
Friend declarations naming members of class templates in non-templates
?
CD4
_exception-specification_s vs pointer dereference
?
NAD
Digit separators following non-octal prefix
?
NAD
exception-specification of replacement global new
?
CD4
"sequenced after" instead of "sequenced before"
?
NAD
Restructuring description of ranks of conversion sequences
?
CD4
Cv-qualification and literal types
?
CD4
Constant expressions and library undefined behavior
?
DR
Data races and common initial sequence
?
DRWP
typeid null dereference check in subexpressions
?
CD4
#elif with invalid controlling expression
?
CD4
Reuse of storage of automatic variables
?
NAD
decltype(auto) with direct-list-initialization
N/A
CD4
decltype(auto) with parenthesized initializer
?
CD4
Inadvertently inherited copy constructor
?
NAD
Visibility of entity named in class-scope using-declaration
?
C++17
Potentially-concurrent actions within a signal handler
?
open
Type of __func__
-
CD4
Implementation-defined identifier characters
?
NAD
opaque-enum-declaration in alias-declaration?
?
open
Explicit casts to reference types
-
CD4
Colon following enumeration elaborated-type-specifier
No
CD4
Temporary lifetime and move-elision
?
NAD
Address of typeid in constant expressions
?
CD6
Missing exclusion of ~S as an ordinary function name
-
NAD
Ambiguity resolution for (T())*x
?
CD4
Unclear disambiguation of destructor and operator~
?
CD6
Identifier character restrictions in non-_identifier_s
-
DRWP
Which parameter-declaration-clause in a lambda-expression?
?
NAD
Redundant specification of non-type typename-specifier
N/A
CD4
Permissible declarations for _exception-specification_s
?
NAD
Ambiguity of _namespace-alias_es
?
drafting
Contradictory results of failed destructor lookup
-
CD4
Redundant description of explicit constructor use
?
drafting
Alias template specialization in template member definition
-
drafting
Equivalent but not functionally-equivalent redeclarations
-
CD4
Implicit contextual conversions and explicit
?
NAD
Deduction extending parameter pack
?
CD5
Inappropriate use of virt-specifier
?
NAD
Lossless narrowing conversions
?
NAD
Unknown bound array member with brace-or-equal-initializer
?
drafting
odr-use and delayed initialization
-
NAD
constexpr static data members across translation units
?
CD4
Ambiguity between dependent and non-dependent bases in implicit member access
?
drafting
Insufficient restrictions on parameters of postfix operators
-
CD4
Ambiguity due to optional decl-specifier-seq
?
CD4
Inheriting constructors vs default arguments
?
CD4
new (std::nothrow) int[N] can throw
?
drafting
Use of template<> defining member of explicit specialization
-
dup
Confusing wording regarding multiple template<> prefixes
?
CD4
_exception-specification_s and non-type template parameters
?
drafting
Reference list-initialization ignores conversion functions
14
DRWP
Placement new and previous initialization
?
NAD
Additional sources of xvalue expressions
N/A
CD4
Representation of source characters as universal-character-names
?
CD4
header-name outside #include directive
?
CD4
non-directive is underspecified
?
open
White space within preprocessing directives
-
drafting
Zero-argument macros incorrectly specified
-
CD4
Unions with mutable members in constant expressions
?
NAD
Incorrect constexpr reference initialization requirements
?
CD4
Cv-qualified void types
?
CD6
Argument-dependent lookup for operator=
?
CD4
Default _template-argument_s underspecified
?
CD6
Unclear specification of class scope
?
CD4
_exception-specification_s and conversion operators
?
C++17
Unclear effect of reference capture of reference
?
CD4
Lifetime of references
?
drafting
Pointer subtraction in large array
-
NAD
Unneeded deallocation signatures
?
CD4
odr-use of deleted virtual functions
?
CD4
Confusing wording in description of conversion function
?
CD4
Flowing off end is not equivalent to no-expression return
?
dup
Qualification conversion vs reference binding
Dup of 2352
CD4
Member references omitted from description of storage duration
?
CD5
Inadequate description of odr-use of implicitly-invoked functions
?
dup
Function template redeclaration via alias template
?
CD4
Copy elision in constant expressions
?
drafting
Composite reference result type of conditional operator
-
CD4
Dependent types and unexpanded parameter packs
?
dup
Declaration matching via alias templates
?
CD4
Zero-initialization and constexpr
?
CD4
Unclear requirements for multiple alignas specifiers
?
drafting
Converting constructors in rvalue reference initialization
-
dup
Abstract class return type in decltype operand
?
NAD
Access of injected-class-name with template arguments
?
CD4
Missing incompatibility for &&
?
CD4
Default _template-argument_s of variable templates
11
CD4
Redundant restriction on partial specialization argument
?
NAD
Deprecating uncaught_exception()
?
CD3
Multi-section example is confusing
?
NAD
Refactoring parameters-and-qualifiers
?
drafting
Alias templates and template declaration matching
-
CD4
Document C++14 incompatibility of new braced deduction rule
?
CD4
Constant conversions to bool
?
CD4
trailing-return-type no longer ambiguous
?
CD4
Namespace for explicit class template specialization
?
drafting
Exceptions and deallocation functions
-
drafting
Generalized template arguments and array-to-pointer decay
-
CD4
decltype(auto) and void
?
CD5
"Identical" template parameter lists
?
C++17
Incomplete thread specifications
?
CD4
Coordinating "throws anything" specifications
?
open
C-style casts that cast away constness vs static_cast
-
DRWP
List initializer in non-type template default argument
?
NAD
Consolidate specification of linkage
?
CD5
Simplifying alias rules
?
CD4
Template argument deduction vs overloaded operators
?
C++20
auto in non-generic lambdas
?
DRWP
Missing description of class SFINAE
?
drafting
Explicitly-specified non-deduced parameter packs
-
drafting
Member function calls in partially-initialized class objects
-
drafting
Template template arguments with default arguments
-
CD6
More errors from internal-linkage namespaces
?
CD5
Linkage and deduced return types
?
NAD
Deduced return type for explicit specialization
?
CD4
Inline namespace after simplifications
?
CD6
Class template redeclaration requirements
?
CD4
Type/nontype hiding in class scope
Yes
CD4
Conflicting specifications for dependent _decltype-specifier_s
?
CD6
Current instantiation of a partial specialization
?
CD4
Does type-dependent imply value-dependent?
Yes
open
Generated variadic templates requiring empty pack
-
CD4
When can/must a defaulted virtual destructor be defined?
?
CD4
Do destructors have names?
?
CD6
using-declaration with dependent nested-name-specifier
?
CD4
typedef with no declarator
?
C++23
Default argument instantiation for member functions of templates
?
drafting
Allocating memory for exception objects
-
drafting
Type-dependence of local class of function template
-
CD4
Passing short initializer lists to array reference parameters
?
CD4
List-initialization of arguments for constructor parameters
?
drafting
Overload resolution and invalid rvalue-reference initialization
-
NAD
Name lookup of mem-initilizer-id
?
CD4
[[ appearing in a balanced-token-seq
8
CD5
Example with empty anonymous union member
?
CD5
Deduced return type in redeclaration or specialization of function template
?
CD4
Referring to parameters in unevaluated operands of default arguments
11
CD5
Incorrect cases of odr-use
?
CD4
NSDMIs and deleted union default constructors
?
CD4
Invalid example of adding special member function via default argument
?
drafting
Reference odr-use vs implicit capture
-
NAD
Left shift of negative value by zero bits
N/A
CD5
Late tiebreakers in partial ordering
?
drafting
Restricting selection of builtin overloaded operators
-
drafting
Dependency via non-dependent base class
-
CD4
Deducing reference non-type template arguments
?
CD5
Deduction failure and overload resolution
?
CD4
Qualification conversion for pointer-to-member handler matching
?
C++17
Trivial copy/move constructor for class with volatile member
10
CD4
Capturing rvalue references to functions by copy
?
CD4
Constraints on literal unions
10
extension
Lambdas and noreturn attribute
?
CD4
Is uncaught_exceptions() per-thread?
?
CD4
Inferring the bound of an array static data member
?
C++17
Value-dependent address of static data member of class template
?
CD4
Incorrect description of type- and value-dependence
?
DRWP
Constructor checking in new-expression
?
CD5
Lvalue-to-rvalue conversion is irrelevant in odr-use of a reference
?
dup of 2083
CD4
Internal-linkage constexpr references and ODR requirements
?
open
When do the arguments for a parameter pack end?
-
CD4
Unclear restrictions on use of function-type template arguments
?
CD4
Lifetime of temporaries for default arguments in array copying
?
drafting
Conversions to non-class prvalues in reference initialization
-
CD4
Value dependence underspecified
Yes
drafting
Overload resolution for base class conversion and reference/non-reference
-
NAD
Array temporaries in reference binding
N/A
CD5
new auto{x}
?
CD4
Incompete specification of types for declarators
?
CD3
Missing description of incompatibility from aggregate NSDMIs
?
drafting
Order of implicit destruction vs release of automatic storage
-
C++17
Direct or copy initialization for omitted aggregate initializers
?
drafting
Explicit specializations and constexpr function templates
-
open
Stateful metaprogramming via friend injection
-
NAD
Disambiguation of multi-level covariant return type
N/A
CD4
Array as first non-static data member in standard-layout class
No
CD6
More flexible lambda syntax
?
CD4
Glvalues of void type
?
open
Omitted constant initialization of local static variables
-
CD4
Signature of constructor template
?
NAD
Copy elision and comma operator
N/A
C++20
Lifetime-extended temporaries in constant expressions
partial
drafting
Partial specialization and nullptr
-
drafting
Imprecise rule for reference member initializer
-
CD4
Non-object prvalues and constant expressions
?
CD4
Over-aligned types in _new-expression_s
?
drafting
Ambiguity with opaque-enum-declaration
-
NAD
Deprecated default generated copy constructors
N/A
CD5
Converting std::nullptr_t to bool
?
NAD
Objectless references to non-static member functions
?
NAD
_mem-initializer_s for virtual bases of abstract classes
?
NAD
Argument-dependent lookup and initializer lists
?
CD4
List-initialization from object of same type
?
NAD
Explicit member specialization vs implicit instantiation
?
NAD
Floating-point requirements for integer representation
N/A
CD4
Lvalue-to-rvalue conversion of std::nullptr_t
?
CD4
Ambiguity in new-expression with elaborated-type-specifier
?
NAD
Missing definition of associated classes and namespaces
?
C++17
Value-dependency via injected-class-name
?
DRWP
Function/variable declaration ambiguity
?
CD4
Parenthesized declarator in function definition
?
CD4
Scalar object vs memory location in definition of "unsequenced"
?
CD4
Initializer-list arguments and pack deduction
?
drafting
Thread storage duration and order of initialization
-
DRWP
Brace elision and array length deduction
?
CD3
Initializer list array lifetime
?
CD4
Exception object is not created
?
NAD
Can an alternative token be used as a ud-suffix?
?
CD4
pure-specifier in friend declaration
Yes
CD4
Ambiguity of pure-specifier
?
C++17
Defining classes and enumerations via _using-declaration_s
?
CD4
Definition of enumeration declared by using-declaration
?
CD4
Further disambiguation of enumeration elaborated-type-specifier
?
drafting
Polymorphic behavior during destruction
-
NAD
Lambda capture and local thread_local variables
?
open
Issues with partial ordering
-
NAD
Explicit instantiation declaration and "preceding initialization"
?
CD3
Capturing this by reference
?
CD4
Labels in constexpr functions
?
CD5
Name hiding and _using-directive_s
?
CD6
Namespaces, declarative regions, and translation units
?
drafting
Unclear meaning of "undefined constexpr function"
-
CD4
Non-member references with lifetimes within the current evaluation
?
open
Narrowing conversions and +/- infinity
-
open
Narrowing conversions and overload resolution
?
CD5
Unclear definition of odr-use for arrays
?
dup of 2083
CD4
Triviality of copy constructor with less-qualified parameter
?
drafting
Multiple exceptions with one exception object
-
open
Partial specialization with non-deduced contexts
-
C++17
Unclear rules for friend definitions in templates
?
CD4
Ambiguity with attribute in conversion operator declaration
?
CD4
Destroying the returned object when a destructor throws
?
CD5
Placement operator delete and parameter copies
?
NAD
Substitution of dependent template arguments in default template arguments
?
drafting
Required diagnostic for partial specialization after first use
-
CD4
Virtual bases in destructors and defaulted assignment operators
?
C++20
Normative requirements in an informative Annex
?
drafting
Pointer arithmetic in array-like containers
-
NAD
Problems in description of potential exceptions
?
CD4
Missing C compatibility entry for decrement of bool
?
CD6
Cv-qualified numeric types
?
C++20
Unclear point that "preceding initialization" must precede
?
drafting
Protected members and access via qualified-id
-
open
empty-declaration grammar ambiguity
-
open
Surrogate call template
-
open
Insufficient specification of __has_include
-
C++17
Incorrect result for noexcept(typeid(v))
?
open
Constant expressions and order-of-eval undefined behavior
-
NAD
numeric_limits<int>::radix and digits
?
drafting
Impossible case in list initialization
-
open
Unsolicited reading of trailing volatile members
-
C++17
Zero-initialization with virtual base classes
?
C++17
Overload resolution and deleted special member functions
?
C++17
Linkage of enumerators
?
CD6
Typedefs and tags
?
NAD
Conversions in template argument deduction
?
C++17
Cv-qualification of array types
?
drafting
When does default argument instantiation occur?
-
drafting
Defaulted copy/move constructors and UDCs
-
NAD
Naming delegated constructors
?
C++17
Restrictions on use of alignas
?
C++17
Composite type of object and function pointers
?
CD5
Alignment of allocation function return value
?
NAD
static_assert-declaration does not declare a member
?
NAD
Destruction of constructed array elements
?
NAD
Principal/target constructor confusion
?
C++17
Hiding by lambda captures and parameters
?
CD5
Typedef changing linkage after use
?
CD6
Forward declaration of partial specializations
?
C++17
Missing requirement on representation of integer values
?
C++17
Redundant description of language linkage in function call
?
NAD
Exception specifications in unevaluated contexts
?
NAD
constexpr constructors for non-literal types
?
C++17
Ambiguity and namespace aliases
?
drafting
Dynamically-unreachable handlers
-
C++17
Hiding index variable in range-based for
?
CD6
Copying volatile objects
?
drafting
Additional contexts where instantiation is not required
-
drafting
Multiple alignas specifiers
-
C++17
Member subobjects and base-class casts
?
NAD
reinterpret_cast to same floating-point type
N/A
CD5
Xvalues vs lvalues in conditional expressions
?
CD5
Destructor access and default member initializers
?
open
Ambiguity resolution for cast to function type
-
CD5
Volatile unnamed bit-fields
?
NAD
Linkage of extern "C" function in unnamed namespace
?
NAD
Class member access to static data member template
N/A
open
thread_local anonymous unions
-
CD5
Function parameter packs following default arguments
?
CD5
Missing rules for simple-template-id as class-name
?
CD5
Partial ordering and non-dependent types
11
drafting
When is an alias template specialization dependent?
-
CD5
Can a template-id name a constructor?
11 (C++20 only)
NAD
Contradictory alignment requirements for allocation
?
NAD
Sized deallocation with a trivial destructor
N/A
NAD
this is not odr-used in a constant expression
N/A
CD5
Overload resolution is not invoked with a single function
?
C++23
ODR violation with constant initialization possibly omitted
?
drafting
Incorrect use of implicit conversion sequence
-
open
Base class access in aggregate initialization
-
drafting
Point of instantiation of incomplete class template
-
drafting
Access of indirect virtual base class constructors
-
C++17
Lambda capture and variable argument list
?
C++17
Problems with sized delete
?
CD5
_identifier_s and _id-expression_s
?
open
Implicit instantiation, destruction, and TUs
-
C++17
Unreachable enumeration list-initialization
?
DRWP
Enumeration list-initialization from the same type
?
CD5
Unnamed bit-fields and zero-initialization
?
CD5
Standard-layout classes and bit-fields
?
CD5
Instantiated static data member templates
?
CD5
Lifetime of trivially-destructible objects
No
CD5
Lifetime extension of references vs exceptions
?
open
Storage deallocation during period of destruction
-
C++17
Unclear context describing ambiguity
?
CD5
Explicit specializations of deleted member functions
?
extension
Explicit instantiation of in-class friend definition
?
C++17
Attributes for asm-definition
14
drafting
Default argument instantiation for friends
-
drafting
Memberwise copying with indeterminate value
-
drafting
Delayed pack expansion and member redeclarations
-
CD5
Has dependent type vs is type-dependent
Yes
CD5
Copy-initialization of temporary in reference direct-initialization
Yes
C++17
Unions with mutable members in constant expressions revisited
?
dup
Additional recursive references in aggregate DMIs
?
NAD
Non-inline functions and explicit instantiation declarations
N/A
C++17
Aliasing this
?
C++17
Implicit initialization of aggregate members of reference type
?
CD5
Inheriting constructors vs implicit default constructor
?
NAD
Generic lambda capture vs constexpr if
N/A
drafting
Type-dependence of function template
-
C++17
Dependent noexcept and function type-dependence
?
CD5
Ambiguity inheriting constructors with default arguments
?
CD5
Copy elision in constant expressions reconsidered
?
NAD
Multiple _attribute-specifier_s in one attribute-list
?
C++20
Matching a usual deallocation function with placement new
?
drafting
Consistency of aligned operator delete replacement
-
C++20
Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions
?
DR
Missing complete type requirements
?
open
Sequencing of braced-init-list arguments
-
CD5
Issues with structured bindings
?
NAD
Assignment evaluation order
?
CD5
Pointer-interconvertibility in non-standard-layout unions
?
NAD
Contradictory optionality in simple-declaration
N/A
CD5
Uniqueness of structured binding names
11
CD5
Unclear specification for overload resolution and deleted special member functions
?
dup
Implicit conversion sequences in non-call contexts
?
CD5
simple-template-id is ambiguous between class-name and type-name
?
CD5
Requirements for simple-template-id used as a class-name
?
CD5
Dependent auto static data members
?
CD5
Aggregates with deleted defaulted constructors
?
open
Are default argument instantiation failures in the "immediate context"?
-
open
Unclear specification of atomic operations
-
open
Actions and expression evaluation
-
CD5
constexpr vararg functions
?
CD5
Lambdas in multiple definitions
?
open
Value-initialization and constexpr constructor evaluation
-
NAD
Address comparison between different member subobjects
?
CD5
Partial ordering and recursive variadic inheritance
11
NAD
Incomplete type vs overload resolution
?
CD5
Explicit instantiation of constexpr or inline variable template
?
NAD
Nested friend templates of class templates
N/A
CD5
Unclear definition of "equivalent to a nontype template parameter"
?
NAD
Structured bindings and lambda capture
?
CD5
Restrictions on nested statements within constexpr functions
?
CD5
Type completeness and derived-to-base pointer conversions
No
open
Missed case for guaranteed copy elision
-
CD6
Structured bindings and mutable
?
CD5
Redeclaration of structured binding reference variables
?
dup
Structured bindings and lambda capture
?
CD5
What is the "corresponding special member" of a variant member?
?
drafting
Simplifying class conversions in conditional expressions
-
CD5
Self-referential default member initializers
?
CD5
Nondeduced contexts in deduction from a braced-init-list
?
drafting
Nested brace initialization from same type
-
extension
constexpr if and boolean conversions
?
CD5
Conditional operator and cv-qualified class prvalues
?
CD5
Substitution failure and lexical order
?
C++20
Expunge POD
?
drafting
Size of base class subobject
-
drafting
std::launder and reuse of character buffers
-
dup
Type deduction with initializer list containing ambiguous functions
?
drafting
Copy elision for direct-initialization with a conversion function
-
drafting
Unclear presentation style of template argument deduction rules
-
drafting
Virtual base classes and generated assignment operators
-
CD5
Missing references to variable templates
?
CD6
Redundancy in description of class scope
?
CD5
template-name as simple-type-name vs injected-class-name
?
CD6
Escape sequences in UTF-8 character literals
?
open
Creation of objects by typeid
-
drafting
Deduced return types vs member types
-
CD5
Destructor characteristics vs potentially-constructed subobjects
?
open
Incorrect implication of logic ladder for conversion sequence tiebreakers
-
CD5
Undefined behavior converting to short enums with fixed underlying types
?
CD5
Underspecified template arguments in structured bindings
?
open
Reference collapsing and structured bindings
-
CD5
Structured bindings with static storage duration
?
CD5
Reference reinterpret_cast and pointer-interconvertibility
?
C++20
void* non-type template parameters
?
NAD
Redeclaration of names in _init-statement_s
N/A
CD5
Jumping across initializers in _init-statement_s and _condition_s
Yes
CD5
Local variables in default arguments
?
C++20
Passing short scoped enumerations to ellipsis
?
NAD
Non-templated constexpr if
N/A
NAD
Class/enumeration names vs conditions
?
NAD
Forwarding references and deduction guides
N/A
CD5
void{}
12
CD5
Similar types and reference binding
10
CD5
Potential results of a member access expression for a static data member
?
CD5
Extended alignment and object representation
?
CD6
Deducing _noexcept-specifier_s
12
CD5
Base class copy and move constructors should not be inherited
?
NAD
Lookup in member function declarations
N/A
CD5
Explicit capture of value
?
CD5
Unintended copy initialization with designated initializers
14
CD5
[[maybe_unused]] and structured bindings
?
open
Unclear description of longjmp undefined behavior
-
open
__func__ should be constexpr
-
NAD
Opaque enumeration friend declarations
N/A
NAD
Constant expressions, aggregate initialization, and modifications
N/A
CD5
Confusing specification for dynamic_cast
?
CD5
Can default initialization be constant initialization?
?
NAD
Lambdas in default arguments vs the ODR
N/A
CD5
Differences in relational and three-way constant comparisons
?
CD6
Ordering between constraints and substitution
11
CD6
friend declarations of namespace-scope functions
?
CD5
Use of the English term "attributes" is confusing
?
CD5
Incorrect matching rules for block-scope extern declarations
?
CD5
Incorrect handling of static member function templates in partial ordering
?
C++20
Overly permissive specification of enum direct-list-initialization
12
NAD
Multiple redeclarations of constexpr static data members
?
CD5
Class template argument deduction with array declarator
?
NAD
Explicit copy constructor vs function viability
?
C++20
Inconsistent grammar for reference init-capture of pack
10
CD5
Missing prohibition against constexpr in friend declaration
?
CD5
capture-default makes too many references odr-usable
?
CD5
Composite pointer type of pointers to plain and noexcept member functions
?
CD5
Array allocation overhead for non-allocating placement new
?
NAD
Variadic member functions of variadic class templates
N/A
CD5
Conversion function templates and qualification conversions
?
CD5
Lookup for conversion-function-ids
?
CD5
tuple_size requirements for structured binding
14
CD5
Linkage of const-qualified variable template
15
NAD
Applicability of contract-attribute-specifiers
Yes
contracts removed
CD6
Agreement of deduced and explicitly-specified variable types
No
CD5
Is the argument of __has_cpp_attribute macro-expanded?
?
dup
Additional template parameters following pack expansion
?
C++23
new-expression size check and constant evaluation
?
NAD
Pseudo-destructors and object lifetime
N/A
CD5
Const-default-constructible for members
?
drafting
Parameters following a pack expansion
-
CD6
Lookup of names in complex conversion-type-ids
?
CD6
auto specifier for pointers and references to arrays
12
drafting
Template template parameter matching and deduction
-
CD5
Unclear referent of "expression" in assignment-expression
?
CD5
Constexpr virtual functions and temporary objects
?
drafting
Array decay vs prohibition of subobject non-type arguments
-
CD6
When is the restriction to a single c-char in a Unicode literal enforced?
?
drafting
Temporary materialization and base/member initialization
-
CD5
[[no_unique_address]] and allocation order
?
CD6
Additional type-dependent expressions
?
CD5
[[fallthrough]] attribute and iteration statements
14
C++23
Missing entry in Annex C for defaulted comparison operators
?
NAD
Temporaries and previously-initialized elements in aggregate initialization
N/A
drafting
Explicit specializations of constexpr static data members
-
C++23
Implicit calls of immediate functions
?
C++20
Comparison of pointers to members in template non-type arguments
?
review
SFINAE vs undeduced placeholder type
?
CD6
typename in conversion-function-ids
10
C++20
Unclear results if both member and friend operator<=> are declared
?
NAD
using-declarations vs copy assignment operators
?
C++20
Explicit specializations vs constexpr and consteval
?
open
Explicit instantiation and exception specifications
-
CD5
Missing cases in definition of "usable in constant expressions"
?
C++20
Loss of generality treating pointers to objects as one-element arrays
?
dup
Exception specifications in explicit instantiation
-
drafting
Explicit instantiation of constrained member functions
-
C++20
Incorrect grammar for deduction-guide
?
NAD
Typedefs, names, and entities
N/A
C++20
constexpr initialization requirements for variant members
?
open
Confusing wording for deduction from a type
-
C++20
Reference to destructor that cannot be invoked
?
C++20
Deprecation of volatile operands and unevaluated contexts
?
C++23
Deprecating a concept
13
C++20
Initialization of thread_local variables referenced by lambdas
?
C++20
Completeness of return and parameter types of member functions
?
C++20
Full-expressions and temporaries bound to references
?
C++20
Return types for defaulted <=>
?
C++20
Variable templates in the ODR
?
review
Mandatory copy elision vs non-class objects
?
open
Alias template specializations
-
C++20
Copy semantics of coroutine parameters
?
C++20
Conversion of std::strong_ordering in a defaulted operator<=>
?
open
Problems in the specification of qualification conversions
-
C++20
Undefined term in definition of "usable in constant expressions"
Yes
C++23
Allocation in core constant expressions
?
C++20
Inline function parameters
Yes
C++20
Incorrect requirement for default arguments
?
C++23
Meaningless template exports
?
drafting
Constant expressions in initialization odr-use
-
C++20
Partial ordering with rewritten candidates
?
C++20
Questionable type-dependency of concept-ids
12
C++20
Unintended description of abbreviated function templates
?
CD6
Cv-qualification of arithmetic types and deprecation of volatile
?
extension
Thunks as an implementation technique for pointers to virtual functions
?
DRWP
braced-init-list as a template-argument
11
C++23
promise.unhandled_exception() and final suspend point
?
CD6
Flowing off the end of a coroutine
?
NAD
Deduced return types and coroutine lambdas
N/A
NAD
Tail recursion and coroutine symmetric transfer
N/A
CD6
Concatenation of string literals vs translation phases 5 and 6
?
open
Viable user-defined conversions in converted constant expressions
-
CD6
Unexpanded parameter packs don't make a function type dependent
?
CD6
Value category of expressions denoting non-static member functions
?
DRWP
Template parameter initialization
?
CD6
C language linkage and constrained non-template friends
?
CD6
Diagnosing non-bool type constraints
Yes
drafting
Problems with the omission of the typename keyword
-
open
Trivial copyability and unions with non-trivial members
-
CD6
Constexpr launder and unions
?
CD6
Coroutine parameters passed to a promise constructor
?
CD6
co_await should be a single evaluation
?
drafting
CTAD for alias templates and the deducible check
-
drafting
Omission of the typename keyword in a member template parameter list
-
drafting
Implicit object creation vs constant expressions
-
CD6
Multiple array objects providing storage for one object
?
drafting
Nested class template argument deduction
-
NAD
Value categories in await-expressions
N/A
drafting
Parentheses in pseudo-destructor calls
-
CD6
Cv-qualification and deletion
?
C++23
Object declarations of type cv void
Yes
DRWP
placeholder-type-specifiers and function declarators
?
CD6
Defaulted vs deleted copy constructors/assignment operators
?
C++23
Properties of explicit specializations of implicitly-instantiated class templates
?
CD6
Missing specifications for consteval and constinit
Yes
drafting
Lookup for enumerators in modules
-
CD6
Cv-qualification of temporary to which a reference is bound
Yes
CD6
bit_cast and indeterminate values
?
C++23
Language linkage of static member functions
?
CD6
char8_t and char16_t in integral promotions
?
DRWP
Bit-fields in integral promotions
?
CD6
Call to noexcept function via noexcept(false) pointer/lvalue
?
drafting
Type dependence of function-style cast to incomplete array type
-
open
Overloading virtual functions and functions with trailing requires-clauses
-
C++23
Storage provided by array of char
?
CD6
Restrictions on destruction in constant expressions
?
CD6
Export of typedef after its first declaration
?
drafting
Comparing user-defined conversion sequences in list-initialization
-
dup
auto as a conversion-type-id
-
Dup of issue 1670
CD6
Multiple definitions of non-odr-used entities
?
open
Glvalue result of a function call
-
CD6
ref-qualifiers and virtual overriding
?
drafting
Points of instantiation for constexpr function templates
-
open
Partial specialization failure and the immediate context
-
CD6
Inconsistency in definition of pointer-interconvertibility
?
extension
noexcept(false) functions and noexcept expressions
?
drafting
Explicit instantiation and trailing requires-clauses
-
CD6
Unintended declaration conflicts in nested statement scopes
?
drafting
Unclear relationship among name, qualified name, and unqualified name
-
DRWP
Inheriting constructors from virtual base classes
?
drafting
Nested unnamed namespace of inline unnamed namespace
-
CD6
Structured bindings and array cv-qualifiers
?
CD6
Default arguments for operator[]
13
C++23
Restrictions on uses of template parameter names
?
CD6
decl-specifier-seq in lambda-specifiers
?
NAD
noexcept-specifier of friend function vs class completeness
N/A
CD6
cv-qualified bit-fields
?
NAD
typeid and incomplete class types
N/A
open
Ambiguity with requires-clause and operator-function-id
-
open
Modifying const subobjects
-
open
Result of a function call
-
C++23
Locus of enum-specifier or opaque-enum-declaration
?
C++23
Useless restriction on use of parameter in constraint-expression
?
C++23
Conformance requirements and #error/#warning
?
DRWP
Object representation of a bit-field
?
C++23
Template signature and default template arguments
?
C++23
User-defined literals and reserved identifiers
?
open
Removing placemarker tokens and retention of whitespace
-
C++23
Undefined behavior via omitted destructor call in constant expressions
?
NAD
Distinguishing user-defined conversion sequences by ref-qualifier
N/A
drafting
Incorrect definition of implicit conversion sequence
-
C++23
Relational comparison of void* pointers
?
NAD
Non-class potentially-overlapping objects
N/A
C++23
Three-way comparison and the usual arithmetic conversions
?
C++23
Constant destruction of constexpr references
?
C++23
Multiple definitions of enumerators
?
DRWP
Static data members redeclared as constexpr
?
open
Kind of pointer value returned by new T[0]
-
DRWP
Storage duration of implicitly created objects
?
CD6
Value category of pseudo-destructor expression
?
CD6
Type punning in class member access
?
open
Partially initialized variables during constant initialization
-
drafting
Overbroad grammar for parameter-declaration
-
C++23
Can standard attributes be syntactically ignored?
?
C++23
Three-way comparison requiring strong ordering for floating-point types
?
CD6
Unspecified interpretation of numeric-escape-sequence
?
open
Linkage specifications, module purview, and module attachment
-
DRWP
Is a closure type a structural type?
?
C++23
constinit and optimized dynamic initialization
14
open
Address of past-the-end of a potentially-overlapping subobject
-
open
Transparently replacing objects in constant expressions
-
DRWP
Defaulted secondary comparison operators defined as deleted
?
DRWP
Defaulted comparison operator function for non-classes
?
NAD
Array prvalues and additive operators
N/A
review
Implicitly moving the operand of a throw-expression in unevaluated contexts
?
DRWP
Type "reference to cv void" outside of a declarator
Yes
review
"Refers to allocated storage" has no meaning
?
DRWP
Constant evaluation of non-defining variable declarations
?
review
Restrictions on explicit object member functions
?
review
Overriding virtual functions, also with explicit object parameters
?
drafting
Ineffective redeclaration prevention for using-declarators
-
DRWP
Unusable promise::return_void
?
review
Class member access referring to an unrelated class
?
C++23
Uninitialized subobjects as a result of an immediate invocation
?
open
Defaulted consteval functions
-
DRWP
Parameter type determination in a requirement-parameter-list
?
DRWP
Conversion to function pointer for lambda with explicit object parameter
?
open
Exceptions thrown during coroutine startup
-
drafting
Initialization of coroutine result object
-
drafting
Conversion to function pointer with an explicit object parameter
-
open
Invalid types in the parameter-declaration-clause of a requires-expression
-
review
Matching deallocation for uncaught exception
?
NAD
Operator lookup ambiguity
N/A
DRWP
Access checking during synthesis of defaulted comparison operator
?
CD6
Use of decltype(capture) in a lambda's parameter-declaration-clause
?
DRWP
Clarify constexpr for defaulted functions
?
CD6
Evaluation order for subscripting
?
review
Address of overloaded function with no target
?
DRWP
Undefined behavior when splicing results in a universal-character-name
?
DRWP
Undefined behavior when lexing unmatched quotes
?
open
Undefined behavior when macro-replacing "defined" operator
-
open
Undefined behavior with macro-expanded #include directives
-
open
Undefined behavior for preprocessing directives in macro arguments
-
open
Undefined behavior when creating an invalid string literal via stringizing
-
open
Undefined behavior when token pasting does not create a preprocessing token
-
open
Undefined behavior with #line
-
open
Undefined behavior for predefined macros
-
CD6
Differing member lookup from nested classes
?
C++23
Common initial sequence should consider over-alignment
?
open
Equivalent types in function template declarations
-
CD6
Name lookup for coroutine allocation
?
CD6
Explicit object parameter for assignment and comparison
14
review
Visible side effects and initial value of an object
?
DRWP
friend declarations and module linkage
?
review
Context of access checks during constraint satisfaction checking
No
C++23
Underlying type should determine size and alignment requirements of an enum
?
DRWP
Implicit change of active union member for anonymous union in union
?
open
Missing definition for placement allocation/deallocation function
-
review
Insufficient base class restriction for pointer-to-member expression
?
CD6
Disallowing a global function template main
Yes
DRWP
"More constrained" for eligible special member functions
?
drafting
Instantiation of constrained non-template friends
-
CD6
Replaceable allocation and deallocation functions in the global module
?
C++23
Unions should not require a non-static data member of literal type
?
C++23
What does initializing a parameter include?
?
DRWP
Type dependency of placeholder types
?
C++23
Tracking of created and destroyed subobjects
?
C++23
consteval defaulted functions
?
dup of CWG2559?
C++23
Holistic functional equivalence for function templates
?
C++23
Attributes for an explicit specialization
?
C++23
Implicit-lifetime aggregates
?
CD6
static_cast from "pointer to void" does not handle similar types
?
drafting
Visibility of enumerator names
-
CD6
Omitting an empty template argument list
?
open
Padding in class types
-
C++23
Indirect private base classes in aggregates
?
C++23
Missing parentheses in expansion of fold-expression could cause syntactic reinterpretation
?
C++23
Incorrect comment in example
?
C++23
Incomplete definition of resumer
?
C++23
Unspecified results for class member access
?
C++23
Missing __has_cpp_attribute(assume)
?
C++23
Imprecise restrictions on break and continue
?
review
Default template arguments for template members of non-template classes
?
C++23
Substitution during deduction should exclude exception specifications
?
C++23
Kind of initialization for a designated-initializer-list
?
C++23
Nonsensical disambiguation rule
?
C++23
Kind of lookup for using enum declarations
?
C++23
Compounding types from function and pointer-to-member types
?
drafting
Invoking destroying operator delete for constructor failure
-
C++23
Array delete expression with no array cookie
?
C++23
Deletion of pointer to out-of-lifetime object
?
C++23
Rephrase ones' complement using base-2 representation
?
C++23
Bit-fields and narrowing conversions
15
DRWP
Implicit deduction guides should propagate constraints
?
C++23
Variables of floating-point type as switch conditions
?
C++23
Syntactic specification of class completeness
?
C++23
Immediate function evaluations in default arguments
?
drafting
'user-declared' is not defined
-
open
typeid of constexpr-unknown dynamic type
-
DRWP
Avoid circularity in specification of scope for friend class declarations
?
C++23
Constrained structured bindings
?
C++23
Update Annex E based on Unicode 15.0 UAX #31
?
DR
Injected-class-name as a simple-template-id
?
DR
Improve the example for initializing by initializer list
?
C++23
new-lines after phase 1
?
C++23
Allow more characters in an n-char sequence
?
C++23
Redundant specification of value category of literals
?
C++23
Inconsistent use of T and C
N/A
C++23
Completing a pointer to array of unknown bound
?
C++23
Incorrect comment in example
?
C++23
Unused term "default argument promotions"
?
C++23
Defaulted special member functions
?
C++23
Fix for "needed for constant evaluation"
?
C++23
Correspondence of surrogate call function and conversion function
?
C++23
Incorrect note about implicit conversion sequence
?
C++23
Incorrect example for ill-formed non-type template arguments
?
C++23
Conversion function templates and "noexcept"
?
C++23
Overbroad definition of __STDCPP_BFLOAT16_T__
?
C++23
Can an explicit object parameter have a default argument?
?
C++23
Un-deprecation of compound volatile assignments
13
NAD
Instantiation of default arguments in lambda-expressions
?
drafting
Converting consteval lambda to function pointer in non-immediate context
-
DR
Cv-qualification adjustment when binding reference to temporary
?
C++23
Trivial copying of unions in core constant expressions
?
C++23
Missing feature-test macro for lifetime extension in range-for loop
?
open
Confusing term "this parameter"
-
DR
Missing disambiguation rule for pure-specifier vs. brace-or-equal-initializer
?
C++23
Example for member access control vs. overload resolution
?
DRWP
Example for member redeclarations with using-declarations
No
C++23
Deduction failure in CTAD for alias templates
13
NAD
Replacing a subobject with a complete object
N/A
open
Lifetime extension through static_cast
-
C++23
Named module imports do not import macros
?
DR
co_await in a lambda-expression
?
open
Lifetime extension for aggregate initialization
-
open
Programs and translation units
-
open
friend named by a template-id
-
DRWP
Lambda body SFINAE is still required, contrary to intent and note
?
C++23
User-declared spaceship vs. built-in operators
?
C++23
Prohibit explicit object parameters for constructors
?
open
start_lifetime_as, placement-new, and active union members
-
open
Replacing a complete object having base subobjects
-
review
Replacing union subobjects
?
C++23
std::source_location::current is unimplementable
?
open
Implicit conversion sequence with a null pointer constant
-
open
Class template argument deduction for aggregates with designated initializers
-
C++23
Deducing member array type from string literal
?
C++23
Templated function vs. function template
?
DRWP
Default arguments for member functions of templated nested classes
?
open
thread_local dynamic initialization
-
C++23
Aggregate CTAD, string, and brace elision
?
open
Pack expansion into a non-pack parameter of a concept
-
C++23
Calling an explicit object member function via an address-of-overload-set
?
open
Calling explicit object member functions
-
DR
Are cv-qualified std::nullptr_t fundamental types?
?
C++23
Semantics of defaulted move assignment operator for unions
?
C++23
hexadecimal-escape-sequence is too greedy
?
C++23
Static and explicit object member functions with the same parameter-type-lists
?
open
Escape sequences for the string-literal of #line
-
open
string-literals of the _Pragma operator
-
C++23
Semantic ignorability of attributes
?
dup
Relational comparisons of pointers to void
Dup of 2749
DRWP
Deduction guides using abbreviated function syntax
?
DRWP
Using extended integer types with z suffix
?
DRWP
Inconsistency of throw-expression specification
?
DR
#error disallows existing implementation practice
?
open
Default arguments in multiple scopes / inheritance of array bounds in the same scope
-
open
Constant destruction of reference members
-
review
Three-way comparison requiring strong ordering for floating-point types, take 2
?
open
Clarify meaning of "bind directly"
-
open
Accessing ambiguous subobjects
-
open
Repeated structured binding declarations
-
DR
Deduction guides cannot have a trailing requires-clause
?
DRWP
Parenthesized initialization of arrays
10
NAD
Parenthesized initialization of reference-to-aggregate
?
DRWP
Loops in constant expressions
?
DRWP
Source for copy-initializing the exception object
?
DRWP
Simplify restrictions on built-in assignment operator candidates
?
DRWP
Initialization of reference-to-aggregate from designated initializer list
Yes
DR
Implicit deduction guides omit properties from the parameter-declaration-clause of a constructor
?
DRWP
"calling function" for parameter initialization may not exist
?
DRWP
Rule about self-or-base conversion is normatively redundant
?
DRWP
Pack expansion for alignment-specifier
?
DRWP
Type completeness for derived-to-base conversions
?
DRWP
Creating objects in misaligned storage
?
DRWP
Template validity rules for templated entities and alias templates
?
DRWP
When exactly is storage reused?
?
DRWP
Temporary materialization conversion for noexcept operator
?
DRWP
Range of representable values for floating-point types
?
DRWP
Clarify rounding for arithmetic right shift
?
DRWP
Overload resolution for non-call of class member access
?
review
Alternative tokens appearing as _attribute-token_s
?
open
Importing header units synthesized from source files
-
tentatively ready
Evaluation of conversions in a delete-expression
?
DRWP
Meaning of new-type-id
?
open
Comparison templates on enumeration types
-
open
List-initialization sequence with a user-defined conversion
-
DRWP
Can importable headers react to preprocessor state from point of import?
?
DRWP
Applying [[maybe_unused]] to a label
?
open
Immediate forward-declared function templates
-
open
List-initialization and conversions in overload resolution
13
open
Standard layout class with empty base class also in first member
-
review
Temporary lifetime extension for reference init-captures
?
review
"denotes a destructor" is missing specification
?
open
Nested requirement not a constant expression
-
open
Too many objects have constexpr-unknown type
-
open
Implicit conversion sequence from empty list to array of unknown bound
-
drafting
Guaranteed copy elision for brace-initialization from prvalue
-
open
Copying non-trivial objects nested within a union
-
open
Multiple objects of the same type at the same address
-
DR
Dependent odr-use in generic lambdas
?
DR
Checking of default template arguments
?
DRWP
Cannot depend on an already-deleted splice
?
DR
Accessing static data members via null pointer
?
DRWP
Treatment of "pointer to void" for relational comparisons
?
DRWP
construct_at without constructor call
?
NAD
Order of destruction for parameters for operator functions
?
open
Excess-precision floating-point literals
-
DRWP
Storage reuse for string literal objects and backing arrays
?
DRWP
Using *this in explicit object member functions that are coroutines
?
DRWP
Incorrect wording applied by P2738R1
?
review
Completion of initialization by delegating constructor
?
review
Deleting or deallocating storage of an object during its construction
?
DRWP
What is "access and ambiguity control"?
?
DRWP
[[no_unique_address] and common initial sequence
?
DRWP
Defaulted constructor that is an immediate function
?
DRWP
Implicitly invoking the deleted destructor of an anonymous union member
?
DRWP
Type of implicit object parameter
?
DRWP
Ignorability of [[noreturn]] during constant evaluation
No
DRWP
Use of placeholders affecting name mangling
?
open
Address comparisons between potentially non-unique objects during constant evaluation
-
open
Repeated evaluation of a string-literal may yield different objects
-
open
Non-defining declarations of anonymous unions
-
DRWP
Assignment to enumeration variable with a braced-init-list
?
open
Substitution into template parameters and default template arguments should be interleaved
-
open
Trailing requires-clause can refer to function parameters before they are substituted into
-
DR
Transformation for _unqualified-id_s in address operator
?
DRWP
Missing Annex C entry for linkage effects of linkage-specification
?
open
Naming anonymous union members as class members
-
open
Value-dependence of _requires-expression_s
-
DR
Unclear argument type for copy of exception object
?
open
Substitution failure and implementation limits
-
DR
Type of id-expression denoting a template parameter object
?
review
Trivial destructor does not imply constant destruction
?
open
Restrictions on the ordinary literal encoding
-
DRWP
reinterpret_cast to reference to function types
?
open
Unclear recursion in the one-definition rule
-
open
Treatment of closure types in the one-definition rule
-
DRWP
Handling of deduction guides in global-module-fragment
?
open
Unclear definition of member-designator for offsetof
-
DRWP
Type-dependence of requires-expression
?
open
Comparing pointers to complete objects
-
open
Kind of explicit object copy/move assignment function
-
open
Correspondence and redeclarations
-
DRWP
Overload resolution with implicit and explicit object member functions
No
open
Aggregate initialization and user-defined conversion sequence
-
DRWP
Unclear phrasing about "returning to the caller"
?
DRWP
Clean up specification of noexcept operator
Yes
DRWP
Block-scope declaration conflicting with parameter name
?
open
Uniqueness of lambdas in alias templates
-
DRWP
Overlapping empty subobjects with different cv-qualification
?
DRWP
Function pointer conversions for relational operators
?
review
Meaning of "corresponds" for rewritten operator candidates
?
DRWP
Manifestly constant evaluation of the static_assert message
?
drafting
Inheriting default constructors
14
review
Instantiating constexpr variables for potential constant evaluation
?
DRWP
Reference binding with reference-related types
?
open
Constrained auto and redeclaration with non-abbreviated syntax
-
DR
Overload resolution for reference binding of similar types
?
open
Lookup for determining rewrite targets
-
open
Underspecified selection of deallocation function
-
DRWP
Make a type-requirement a type-only context
?
DRWP
Destructors declared consteval
?
review
Explicit specialization of defaulted special member function
?
DR
An implicit definition does not redeclare a function
?
DR
Requiring the absence of diagnostics for templates
?
DR
Clarify "use" of main
?
open
Allocation with explicit alignment
-
DR
Class member access with prvalues
?
review
Alignment requirement of incomplete class type
?
open
Overload resolution for references/pointers to noexcept functions
-
review
Unclear phrasing "may assume ... eventually"
?
open
sizeof(abstract class) is underspecified
-
tentatively ready
Use of predefined reserved identifiers
?
review
Cast from null pointer value in a constant expression
?
DR
Value-initialization and default constructors
?
review
Lifetime, zero-initialization, and dynamic initialization
?
DR
Side-effect-free pointer zap
?
DRWP
Implicit undefined behavior when dereferencing pointers
?
DR
Copy-initialization of arrays
?
DR
Range-based for statement using a braced-init-list
?
drafting
Missing definition of "temporary expression"
-
review
Representation of unsigned integral types
?
DR
Ambiguous interpretation of C-style cast
?
open
Redundant case in restricting user-defined conversion sequences
-
DR
Top-level cv-qualification should be ignored for list-initialization
?
DR
Non-templated function definitions and _requires-clause_s
?
open
Invented temporary variables and temporary objects
-
review
Evaluation of odr-use
?
review
Partial ordering and explicit object parameters
?
open
Name-independent declarations
-
review
Conversion rank of long double and extended floating-point types
?
open
Instantiating and inheriting by-value copy constructors
-
open
Declaration conflicts in _lambda-expression_s
-
open
Explicit destruction of base classes
-
open
Missing requirements for fundamental alignments
-
open
When do const objects start being const?
-
open
Preferring an initializer_list over a single value
-
review
Undated reference to Unicode makes C++ a moving target
?
open
Enumerating a finite set of built-in candidates
-
DR
Make the closure type of a captureless lambda a structural type
?
DR
Out-of-class definitions of explicit object member functions
?
review
Constrained explicit specializations of function templates at class scope
?
DR
Omitting an empty template argument list for explicit instantiation
?
DR
Parameter objects are not temporary objects
?
DR
Unclear storage duration for function parameter objects
?
DR
Allow floating-point conversions in converted constant expressions
?
open
Complete-class contexts and class-scope lambdas
-
DR
Pointer arithmetic with pointer to hypothetical element
?
DR
Storage duration of exception objects
?
DR
Undefined behavior in postfix increment
?
DR
Copy-list-initialization with explicit default constructors
?
DR
Argument-dependent lookup with incomplete class types
?
tentatively ready
Declarative _nested-name-specifier_s and _pack-index-specifier_s
?
tentatively ready
Value-initialization with multiple default constructors
?
dup
Remove and fix the term "vacuous initialization"
?
review
dynamic_cast on bad pointer value
?
tentatively ready
Unclear boundaries of template declarations
?
review
Unclear synchronization requirements for object lifetime rules
?
review
Narrowing floating-point conversions
?
open
Regression on result of conditional operator
-
open
Observing the effects of [[no_unique_address]]
-
open
Order of initialization for structured bindings
-
open
Self-references in trivially copyable objects as function return values
-
open
this in local classes
-
open
Combining absent _encoding-prefix_es
-
tentatively ready
User-declared constructor templates inhibiting default constructors
?
open
Linkage and unclear "can be referred to"
-
open
Taking the address of a function involving template argument deduction
-
open
Qualified declarations of partial specializations
-
open
Missing support for round-tripping nullptr through indirection/address operators
-
open
Disambiguation of T x = delete("text")
-
open
Type-only lookup for using-enum-declarator
-
open
C-style casts to reference types
-
open
Undesired outcomes with const_cast
-
WP
Accessibility check for destructor of incomplete class type
?
DRWP
Type restrictions for the explicit object parameter of a lambda
?
DRWP
Unclear treatment of conversion to void
?
DRWP
Definition of "odr-usable" ignores lambda scopes
?
dup
Qualified declarations of partial specializations
?
review
Non-eligible trivial default constructors
?
DRWP
Temporaries and trivial potentially-throwing special member functions
?
DRWP
Missing compatibility entries for xvalues
?
review
Missing cases for reference and array types for argument-dependent lookup
?
open
Requiring an accessible destructor for destroying operator delete
-
DR
Defining members of local classes
?
DRWP
Normative status of implementation limits
?
DRWP
Unclear usual arithmetic conversions
?
NAD
Instantiations in discarded if constexpr substatements
?
DR
Functional casts create prvalues of reference type
?
DRWP
Initialization should ignore the destination type's cv-qualification
?
review
Template argument deduction involving exception specifications
?
open
Copying potentially-overlapping union subobjects
-
open
Clarify implicit conversion sequence from cv T to T
-
DR
Bad value representations should cause undefined behavior
?
open
Deduction of non-type template arguments with placeholder types
-
DR
Unclear semantics for near-match aliased access
?
review
Implicit this transformation outside of permitted contexts
?
drafting
Can we omit the template disambiguator in _nested-name-specifier_s in type-only contexts?
-
open
Introducing _template-name_s
-
DR
Value-dependence of noexcept-expression
?
DR
Lvalue-to-rvalue conversion of class types for conditional operator
?
DR
Constant lvalue-to-rvalue conversion on uninitialized std::nullptr_t
?
DR
Counting physical source lines for __LINE__
?
DR
Subtle difference between constant-initialized and constexpr
?
DR
Effect of _requirement-parameter-list_s on odr-usability
?
DR
Unclear meaning of expressions "appearing within" subexpressions
?
open
Too-large value for size in array new
-
DR
Grammar for deduction-guide has requires-clause in the wrong position
?
review
Unclear order of initialization of static and thread-local variables
?
DR
Explicit object parameters of type void
?
review
Variable template partial specializations should not be declared static
?
review
Disallow multiple _friend-type-specifier_s for a friend template
?
DR
Consideration of constraints for address of overloaded function
?
DR
Conversion function candidates for initialization of const lvalue reference
?
open
The template keyword for base classes
-
DR
Exporting redeclarations of entities not attached to a named module
?
DR
constexpr placement-new is too permissive
?
review
Note about infinite loops and execution steps
?
DR
Undefined behavior during constant evaluation
?
NAD
Deleting a pointer to an incomplete enumeration type
?
drafting
Lookup context for dependent qualified names
-
DR
Unclear status of translation unit with module keyword
?
open
No ordering for initializing thread-local variables
-
drafting
Lifetime of trivially-destructible static or thread-local objects
-
DR
Unclear term "copy/move operation" in specification of copy elision
?
DR
Restrictions on operator functions that are explicit object member functions
?
review
Value range of empty enumeration
?
DR
Dangling references
?
open
Unclear semantics of exception escaping from unhandled_exception
-
open
Destroying the coroutine state when initial-await-resume-called is false
-
DR
Local classes of templated functions should be part of the current instantiation
?
DR
Grammar for preprocessing-file has no normative effect
?
open
Inheriting linkage from a previous declaration
-
DR
Do not allow reinterpret_cast from prvalue to rvalue reference
?
review
Definition of "object"
?
open
Lifetime extension for function-style cast to reference type
-
open
Packs in a function's parameter-type-list
-
open
Discarding a void return value
-
DR
Unsequenced _throw-expression_s
?
open
Redundant constraints on matching function template declarations
-
open
Dependent call equivalence in non-ADL cases
-
open
Limiting macro expansion in pp-module
-
open
Late ambiguity for partial template specialization
-
open
Treatment of ellipsis during partial ordering
-
open
Value preservation in enumeration vs. integer bit-fields
-
open
Distinguishing a primary template
-
open
Vacuous initialization for subobjects
-
open
Value representation for non-trivially-copyable types
-
NAD
Simultaneous modifications of an atomic object
?
open
Unify rules about conflicting unordered accesses
-
open
Missing allowance for pseudo-destructors in qualified lookup
-
open
Evaluating a reference member should constitute access
-
open
Overload resolution involving lvalue transformation and qualification conversion
-
open
Naming enumerators in class member access expressions
-
open
Introduce discontiguous object lifetime
-
open
Checking of ill-formed types in _constraint-expression_s
-
open
Evaluation of destructor call for variable with constant destruction
-
open
Paradoxical variable-or-function declaration
-
open
Reading "invalid pointer values"
-
open
Generic lambdas do not have a template parameter scope
-
open
Alignment and value representation of std::nullptr_t
-
open
Explicit conversion functions
-
open
Name lookup result for typedef-name vs. class-name
-
open
Scopes in the function-try-block of a constructor
-
open
Races with volatile sig_atomic_t bit-fields
-
open
Specializations for a class are not decl-reachable
-
open
Declarative nested-name-specifier naming a partial specialization
-
open
Does an alias-declaration introduce a name for linkage purposes?
-
open
Non-deduced context for qualified-id naming a template
-
open
Effect of concept template-head on parameter mappings
-
review
Transferring control out of a function
?
review
Initialization with string literals
?
open
Deduction involving reference to similar types
-
open
Duplicate declarations of enumerations in class scope
-
open
Constraints on template template parameters
-
open
Usual arithmetic conversions and result types
-
CD7
Deduction in _type-constraint_s
?
open
Non-type template parameters are not variables
-
open
Value-dependent structured bindings
-
CD7
Unclear rules for reference initialization with conversion
?
open
Creating objects within a mutable member of a const object
-
CD7
Remove dilapidated wording from static_cast
?
open
Is a closure type from a lambda-expression appearing in a concept-definition a TU-local entity?
-
open
Remove misleading general allowance for parentheses
-
CD7
Exporting redeclarations of namespaces
?
open
"array size" is vague
-
open
Labels do not have names
-
open
Body of a destructor
-
open
Allowing template parameters following template parameter packs that are pack expansions
-
open
Meaning of flowing off the end of a function
-
open
Impenetrable definition of atomic constraint
-
open
Defaulted functions with deleted definition
-
open
Missing deduction consistency check for partial ordering
-
open
Trivial unions changing existing behavior
-
open
Handling of cv-qualified class types in conditional operator
-
open
Inconsistent restrictions for static_cast on pointers to out-of-lifetime objects
-
open
Template parameter/argument confusion
-
open
Naming a deducible template for class template argument deduction
-
open
Pointer arithmetic on array of unknown bound
-
open
Function parameters should never be name-independent
-
open
Vague restrictions for explicit instantiations of class templates
-
open
Access checking during synthesis of defaulted comparison operator, take 2
-
open
Missing Annex C entry for void object declarations
-
open
Unclear rules for constant initialization
-
open
constexpr placement-new should require transparent replaceability
-
open
Parenthesized aggregate initialization for _new-expression_s
-
open
Deviating constexpr or consteval across translation units
-
CD7
Disallowing macros for #embed parameters
?
CD7
Comma-delimited vs. comma-separated output for #embed
?
CD7
Handling of _header-name_s for #include and #embed
?
CD7
Satisfying the syntactic requirements of #include and #embed
?
open
Commas in controlling expression of conditional inclusion
-
CD7
Validity of defined in __has_embed
?
open
Restrictions on character sequences in _header-name_s
-
CD7
Missing specification for __has_cpp_attribute(indeterminate)
?
open
Subsumption rules for fold expanded constraints
-
review
Redundant specification of explicit destructor calls
?
open
Default arguments in list-initialization
-
open
Alignment of references
-
open
Deallocation functions returning void
-
open
Class for pointer-to-member formation
-
open
Equivalence of _pack-index-specifier_s
-
open
A using-declarator should bind a name
-
drafting
Confusing note about ordinary character types for aligned memory areas
-
open
Initializing array prvalues of unknown bound
-
open
Finding declarations for conversion operators for access checking
-
open
Template argument disambiguation
-
open
Scope after declarator-id before determining correspondence
-
open
Infinite recursion should hit an implementation limit
-
open
Lambda expressions in anonymous unions
-
open
Extended floating-point types should not be cv-qualified
-
open
Name lookup results for _using-declarator_s
-
open
Ignorability of attributes, again
-
open
Undefined behavior from implicit object creation ignores observable checkpoints
-
open
Mishandling of lambda coroutines
-
open
Overly aggressive rule for deleting the destructor of a union
-
open
Implicit object creation is insufficient to model effective type rule of C
-
open
Lifetime extension for temporaries in expansion statements
-
open
Iterating expansion statements woes
-
open
Regularizing environment interactions of expansion statement
-
open
Enumerations as part of the common initial sequence
-
open
Calling destructors on out-of-lifetime objects
-
open
Empty destructuring expansion statements
-
open
Implicitly deleted move operation should not disable trivial relocation
-
open
[[deprecated]] for class template partial specializations
-
open
Missing specification for types of member subobjects
-
open
Unclear handling of checks on discarded return statements
-
open
Allowing #undef likely
-
open
Use of default arguments depending on shape of postfix-expression in a function call
-
open
Misleading body for surrogate call function
-
open
Missing semicolons in grammar for type-requirement
-
open
Ranking of derived-to-base conversions should ignore reference binding
-
open
"Program point" is not defined
-
open
throw; in constant expressions
-
open
Change in behavior for noexcept main
-
open
Trailing comma in an expansion-init-list
-
open
Overlapping specification of default template arguments
-
open
Lifetime extension of temporaries past function return
-