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


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

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

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




Index by Status




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

Issue Section Title


Issues with "Tentatively Ready" Status (count=20):

Issue Section Title
2555 9.10 namespace.udecl Ineffective redeclaration prevention for using-declarators
2923 6.10.2.3 intro.progress Note about infinite loops and execution steps
3001 6.8.4 basic.life Inconsistent restrictions for static_cast on pointers to out-of-lifetime objects
3002 13.8.3.7 temp.dep.temp Template parameter/argument confusion
3004 7.7 expr.const Pointer arithmetic on array of unknown bound
3005 6.4.1 basic.scope.scope Function parameters should never be name-independent
3008 C.7.6 diff.dcl Missing Annex C entry for void object declarations
3011 7.6.2.8 expr.new Parenthesized aggregate initialization for new-expressions
3032 13.4.1 temp.arg.general Template argument disambiguation
3044 8.7 stmt.expand Iterating expansion statements woes
3045 6.4.3 basic.scope.block Regularizing environment interactions of expansion statement
3048 8.7 stmt.expand Empty destructuring expansion statements
3061 8.7 stmt.expand Trailing comma in an expansion-init-list
3066 7.5.5.3 expr.prim.id.qual Declarative nested-name-specifier in explicit instantiation
3074 15.5 cpp.module Redundant ill-formedness for module macros
3075 15.6 cpp.import Unclear matching of import directive
3076 15.3 cpp.include Remove unnecessary IFNDR for malformed header-name-tokens
3077 15.1 cpp.pre Undesirable formation of import directive with string-literal
3080 13.4.4 temp.arg.template Clarify kinds of permitted template template arguments
3082 7.6.1.10 expr.reinterpret.cast Allow for call-compatible function types in reinterpret_cast


Issues with "Review" Status (count=59):

Issue Section Title
1001 9.3.4.6 dcl.fct Parameter type adjustment in dependent parameter types
1027 6.8.4 basic.life Type consistency and reallocation of scalar types
1602 13.9.2 temp.inst Linkage of specialization vs linkage of template arguments
1670 9.2.9.7 dcl.spec.auto auto as conversion-type-id
1721 11.4.9.3 class.static.data Diagnosing ODR violations for static data members
1883 11.8.5 class.protected Protected access to constructors in mem-initializers
1897 6.3 basic.def.odr ODR vs alternative tokens
1924 5.13 lex.literal Definition of “literal” and kinds of literals
2228 9.3.3 dcl.ambig.res Ambiguity resolution for cast to function type
2412 9.2.9.7 dcl.spec.auto SFINAE vs undeduced placeholder type
2434 6.8.7 class.temporary Mandatory copy elision vs non-class objects
2551 6.8.4 basic.life "Refers to allocated storage" has no meaning
2553 9.3.4.6 dcl.fct Restrictions on explicit object member functions
2554 11.7.3 class.virtual Overriding virtual functions, also with explicit object parameters
2557 7.6.1.5 expr.ref Class member access referring to an unrelated class
2563 9.6.4 dcl.fct.def.coroutine Initialization of coroutine result object
2566 7.6.2.8 expr.new Matching deallocation for uncaught exception
2572 12.3 over.over Address of overloaded function with no target
2587 6.10.2.2 intro.races Visible side effects and initial value of an object
2589 13.5.2.3 temp.constr.atomic Context of access checks during constraint satisfaction checking
2593 7.6.4 expr.mptr.oper Insufficient base class restriction for pointer-to-member expression
2617 13.2 temp.param Default template arguments for template members of non-template classes
2677 6.8.4 basic.life Replacing union subobjects
2726 5.9 lex.digraph Alternative tokens appearing as attribute-tokens
2737 7.5.6.3 expr.prim.lambda.capture Temporary lifetime extension for reference init-captures
2738 7.5.5.2 expr.prim.id.unqual "denotes a destructor" is missing specification
2756 11.9 class.init Completion of initialization by delegating constructor
2757 11.9.5 class.cdtor Deleting or deallocating storage of an object during its construction
2778 7.7 expr.const Trivial destructor does not imply constant destruction
2797 12.2.2.3 over.match.oper Meaning of "corresponds" for rewritten operator candidates
2800 7.7 expr.const Instantiating constexpr variables for potential constant evaluation
2808 13.9.2 temp.inst Explicit specialization of defaulted special member function
2816 6.10.2.3 intro.progress Unclear phrasing "may assume ... eventually"
2821 6.8.4 basic.life Lifetime, zero-initialization, and dynamic initialization
2827 6.9.2 basic.fundamental Representation of unsigned integral types
2833 6.10.3.3 basic.start.dynamic Evaluation of odr-use
2834 13.7.7.3 temp.func.order Partial ordering and explicit object parameters
2847 13.9.4 temp.expl.spec Constrained explicit specializations of function templates at class scope
2862 13.1 temp.pre Unclear boundaries of template declarations
2875 C.7.4 diff.expr Missing support for round-tripping null pointer values through indirection/address operators
2885 11.4.5.2 class.default.ctor Non-eligible trivial default constructors
2888 6.5.4 basic.lookup.argdep Missing cases for reference and array types for argument-dependent lookup
2896 13.10.3 temp.deduct Template argument deduction involving exception specifications
2902 7.5.5.1 expr.prim.id.general Implicit this transformation outside of permitted contexts
2914 6.10.3.2 basic.start.static Unclear order of initialization of static and thread-local variables
2916 13.7.6 temp.spec.partial Variable template partial specializations should not be declared static
2917 13.1 temp.pre Disallow multiple friend-type-specifiers for a friend template
2929 6.10.3.4 basic.start.term Lifetime of trivially-destructible static or thread-local objects
2932 9.8.1 dcl.enum Value range of empty enumeration
2940 6.8.2 intro.object Definition of "object"
2976 8.10 stmt.dcl Transferring control out of a function
2977 9.5.1 dcl.init.general Initialization with string literals
2983 6.1 basic.pre Non-type template parameters are not variables
3000 7.6.16 expr.cond Handling of cv-qualified class types in conditional operator
3003 9.2.9.3 dcl.type.simple Naming a deducible template for class template argument deduction
3006 13.9.3 temp.explicit Vague restrictions for explicit instantiations of class templates
3022 11.4.7 class.dtor Redundant specification of explicit destructor calls
3078 15.3 cpp.include Different treatment of #include pp-tokens and header-name-tokens
3081 7.6.1.5 expr.ref Require glvalue when splicing direct base class relationship


Issues with "Drafting" Status (count=127):

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


Issues with "Open" Status (count=351):

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


Issues with "Dup" Status:

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


Issues with "NAD" Status:

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


Issues with "Concepts" Status:

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


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

Issue Section Title
1914 9.13 dcl.attr Duplicate standard attributes
2097 7.5.6 expr.prim.lambda Lambdas and noreturn attribute
2261 13.7.5 temp.friend Explicit instantiation of in-class friend definition
2320 8.5.2 stmt.if constexpr if and boolean conversions
2449 7.6.2.2 expr.unary.op Thunks as an implementation technique for pointers to virtual functions
2500 7.6.1.9 expr.static.cast noexcept(false) functions and noexcept expressions


Issues with "DR" Status:

Issue Section Title


Issues with "accepted" Status:

Issue Section Title


Issues with "DRWP" Status:

Issue Section Title


Issues with "WP" Status:

Issue Section Title


Issues with "TC1" Status:

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


Issues with "CD1" Status:

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


Issues with "CD2" Status:

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


Issues with "C++11" Status:

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


Issues with "CD3" Status:

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


Issues with "C++14" Status:

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


Issues with "CD4" Status:

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

Issues with "C++17" Status:

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

Issues with "CD5" Status:

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

Issues with "C++20" Status:

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

Issues with "CD6" Status:

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

Issues with "C++23" Status:

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

Issues with "CD7" Status:

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