diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index 5ee388f51f3ae..47300efb99c36 100755 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -40,3231 +40,3231 @@

C++ defect report implementation status

Available in Clang? - 1 + 1 TC1 What if two using-declarations refer to the same function but the declarations introduce different default-arguments? No - 2 + 2 drafting How can dependent names be used in member declarations that appear outside of the class template definition? Not resolved - 3 + 3 NAD The template compilation model rules render some explicit specialization declarations not visible during instantiation Yes - 4 + 4 CD1 Does extern "C" affect the linkage of function names with internal linkage? Yes - 5 + 5 CD1 CV-qualifiers and type conversions Yes - 6 + 6 open 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? Not resolved - 7 + 7 NAD Can a class with a private virtual base class be derived from? Yes - 8 + 8 CD1 Access to template arguments used in a function return type and in the nested name specifier Duplicate of 45 - 9 + 9 CD1 Clarification of access to base class members Yes - 10 + 10 CD1 Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class? Duplicate of 45 - 11 + 11 CD1 How do the keywords typename/template interact with using-declarations? Yes - 12 + 12 dup Default arguments on different declarations for the same function and the Koenig lookup Superseded by 239 - 13 + 13 NAD extern "C" for Parameters of Function Templates No - 14 + 14 NAD extern "C" functions and declarations in different namespaces Yes - 15 + 15 dup Default arguments for parameters of function templates Yes - 16 + 16 CD1 Access to members of indirect private base classes Yes - 17 + 17 NAD Footnote 99 should discuss the naming class when describing members that can be accessed from friends Yes - 18 + 18 NAD f(TYPE) where TYPE is void should be allowed Superseded by 577 - 19 + 19 NAD Clarify protected member access Yes - 20 + 20 TC1 Some clarifications needed for 12.8 para 15 Yes - 21 + 21 TC1 Can a default argument for a template parameter appear in a friend declaration? Yes - 22 + 22 TC1 Template parameter with a default argument that refers to itself Superseded by 481 - 23 + 23 NAD Some questions regarding partial ordering of function templates Yes - 24 + 24 TC1 Errors in examples in 14.7.3 N/A - 25 + 25 TC1 Exception specifications and pointers to members Yes - 26 + 26 NAD Copy constructors and default arguments Yes - 27 + 27 NAD Overload ambiguities for builtin ?: prototypes Yes - 28 + 28 CD1 'exit', 'signal' and static object destruction N/A (Library DR) - 29 + 29 CD1 Linkage of locally declared functions Clang 3.4 - 30 + 30 TC1 Valid uses of "::template" Superseded by 468 (C++11 onwards) - 31 + 31 NAD Looking up new/delete Yes - 32 + 32 TC1 Clarification of explicit instantiation of non-exported templates N/A - 33 + 33 TC1 Argument dependent lookup and overloaded functions Yes - 34 + 34 NAD Argument dependent lookup and points of instantiation N/A - 35 + 35 TC1 Definition of default-initialization Duplicate of 178 - 36 + 36 CD6 using-declarations in multiple-declaration contexts Yes - 37 + 37 NAD When is uncaught_exception() true? Superseded by 475 - 38 + 38 TC1 Explicit template arguments and operator functions Yes - 39 + 39 CD1 Conflicting ambiguity rules No - 40 + 40 TC1 Syntax of declarator-id N/A - 41 + 41 TC1 Clarification of lookup of names after declarator-id Yes - 42 + 42 NAD Redefining names from base classes Yes - 43 + 43 TC1 Copying base classes (PODs) using memcpy N/A - 44 + 44 CD1 Member specializations Superseded by 727 - 45 + 45 CD1 Access to nested classes Yes - 46 + 46 NAD Explicit instantiation of member templates Yes - 47 + 47 NAD Template friend issues Superseded by 329 - 48 + 48 TC1 Definitions of unused static members Yes - 49 + 49 TC1 Restriction on non-type, non-value template arguments Yes - 50 + 50 NAD Converting pointer to incomplete type to same type Yes - 51 + 51 TC1 Overloading and user-defined conversions Yes - 52 + 52 TC1 Non-static members, member selection and access checking Yes - 53 + 53 TC1 Lvalue-to-rvalue conversion before certain static_casts Yes - 54 + 54 CD1 Static_cast from private base to derived class Yes - 55 + 55 NAD Adding/subtracting pointer and enumeration value Yes - 56 + 56 TC1 Redeclaring typedefs within classes Yes - 57 + 57 open Empty unions Not resolved - 58 + 58 CD1 Signedness of bit fields of enum type Yes - 59 + 59 TC1 Clarification of overloading and UDC to reference type Yes - 60 + 60 CD1 Reference binding and valid conversion sequences Yes - 61 + 61 NAD Address of static member function "&p->f" Yes - 62 + 62 CD1 Unnamed members of classes used as type parameters Yes - 63 + 63 CD1 Class instantiation from pointer conversion to void*, null and self Yes - 64 + 64 TC1 Partial ordering to disambiguate explicit specialization Yes - 65 + 65 TC1 Typo in default argument example N/A - 66 + 66 NAD Visibility of default args vs overloads added after using-declaration No - 67 + 67 TC1 Evaluation of left side of object-expression N/A - 68 + 68 TC1 Grammar does not allow "friend class A<int>;" Yes - 69 + 69 TC1 Storage class specifiers on template declarations Yes - 70 + 70 CD1 Is an array bound a nondeduced context? Yes - 71 + 71 NAD Incorrect cross reference N/A - 72 + 72 dup Linkage and storage class specifiers for templates Duplicate of 69 - 73 + 73 TC1 Pointer equality Superseded by 1652 - 74 + 74 TC1 Enumeration value in direct-new-declarator Yes - 75 + 75 TC1 In-class initialized members must be const Yes - 76 + 76 TC1 Are const volatile variables considered "constant expressions"? Yes - 77 + 77 CD1 The definition of friend does not allow nested classes to be friends Yes - 78 + 78 CD1 Section 8.5 paragraph 9 should state it only applies to non-static objects Superseded by ???? - 79 + 79 dup Alignment and placement new N/A - 80 + 80 TC1 Class members with same name as class Yes - 81 + 81 NAD Null pointers and C compatibility N/A - 82 + 82 dup Definition of "using" a constant expression Duplicate of 48 - 83 + 83 TC1 Overloading and deprecated conversion of string literal Yes - 84 + 84 TC1 Overloading and conversion loophole used by auto_ptr Yes - 85 + 85 TC1 Redeclaration of member class Yes - 86 + 86 CD1 Lifetime of temporaries in query expressions Duplicate of 446 - 87 + 87 CD1 Exception specifications on function parameters No - 88 + 88 NAD Specialization of member constant templates Yes - 89 + 89 TC1 Object lifetime does not account for reference rebinding N/A - 90 + 90 TC1 Should the enclosing class be an "associated class" too? Yes - 91 + 91 NAD A union's associated types should include the union itself Yes - 92 + 92 CD4 Should exception-specifications be part of the type system? Clang 4 (C++17 onwards) - 93 + 93 TC1 Missing word in 3.8 basic.life paragraph 2 N/A - 94 + 94 TC1 Inconsistencies in the descriptions of constant expressions Yes - 95 + 95 NAD Elaborated type specifiers referencing names declared in friend decls Yes - 96 + 96 C++11 Syntactic disambiguation using the template keyword No - 97 + 97 NAD Use of bool constants in integral constant expressions Yes - 98 + 98 TC1 Branching into try block Yes - 99 + 99 NAD Partial ordering, references and cv-qualifiers Superseded by 214 - 100 + 100 TC1 Clarify why string literals are not allowed as template arguments Yes - 101 + 101 TC1 Redeclaration of extern "C" names via using-declarations Clang 3.5 - 102 + 102 NAD Operator lookup rules do not work well with parts of the library Yes - 103 + 103 TC1 Is it extended-namespace-definition or extension-namespace-definition ? N/A - 104 + 104 NAD Destroying the exception temp when no handler is found N/A (Library DR) - 105 + 105 TC1 Meaning of "template function" N/A - 106 + 106 CD1 Creating references to references during template deduction/instantiation Superseded by 540 - 107 + 107 NAD Linkage of operator functions Yes - 108 + 108 TC1 Are classes nested in templates dependent? Yes - 109 + 109 NAD Allowing ::template in using-declarations Yes - 110 + 110 CD6 Can template functions and classes be declared in the same scope? Unknown - 111 + 111 NAD Copy constructors and cv-qualifiers Duplicate of 535 - 112 + 112 CD1 Array types and cv-qualifiers Yes - 113 + 113 CD1 Visibility of called function Yes - 114 + 114 NAD Virtual overriding by template member function specializations Yes - 115 + 115 CD1 Address of template-id Yes - 116 + 116 TC1 Equivalent and functionally-equivalent function templates Yes - 117 + 117 NAD Timing of destruction of temporaries N/A - 118 + 118 CD1 Calls via pointers to virtual member functions Yes - 119 + 119 CD1 Object lifetime and aggregate initialization N/A - 120 + 120 TC1 Nonexistent non-terminal qualified-name N/A - 121 + 121 TC1 Dependent type names with non-dependent nested-name-specifiers Yes - 122 + 122 CD1 template-ids as unqualified-ids Yes - 123 + 123 TC1 Bad cross-reference N/A - 124 + 124 CD1 Lifetime of temporaries in default initialization of class arrays Duplicate of 201 - 125 + 125 CD1 Ambiguity in friend declaration syntax Yes - 126 + 126 TC1 Exception specifications and const Partial - 127 + 127 TC1 Ambiguity in description of matching deallocation function Yes - 128 + 128 TC1 Casting between enum types Yes - 129 + 129 CD3 Stability of uninitialized auto variables Duplicate of 616 - 130 + 130 NAD Sequence points and new-expressions N/A - 131 + 131 TC1 Typo in Lao characters Superseded by P1949 - 132 + 132 NAD Local types and linkage No - 133 + 133 dup Exception specifications and checking Duplicate of 87 - 134 + 134 TC1 Template classes and declarator-ids N/A - 135 + 135 TC1 Class type in in-class member function definitions Yes - 136 + 136 CD1 Default arguments and friend declarations Clang 3.4 - 137 + 137 TC1 static_cast of cv void* Yes - 138 + 138 CD6 Friend declaration name lookup Unknown - 139 + 139 CD1 Error in friend lookup example Yes - 140 + 140 CD1 Agreement of parameter declarations Yes - 141 + 141 CD1 Non-member function templates in member access expressions Yes - 142 + 142 TC1 Injection-related errors in access example Yes - 143 + 143 CD1 Friends and Koenig lookup Yes - 144 + 144 open Position of friend specifier Not resolved - 145 + 145 TC1 Deprecation of prefix ++ Yes - 146 + 146 open Floating-point zero Not resolved - 147 + 147 TC1 Naming the constructor Yes - 148 + 148 TC1 POD classes and pointers to members Yes - 149 + 149 TC1 Accessibility and ambiguity N/A - 150 + 150 C++17 Template template parameters and default arguments Unknown - 151 + 151 TC1 Terminology of zero-initialization Yes - 152 + 152 TC1 explicit copy constructors Yes - 153 + 153 TC1 Misleading wording (rank of conversion) N/A - 154 + 154 NAD Anonymous unions in unnamed namespaces Yes - 155 + 155 dup Brace initializer for scalar Duplicate of 632 - 156 + 156 NAD Name lookup for conversion functions Unknown - 157 + 157 open Omitted typedef declarator Not resolved - 158 + 158 CD1 Aliasing and qualification conversions Yes - 159 + 159 TC1 Namespace qualification in declarators Clang 3.5 - 160 + 160 CD1 Missing std:: qualification N/A - 161 + 161 TC1 Access to protected nested type Yes - 162 + 162 CD1 (&C::f)() with nonstatic members No - 163 + 163 TC1 Description of subaggregate initializer N/A - 164 + 164 TC1 Overlap between Koenig and normal lookup Yes - 165 + 165 NAD Definitions of friends and block-scope externs No - 166 + 166 TC1 Friend declarations of template-ids Yes - 167 + 167 NAD Deprecating static functions Superseded by 1012 - 168 + 168 NAD C linkage for static member functions No - 169 + 169 NAD template-ids in using-declarations Yes - 170 + 170 tentatively ready Pointer-to-member conversions Unknown - 171 + 171 TC1 Global namespace scope Yes - 172 + 172 CD1 Unsigned int as underlying type of enum Yes - 173 + 173 TC1 Constraints on execution character set Yes - 174 + 174 NAD Undeprecating global static Superseded by 1012 - 175 + 175 CD1 Class name injection and base name access Yes - 176 + 176 TC1 Name injection and templates Yes - 177 + 177 CD1 Lvalues vs rvalues in copy-initialization Yes - 178 + 178 TC1 More on value-initialization Yes - 179 + 179 TC1 Function pointers and subtraction Yes - 180 + 180 CD1 typename and elaborated types Yes - 181 + 181 TC1 Errors in template template-parameter example Yes - 182 + 182 NAD Access checking on explicit specializations Yes - 183 + 183 TC1 typename in explicit specializations Superseded by 382 - 184 + 184 CD1 Default arguments in template template-parameters Yes - 185 + 185 TC1 "Named" temporaries and copy elision Unknown - 186 + 186 open Name hiding and template template-parameters Not resolved - 187 + 187 TC1 Scope of template parameter names Superseded by 481 - 188 + 188 TC1 Comma operator and rvalue conversion Yes - 189 + 189 drafting Definition of operator and punctuator Not resolved - 190 + 190 TC1 Layout-compatible POD-struct types Unknown - 191 + 191 CD6 Name lookup does not handle complex nesting Yes - 192 + 192 NAD Name lookup in parameters Unknown - 193 + 193 TC1 Order of destruction of local automatics of destructor Unknown - 194 + 194 TC1 Identifying constructors Yes - 195 + 195 CD1 Converting between function and object pointers Yes - 196 + 196 open Arguments to deallocation functions Not resolved - 197 + 197 CD1 Issues with two-stage lookup of dependent names Yes - 198 + 198 CD1 Definition of "use" in local and nested classes Yes - 199 + 199 CD1 Order of destruction of temporaries Unknown - 200 + 200 dup Partial ordering and explicit arguments Duplicate of 214 - 201 + 201 CD1 Order of destruction of temporaries in initializers Unknown - 202 + 202 TC1 Use of overloaded function name Yes - 203 + 203 NAD Type of address-of-member expression Unknown - 204 + 204 CD1 Exported class templates No - 205 + 205 drafting Templates and static data members Not resolved - 206 + 206 TC1 Semantic constraints on non-dependent names Yes - 207 + 207 CD1 using-declarations and protected access Yes - 208 + 208 CD1 Rethrowing exceptions in nested handlers Unknown - 209 + 209 NAD Must friend declaration names be accessible? Yes - 210 + 210 TC1 What is the type matched by an exception handler? Unknown - 211 + 211 NAD Constructors should not be allowed to return normally after an exception Yes - 212 + 212 CD4 Implicit instantiation is not described clearly enough Unknown - 213 + 213 TC1 Lookup in dependent base classes Yes - 214 + 214 CD1 Partial ordering of function templates is underspecified Yes - 215 + 215 CD1 Template parameters are not allowed in nested-name-specifiers Yes - 216 + 216 CD1 Linkage of nameless class-scope enumeration types No - 217 + 217 TC1 Default arguments for non-template member functions of class templates Yes - 218 + 218 CD1 Specification of Koenig lookup Yes - 219 + 219 NAD Cannot defend against destructors that throw exceptions N/A - 220 + 220 CD1 All deallocation functions should be required not to throw N/A - 221 + 221 CD1 Must compound assignment operators be member functions? Yes - 222 + 222 CD1 Sequence points and lvalue-returning operators Duplicate of 637 - 223 + 223 CD3 The meaning of deprecation N/A - 224 + 224 CD1 Definition of dependent names Clang 16 - 225 + 225 NAD Koenig lookup and fundamental types Yes - 226 + 226 CD1 Default template arguments for function templates No - 227 + 227 TC1 How many scopes in an if statement? Yes - 228 + 228 CD1 Use of template keyword with non-member templates Yes - 229 + 229 NAD Partial specialization of function templates Yes - 230 + 230 NAD Calls to pure virtual functions Yes - 231 + 231 NAD Visibility of names after using-directives Yes - 232 + 232 drafting Is indirection through a null pointer undefined behavior? Not resolved - 233 + 233 open References vs pointers in UDC overload resolution Not resolved - 234 + 234 NAD Reuse of base class subobjects N/A - 235 + 235 TC1 Assignment vs initialization N/A - 236 + 236 NAD Explicit temporaries and integral constant expressions Yes - 237 + 237 CD1 Explicit instantiation and base class members Duplicate of 470 - 238 + 238 CD4 Precision and accuracy constraints on floating point Unknown - 239 + 239 CD1 Footnote 116 and Koenig lookup Yes - 240 + 240 CD3 Uninitialized values and undefined behavior Duplicate of 616 - 241 + 241 TC1 Error in example in 14.8.1 Yes - 242 + 242 CD4 Interpretation of old-style casts Unknown - 243 + 243 NAD Weighting of conversion functions in direct-initialization Yes - 244 + 244 CD1 Destructor lookup Clang 11 - 245 + 245 CD1 Name lookup in elaborated-type-specifiers Yes - 246 + 246 CD1 Jumps in function-try-block handlers Yes - 247 + 247 NAD Pointer-to-member casts and function overload resolution Yes - 248 + 248 C++11 Identifier characters Superseded by P1949 - 249 + 249 TC1 What is a member function template? Yes - 250 + 250 TC1 Address of function template specialization with non-deduced template arguments Yes - 251 + 251 open How many signed integer types are there? Not resolved - 252 + 252 CD1 Looking up deallocation functions in virtual destructors Yes - 253 + 253 C++17 Why must empty or fully-initialized const objects be initialized? Unknown - 254 + 254 CD1 Definitional problems with elaborated-type-specifiers Yes - 255 + 255 CD6 Placement deallocation functions and lookup ambiguity Yes - 256 + 256 CD1 Overflow in size calculations Duplicate of 624 - 257 + 257 CD2 Abstract base constructors and virtual base initialization Yes - 258 + 258 CD1 using-declarations and cv-qualifiers Yes - 259 + 259 CD1 Restrictions on explicit specialization and instantiation Clang 4 - 260 + 260 open User-defined conversions and built-in operator= Not resolved - 261 + 261 CD1 When is a deallocation function "used?" No - 262 + 262 CD1 Default arguments and ellipsis Yes - 263 + 263 CD1 Can a constructor be declared a friend? Yes - 264 + 264 open Unusable template constructors and conversion functions Not resolved - 265 + 265 dup Destructors, exceptions, and deallocation Duplicate of 353 - 266 + 266 NAD No grammar sentence symbol N/A - 267 + 267 open Alignment requirement for new-expressions Not resolved - 268 + 268 open Macro name suppression in rescanned replacement text Not resolved - 269 + 269 NAD Order of initialization of multiply-defined static data members of class templates N/A - 270 + 270 CD1 Order of initialization of static data members of class templates N/A - 271 + 271 CD6 Explicit instantiation and template argument deduction Unknown - 272 + 272 CD1 Explicit destructor invocation and qualified-ids Yes - 273 + 273 CD1 POD classes and operator&() Yes - 274 + 274 CD1 Cv-qualification and char-alias access to out-of-lifetime objects N/A - 275 + 275 CD1 Explicit instantiation/specialization and using-directives No - 276 + 276 CD1 Order of destruction of parameters and temporaries N/A - 277 + 277 CD1 Zero-initialization of pointers Yes - 278 + 278 NAD External linkage and nameless entities Unknown - 279 + 279 CD6 Correspondence of "names for linkage purposes" Unknown - 280 + 280 CD1 Access and surrogate call functions Yes - 281 + 281 CD1 inline specifier in friend declarations No - 282 + 282 open Namespace for extended_type_info Not resolved - 283 + 283 CD1 Template type-parameters are not syntactically type-names Yes - 284 + 284 CD1 qualified-ids in class declarations No - 285 + 285 NAD Identifying a function template being specialized Yes - 286 + 286 CD1 Incorrect example in partial specialization Yes - 287 + 287 drafting Order dependencies in template instantiation Not resolved - 288 + 288 CD1 Misuse of "static type" in describing pointers N/A - 289 + 289 CD1 Incomplete list of contexts requiring a complete type Yes - 290 + 290 NAD Should memcpy be allowed into a POD with a const member? N/A - 291 + 291 CD1 Overload resolution needed when binding reference to class rvalue Duplicate of 391 - 292 + 292 CD3 Deallocation on exception in new before arguments evaluated Unknown - 293 + 293 open Syntax of explicit instantiation/specialization too permissive Not resolved - 294 + 294 NAD Can static_cast drop exception specifications? No - 295 + 295 CD1 cv-qualifiers on function types Clang 3.7 - 296 + 296 CD1 Can conversion functions be static? Yes - 297 + 297 NAD Which template does an explicit specialization specialize? Unknown - 298 + 298 CD1 T::x when T is cv-qualified Yes - 299 + 299 CD1 Conversion on array bound expression in new Yes (C++11 onwards) - 300 + 300 CD1 References to functions in template argument deduction Yes - 301 + 301 CD1 Syntax for template-name Yes - 302 + 302 CD1 Value-initialization and generation of default constructor Yes - 303 + 303 NAD Integral promotions on bit-fields N/A - 304 + 304 TC1 Value-initialization of a reference Yes - 305 + 305 CD1 Name lookup in destructor call No - 306 + 306 CD1 Ambiguity by class name injection Duplicate of 39 - 307 + 307 NAD Initialization of a virtual base class subobject N/A - 308 + 308 NAD Catching exceptions with ambiguous base classes Yes - 309 + 309 CD1 Linkage of entities whose names are not simply identifiers, in introduction Duplicate of 485 - 310 + 310 open Can function templates differing only in parameter cv-qualifiers be overloaded? Not resolved - 311 + 311 NAD Using qualified name to reopen nested namespace Yes - 312 + 312 CD3 “use” of invalid pointer value not defined Duplicate of 616 - 313 + 313 dup Class with single conversion function to integral as array size in new Duplicate of 299 (C++11 onwards) - 314 + 314 C++17 template in base class specifier Unknown - 315 + 315 NAD Is call of static member function through null pointer undefined? N/A - 316 + 316 NAD Injected-class-name of template used as template template parameter Superseded by 1004 - 317 + 317 CD1 Can a function be declared inline after it has been called? Clang 3.5 - 318 + 318 CD1 struct A::A should not name the constructor of A Superseded by 1310 - 319 + 319 CD1 Use of names without linkage in declaring entities with linkage No - 320 + 320 CD1 Question on copy constructor elision example Yes - 321 + 321 dup Associated classes and namespaces for argument-dependent lookup Duplicate of 557 - 322 + 322 CD1 Deduction of reference conversions Yes - 323 + 323 CD1 Where must export appear? No - 324 + 324 CD1 Can "&" be applied to assignment to bit-field? Yes - 325 + 325 drafting When are default arguments parsed? Not resolved - 326 + 326 CD1 Wording for definition of trivial constructor Yes - 327 + 327 CD1 Use of "structure" without definition Duplicate of 538 - 328 + 328 CD1 Missing requirement that class member types be complete Yes - 329 + 329 CD1 Evaluation of friends of templates Clang 3.5 - 330 + 330 CD4 Qualification conversions and pointers to arrays of pointers Clang 7 - 331 + 331 CD1 Allowed copy constructor signatures Yes - 332 + 332 CD3 cv-qualified void parameter types Duplicate of 577 - 333 + 333 NAD Ambiguous use of "declaration" in disambiguation section Yes - 334 + 334 NAD Is a comma-expression dependent if its first operand is? Yes - 335 + 335 CD1 Allowing export on template members of nontemplate classes No - 336 + 336 CD1 Explicit specialization examples are still incorrect Yes - 337 + 337 CD1 Attempt to create array of abtract type should cause deduction to fail Yes - 338 + 338 CD6 Enumerator name with linkage used as class name in other translation unit Unknown - 339 + 339 CD1 Overload resolution in operand of sizeof in constant expression Yes - 340 + 340 NAD Unclear wording in disambiguation section Yes - 341 + 341 C++11 extern "C" namespace member function versus global variable Superseded by 1708 - 342 + 342 CD3 Terminology: "indirection" versus "dereference" N/A - 343 + 343 C++17 Make template optional in contexts that require a type Unknown - 344 + 344 CD3 Naming destructors Duplicate of 1435 - 345 + 345 CD1 Misleading comment on example in templates chapter Yes - 346 + 346 NAD Typo in 15.4 N/A - 347 + 347 NAD Use of derived class name in defining base class nested class Yes - 348 + 348 CD1 delete and user-written deallocation functions N/A - 349 + 349 CD1 Template argument deduction for conversion functions and qualification conversions No - 350 + 350 open signed char underlying representation for objects Not resolved - 351 + 351 CD1 Sequence point error: unspecified or undefined? N/A - 352 + 352 CD1 Nondeduced contexts Yes - 353 + 353 CD1 Is deallocation routine called if destructor throws exception in delete? Unknown - 354 + 354 CD1 Null as nontype template argument Yes (C++11 onwards) - 355 + 355 C++11 Global-scope :: in nested-name-specifier Yes - 356 + 356 NAD Wording of behavior of generated copy constructor for scalar members N/A - 357 + 357 CD1 Definition of signature should include name Yes - 358 + 358 NAD Namespaces and extern "C" Yes - 359 + 359 NAD Type definition in anonymous union Yes - 360 + 360 CD6 Using-declaration that reduces access Yes - 361 + 361 open Forward reference to default argument Not resolved - 362 + 362 CD1 Order of initialization in instantiation units N/A - 363 + 363 NAD Initialization of class from self N/A - 364 + 364 CD1 Calling overloaded function with static in set, with no object Yes - 365 + 365 open Storage duration and temporaries Not resolved - 366 + 366 CD1 String literal allowed in integral constant expression? Yes - 367 + 367 CD1 throw operator allowed in constant expression? Yes - 368 + 368 CD1 Uses of non-type parameters that should cause deduction to fail Yes - 369 + 369 drafting Are new/delete identifiers or preprocessing-op-or-punc? Not resolved - 370 + 370 CD1 Can #include <...> form be used other than for standard C++ headers? N/A - 371 + 371 open Interleaving of constructor calls Not resolved - 372 + 372 CD1 Is access granted by base class specifiers available in following base class specifiers? No - 373 + 373 C++11 Lookup on namespace qualified name in using-directive Clang 5 - 374 + 374 CD2 Can explicit specialization outside namespace use qualified name? Yes - 375 + 375 dup Confusing example on lookup with typename Duplicate of 345 - 376 + 376 NAD Class "definition" versus class "declaration" N/A - 377 + 377 CD1 Enum whose enumerators will not fit in any integral type Yes - 378 + 378 CD1 Wording that says temporaries are declared Duplicate of 276 - 379 + 379 CD1 Change "class declaration" to "class definition" N/A - 380 + 380 open Definition of "ambiguous base class" missing Not resolved - 381 + 381 CD1 Incorrect example of base class member lookup Yes - 382 + 382 CD1 Allow typename outside of templates Yes (C++11 onwards) - 383 + 383 CD1 Is a class with a declared but not defined destructor a POD? Yes - 384 + 384 NAD Argument-dependent lookup and operator functions Yes - 385 + 385 CD1 How does protected member check of 11.5 interact with using-declarations? Yes - 386 + 386 CD6 Friend declaration of name brought in by using-declaration Unknown - 387 + 387 CD1 Errors in example in 14.6.5 Yes - 388 + 388 CD3 Catching base*& from a throw of derived* Unknown - 389 + 389 CD1 Unnamed types in entities with linkage No - 390 + 390 CD1 Pure virtual must be defined when implicitly called Yes - 391 + 391 CD1 Require direct binding of short-lived references to rvalues Yes (C++11 onwards) - 392 + 392 CD1 Use of full expression lvalue before temporary destruction Unknown - 393 + 393 CD4 Pointer to array of unknown bound in template argument list in parameter Unknown - 394 + 394 CD1 identifier-list is never defined N/A - 395 + 395 NAD Conversion operator template syntax Yes - 396 + 396 CD1 Misleading note regarding use of auto for disambiguation Yes - 397 + 397 CD1 Same address for string literals from default arguments in inline functions? Superseded by 1823 - 398 + 398 CD1 Ambiguous wording on naming a type in deduction Yes - 399 + 399 CD6 Destructor lookup redux Unknown - 400 + 400 CD1 Using-declarations and the "struct hack" Yes - 401 + 401 CD1 When is access for template parameter default arguments checked? Yes - 402 + 402 open More on partial ordering of function templates Not resolved - 403 + 403 CD1 Reference to a type as a template-id Yes - 404 + 404 CD1 Unclear reference to construction with non-trivial constructor N/A - 405 + 405 CD6 Unqualified function name lookup Yes - 406 + 406 CD1 Static data member in class with name for linkage purposes Yes - 407 + 407 C++11 Named class with associated typedef: two names or one? Clang 3.8 - 408 + 408 CD2 sizeof applied to unknown-bound array static data member of template Clang 3.4 - 409 + 409 CD1 Obsolete paragraph missed by changes for issue 224 Yes - 410 + 410 CD1 Paragraph missed in changes for issue 166 No - 411 + 411 CD6 Use of universal-character-name in character versus string literals Unknown - 412 + 412 NAD Can a replacement allocation function be inline? Yes - 413 + 413 CD1 Definition of "empty class" Yes - 414 + 414 CD1 Multiple types found on destructor lookup Duplicate of 305 - 415 + 415 CD1 Template deduction does not cause instantiation Yes - 416 + 416 CD1 Class must be complete to allow operator lookup? Yes - 417 + 417 CD1 Using derived-class qualified name in out-of-class nested class definition No - 418 + 418 CD6 Imperfect wording on error on multiple default arguments on a called function No - 419 + 419 open Can cast to virtual base class be done on partially-constructed object? Not resolved - 420 + 420 CD1 postfixexpression->scalar_type_dtor() inconsistent Yes - 421 + 421 CD1 Is rvalue.field an rvalue? Yes - 422 + 422 NAD Is a typedef redeclaration allowed with a template type that might be the same? Yes - 423 + 423 NAD Can a conversion be done on the left operand of a compound assignment? Yes - 424 + 424 CD1 Wording problem with issue 56 resolution on redeclaring typedefs in class scope Yes - 425 + 425 CD1 Set of candidates for overloaded built-in operator with float operand Yes - 426 + 426 C++17 Identically-named variables, one internally and one externally linked, allowed? Unknown - 427 + 427 CD1 static_cast ambiguity: conversion versus cast to derived Yes - 428 + 428 CD1 Mention of expression with reference type Yes - 429 + 429 CD1 Matching deallocation function chosen based on syntax or signature? Yes (C++11 onwards) - 430 + 430 CD1 Ordering of expression evaluation in initializer list Yes (C++11 onwards) - 431 + 431 C++11 Defect in wording in 14.2 Yes - 432 + 432 CD1 Is injected class name visible in base class specifier list? Yes - 433 + 433 CD1 Do elaborated type specifiers in templates inject into enclosing namespace scope? Yes - 434 + 434 NAD Unclear suppression of standard conversions while binding reference to lvalue Superseded by 2352 - 435 + 435 NAD Change "declararation or definition" to "declaration" N/A - 436 + 436 CD1 Problem in example in 9.6 paragraph 4 Yes - 437 + 437 CD1 Is type of class allowed in member function exception specification? Superseded by 1308 - 438 + 438 CD2 Possible flaw in wording for multiple accesses to object between sequence points Unknown - 439 + 439 CD1 Guarantees on casting pointer back to cv-qualified version of original type Unknown - 440 + 440 open Allow implicit pointer-to-member conversion on nontype template argument Not resolved - 441 + 441 CD1 Ordering of static reference initialization Unknown - 442 + 442 CD1 Incorrect use of null pointer constant in description of delete operator Superseded by 348 - 443 + 443 CD1 Wording nit in description of lifetime of temporaries N/A - 444 + 444 NAD Overriding and the generated copy assignment operator Yes - 445 + 445 NAD Wording issue on friend declarations Yes - 446 + 446 CD1 Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary? Yes - 447 + 447 CD1 Is offsetof type-dependent? Yes - 448 + 448 C++11 Set of template functions in call with dependent explicit argument Yes - 449 + 449 NAD Consistency in use of hyphen with names of "non" entities N/A - 450 + 450 CD1 Binding a reference to const to a cv-qualified array rvalue Yes - 451 + 451 CD1 Expressions with invalid results and ill-formedness Yes - 452 + 452 CD1 Wording nit on description of this Yes - 453 + 453 drafting References may only bind to “valid” objects Not resolved - 454 + 454 CD1 When is a definition of a static data member required? Unknown - 455 + 455 NAD Partial ordering and non-deduced arguments Unknown - 456 + 456 NAD Is initialized const int or const bool variable a null pointer constant? Yes - 457 + 457 CD1 Wording nit on use of const variables in constant expressions Yes - 458 + 458 C++11 Hiding of member template parameters by other members Clang 11 - 459 + 459 open Hiding of template parameters by base class members Not resolved - 460 + 460 CD1 Can a using-declaration name a namespace? Yes - 461 + 461 NAD Make asm conditionally-supported N/A - 462 + 462 CD3 Lifetime of temporaries bound to comma expressions Unknown - 463 + 463 CD1 reinterpret_cast<T*>(0) N/A - 464 + 464 CD1 Wording nit on lifetime of temporaries to which references are bound N/A - 465 + 465 NAD May constructors of global objects call exit()? N/A - 466 + 466 CD1 cv-qualifiers on pseudo-destructor type No - 467 + 467 NAD Jump past initialization of local static variable Yes - 468 + 468 CD1 Allow ::template outside of templates Yes (C++11 onwards) - 469 + 469 NAD Const template specializations and reference arguments No - 470 + 470 CD1 Instantiation of members of an explicitly-instantiated class template Yes - 471 + 471 NAD Conflicting inherited access specifications Yes - 472 + 472 drafting Casting across protected inheritance Not resolved - 473 + 473 open Block-scope declarations of allocator functions Not resolved - 474 + 474 CD1 Block-scope extern declarations in namespace members Yes - 475 + 475 C++11 When is std::uncaught_exception() true? (take 2) Unknown - 476 + 476 CD5 Determining the buffer size for placement new Unknown - 477 + 477 CD1 Can virtual appear in a friend declaration? Clang 3.5 - 478 + 478 NAD May a function parameter be an array of an abstract class type? Yes - 479 + 479 CD1 Copy elision in exception handling Yes - 480 + 480 CD1 Is a base of a virtual base also virtual? Yes - 481 + 481 CD2 Scope of template parameters Yes - 482 + 482 CD3 Qualified declarators in redeclarations Clang 3.5 - 483 + 483 CD3 Normative requirements on integral ranges Yes - 484 + 484 CD1 Can a base-specifier name a cv-qualified class type? Yes - 485 + 485 CD1 What is a “name”? Yes - 486 + 486 CD1 Invalid return types and template argument deduction Yes - 487 + 487 NAD Operator overloading in constant expressions Yes - 488 + 488 CD1 Local types, overload resolution, and template argument deduction Yes (C++11 onwards) - 489 + 489 NAD Must member function templates be instantiated during overload resolution? N/A - 490 + 490 CD2 Name lookup in friend declarations Yes - 491 + 491 CD1 Initializers for empty-class aggregrate members Duplicate of 413 - 492 + 492 CD1 typeid constness inconsistent with example Unknown - 493 + 493 CD2 Type deduction from a bool context Duplicate of 976 - 494 + 494 CD1 Problems with the resolution of issue 45 Duplicate of 372 - 495 + 495 CD2 Overload resolution with template and non-template conversion functions Clang 3.5 - 496 + 496 CD3 Is a volatile-qualified type really a POD? Superseded by 2094 - 497 + 497 CD1 Missing required initialization in example Superseded by 253 - 498 + 498 open Storage class specifiers in definitions of class members Not resolved - 499 + 499 CD2 Throwing an array of unknown size Yes - 500 + 500 CD1 Access in base-specifiers of friend and nested classes Duplicate of 372 - 501 + 501 NAD Visibility of friend declarations within the befriending class Yes - 502 + 502 C++11 Dependency of nested enumerations and enumerators Yes - 503 + 503 open Cv-qualified function types in template argument deduction Not resolved - 504 + 504 open Should use of a variable in its own initializer require a diagnostic? Not resolved - 505 + 505 CD1 Conditionally-supported behavior for unknown character escapes Yes - 506 + 506 CD1 Conditionally-supported behavior for non-POD objects passed to ellipsis Yes - 507 + 507 dup Ambiguity assigning class object to built-in type Duplicate of 260 - 508 + 508 C++11 Non-constructed value-initialized objects N/A - 509 + 509 CD1 Dead code in the specification of default initialization N/A - 510 + 510 CD1 Default initialization of POD classes? N/A - 511 + 511 open POD-structs with template assignment operators Not resolved - 512 + 512 NAD Union members with user-declared non-default constructors Yes - 513 + 513 CD1 Non-class “most-derived” objects N/A - 514 + 514 CD1 Is the initializer for a namespace member in the scope of the namespace? Yes - 515 + 515 CD1 Non-dependent references to base class members Superseded by 1017 - 516 + 516 CD1 Use of signed in bit-field declarations N/A - 517 + 517 CD1 Partial specialization following explicit instantiation No - 518 + 518 CD1 Trailing comma following enumerator-list Yes (C++11 onwards) - 519 + 519 CD1 Null pointer preservation in void* conversions Yes - 520 + 520 CD1 Old-style casts between incomplete class types N/A - 521 + 521 CD1 Requirements for exceptions thrown by allocation functions No - 522 + 522 CD1 Array-to-pointer decay in template argument deduction Yes - 523 + 523 open Can a one-past-the-end pointer be invalidated by deleting an adjacent object? Not resolved - 524 + 524 CD1 Can function-notation calls to operator functions be dependent? Yes - 525 + 525 CD1 Missing * in example Yes - 526 + 526 CD1 Confusing aspects in the specification of non-deduced contexts Yes - 527 + 527 CD2 Problems with linkage of types N/A - 528 + 528 open Why are incomplete class types not allowed with typeid? Not resolved - 529 + 529 drafting Use of template<> with “explicitly-specialized” class templates Not resolved - 530 + 530 CD1 Nontype template arguments in constant expressions Yes - 531 + 531 C++11 Defining members of explicit specializations Partial - 532 + 532 C++11 Member/nonmember operator template partial ordering Clang 3.5 - 533 + 533 NAD Special treatment for C-style header names N/A - 534 + 534 CD1 template-names and operator-function-ids Yes - 535 + 535 CD3 Copy construction without a copy constructor Yes - 536 + 536 CD6 Problems in the description of id-expressions N/A - 537 + 537 CD1 Definition of “signature” N/A - 538 + 538 CD1 Definition and usage of structure, POD-struct, POD-union, @@ -3272,12799 +3272,12799 @@

C++ defect report implementation status

N/A - 539 + 539 CD3 Constraints on type-specifier-seq Yes - 540 + 540 CD1 Propagation of cv-qualifiers in reference-to-reference collapse Yes - 541 + 541 CD2 Dependent function types Yes - 542 + 542 CD2 Value initialization of arrays of POD-structs Yes - 543 + 543 CD1 Value initialization and default constructors Yes - 544 + 544 NAD Base class lookup in explicit specialization Yes - 545 + 545 open User-defined conversions and built-in operator overload resolution Not resolved - 546 + 546 C++11 Explicit instantiation of class template members Yes - 547 + 547 C++11 Partial specialization on member function types Yes - 548 + 548 dup qualified-ids in declarations Duplicate of 482 - 549 + 549 drafting Non-deducible parameters in partial specializations Not resolved - 550 + 550 dup Pointer to array of unknown bound in parameter declarations Unknown - 551 + 551 CD1 When is inline permitted in an explicit instantiation? Yes (C++11 onwards) - 552 + 552 NAD Use of typename in the type in a non-type parameter-declaration Yes - 553 + 553 NAD Problems with friend allocation and deallocation functions Unknown - 554 + 554 CD6 Definition of “declarative region” and “scope” N/A - 555 + 555 CD5 Pseudo-destructor name lookup Unknown - 556 + 556 CD2 Conflicting requirements for acceptable aliasing N/A - 557 + 557 CD1 Does argument-dependent lookup cause template instantiation? Yes - 558 + 558 CD1 Excluded characters in universal character names Yes - 559 + 559 CD1 Editing error in issue 382 resolution Yes - 560 + 560 NAD Use of the typename keyword in return types Unknown - 561 + 561 CD2 Internal linkage functions in dependent name lookup Yes - 562 + 562 CD6 qualified-ids in non-expression contexts N/A - 563 + 563 CD6 Linkage specification for objects Unknown - 564 + 564 CD2 Agreement of language linkage or linkage-specifications? Yes - 565 + 565 CD3 Conflict rules for using-declarations naming function templates Yes - 566 + 566 NAD Conversion of negative floating point values to integer type Yes - 567 + 567 NAD Can size_t and ptrdiff_t be larger than long? N/A - 568 + 568 CD1 Definition of POD is too strict Yes (C++11 onwards) - 569 + 569 CD2 Spurious semicolons at namespace scope should be allowed Yes (C++11 onwards) - 570 + 570 CD2 Are references subject to the ODR? Duplicate of 633 - 571 + 571 CD2 References declared const Unknown - 572 + 572 C++11 Standard conversions for non-built-in types Yes - 573 + 573 C++11 Conversions between function pointers and void* No - 574 + 574 NAD Definition of “copy assignment operator” Yes - 575 + 575 C++11 Criteria for deduction failure Yes - 576 + 576 CD2 Typedefs in function definitions Yes - 577 + 577 CD3 void in an empty parameter list Yes - 578 + 578 CD6 Phase 1 replacement of characters with universal-character-names Unknown - 579 + 579 open What is a “nested” > or >>? Not resolved - 580 + 580 C++11 Access in template-parameters of member and friend definitions Partial - 581 + 581 CD5 Can a templated constructor be explicitly instantiated or specialized? Unknown - 582 + 582 CD1 Template conversion functions N/A - 583 + 583 CD3 Relational pointer comparisons against the null pointer constant Clang 4 - 584 + 584 NAD Unions and aliasing N/A - 585 + 585 NAD Friend template template parameters Yes - 586 + 586 NAD Default template-arguments and template argument deduction N/A - 587 + 587 CD2 Lvalue operands of a conditional expression differing only in cv-qualification Yes - 588 + 588 CD2 Searching dependent bases of classes local to function templates Yes - 589 + 589 CD2 Direct binding of class and array rvalues in reference initialization Yes - 590 + 590 C++11 Nested classes and the “current instantiation” Yes - 591 + 591 CD4 When a dependent base class is the current instantiation No - 592 + 592 CD1 Exceptions during construction of local static objects N/A - 593 + 593 NAD Falling off the end of a destructor's function-try-block handler Unknown - 594 + 594 CD1 Coordinating issues 119 and 404 with delegating constructors N/A - 595 + 595 dup Exception specifications in templates instantiated from class bodies Duplicate of 1330 - 596 + 596 NAD Replacing an exception object Unknown - 597 + 597 CD3 Conversions applied to out-of-lifetime non-POD lvalues N/A - 598 + 598 CD2 Associated namespaces of overloaded functions and function templates Yes - 599 + 599 CD2 Deleting a null function pointer Partial - 600 + 600 CD6 Does access control apply to members or to names? Yes - 601 + 601 CD2 Type of literals in preprocessing expressions Yes - 602 + 602 C++11 When is the injected-class-name of a class template a template? Yes - 603 + 603 CD1 Type equivalence and unsigned overflow Yes - 604 + 604 CD2 Argument list for overload resolution in copy-initialization N/A - 605 + 605 C++11 Linkage of explicit specializations Unknown - 606 + 606 CD1 Template argument deduction for rvalue references Yes - 607 + 607 CD6 Lookup of mem-initializer-ids Yes - 608 + 608 CD2 Determining the final overrider of a virtual function Yes - 609 + 609 CD4 What is a “top-level” cv-qualifier? Unknown - 610 + 610 NAD Computing the negative of 0U Yes - 611 + 611 CD2 Zero-initializing references Yes - 612 + 612 CD2 Requirements on a conforming implementation N/A - 613 + 613 CD1 Unevaluated uses of non-static class members Yes (C++11 onwards) - 614 + 614 CD1 Results of integer / and % Yes - 615 + 615 C++11 Incorrect description of variables that can be initialized Yes - 616 + 616 CD3 Definition of “indeterminate value” Clang 4 - 617 + 617 NAD Lvalue-to-rvalue conversions of uninitialized char objects Unknown - 618 + 618 CD2 Casts in preprocessor conditional expressions Yes - 619 + 619 C++11 Completeness of array types Yes - 620 + 620 CD1 Declaration order in layout-compatible POD structs Duplicate of 568 - 621 + 621 C++11 Template argument deduction from function return types Unknown - 622 + 622 NAD Relational comparisons of arbitrary pointers Unknown - 623 + 623 CD3 Use of pointers to deallocated storage N/A - 624 + 624 CD1 Overflow in calculating size of allocation Unknown - 625 + 625 CD2 Use of auto as a template-argument Yes - 626 + 626 CD2 Preprocessor string literals Yes - 627 + 627 NAD Values behaving as types Yes - 628 + 628 CD2 The values of an enumeration with no enumerator N/A - 629 + 629 CD1 auto parsing ambiguity Yes - 630 + 630 CD2 Equality of narrow and wide character values in the basic character set Yes - 631 + 631 CD3 Jumping into a “then” clause N/A - 632 + 632 CD1 Brace-enclosed initializer for scalar member of aggregate Yes - 633 + 633 CD2 Specifications for variables that should also apply to references N/A - 634 + 634 CD1 Conditionally-supported behavior for non-POD objects passed to ellipsis redux Yes - 635 + 635 NAD Names of constructors and destructors of templates Yes - 636 + 636 CD4 Dynamic type of objects and aliasing Unknown - 637 + 637 CD1 Sequencing rules and example disagree Yes - 638 + 638 CD2 Explicit specialization and friendship No - 639 + 639 CD1 What makes side effects “different” from one another? Yes - 640 + 640 open Accessing destroyed local objects of static storage duration Not resolved - 641 + 641 CD2 Overload resolution and conversion-to-same-type operators Yes - 642 + 642 CD2 Definition and use of “block scope” and “local scope” Yes - 643 + 643 NAD Use of decltype in a class member-specification Yes - 644 + 644 CD1 Should a trivial class type be a literal type? Partial - 645 + 645 CD2 Are bit-field and non-bit-field members layout compatible? N/A - 646 + 646 NAD Can a class with a constexpr copy constructor be a literal type? Superseded by 981 - 647 + 647 CD1 Non-constexpr instances of constexpr constructor templates Yes - 648 + 648 CD1 Constant expressions in constexpr initializers Yes - 649 + 649 CD1 Optionally ill-formed extended alignment requests Yes - 650 + 650 CD2 Order of destruction for temporaries bound to the returned value of a function Unknown - 651 + 651 CD1 Problems in decltype specification and examples Yes - 652 + 652 CD2 Compile-time evaluation of floating-point expressions Yes - 653 + 653 CD2 Copy assignment of unions Unknown - 654 + 654 CD1 Conversions to and from nullptr_t Superseded by 1423 - 655 + 655 C++11 Initialization not specified for forwarding constructors Yes - 656 + 656 CD2 Direct binding to the result of a conversion operator Yes - 657 + 657 CD2 Abstract class parameter in synthesized declaration Partial - 658 + 658 CD2 Defining reinterpret_cast for pointer types Unknown - 659 + 659 CD1 Alignment of function types Yes - 660 + 660 CD1 Unnamed scoped enumerations Yes - 661 + 661 CD1 Semantics of arithmetic comparisons Unknown - 662 + 662 NAD Forming a pointer to a reference type Yes - 663 + 663 CD1 Valid Cyrillic identifier characters Superseded by P1949 - 664 + 664 CD2 Direct binding of references to non-class rvalue references Yes - 665 + 665 CD2 Problems in the specification of dynamic_cast Yes - 666 + 666 CD1 Dependent qualified-ids without the typename keyword Yes - 667 + 667 CD2 Trivial special member functions that cannot be implicitly defined Yes - 668 + 668 CD2 Throwing an exception from the destructor of a local static object Unknown - 669 + 669 NAD Confusing specification of the meaning of decltype Yes - 670 + 670 CD4 Copy initialization via derived-to-base conversion in the second step Unknown - 671 + 671 CD1 Explicit conversion from a scoped enumeration type to integral type Yes - 672 + 672 CD2 Sequencing of initialization in new-expressions Unknown - 673 + 673 NAD Injection of names from elaborated-type-specifiers in friend declarations Yes - 674 + 674 C++11 “matching specialization” for a friend declaration Clang 8 - 675 + 675 CD3 Signedness of bit-field with typedef or template parameter type Duplicate of 739 - 676 + 676 C++11 static_assert-declarations and general requirements for declarations N/A - 677 + 677 CD1 Deleted operator delete and virtual destructors No - 678 + 678 C++11 Language linkage of member function parameter types and the ODR Unknown - 679 + 679 CD1 Equivalence of template-ids and operator function templates Yes - 680 + 680 CD2 What is a move constructor? N/A - 681 + 681 CD1 Restrictions on declarators with late-specified return types Partial - 682 + 682 CD5 Missing description of lookup of template aliases Unknown - 683 + 683 CD1 Requirements for trivial subobject special functions Yes - 684 + 684 CD1 Constant expressions involving the address of an automatic variable Superseded by 1454 - 685 + 685 CD2 Integral promotion of enumeration ignores fixed underlying type Yes - 686 + 686 CD1 Type declarations/definitions in type-specifier-seqs and type-ids Yes - 687 + 687 NAD template keyword with unqualified-ids Unknown - 688 + 688 CD1 Constexpr constructors and static initialization Unknown - 689 + 689 CD5 Maximum values of signed and unsigned integers Unknown - 690 + 690 CD2 The dynamic type of an rvalue reference Unknown - 691 + 691 C++11 Template parameter packs in class template partial specializations Unknown - 692 + 692 C++11 Partial ordering of variadic class template partial specializations Clang 16 - 693 + 693 CD2 New string types and deprecated conversion Unknown - 694 + 694 C++11 Zero- and value-initialization of union objects Unknown - 695 + 695 CD2 Compile-time calculation errors in constexpr functions Unknown - 696 + 696 C++11 Use of block-scope constants in local classes Yes - 697 + 697 open Deduction rules apply to more than functions Not resolved - 698 + 698 open The definition of “sequenced before” is too narrow Not resolved - 699 + 699 CD2 Must constexpr member functions be defined in the class member-specification? Unknown - 700 + 700 C++11 Constexpr member functions of class templates Unknown - 701 + 701 CD2 When is the array-to-pointer conversion applied? Unknown - 702 + 702 CD2 Preferring conversion to std::initializer_list Unknown - 703 + 703 CD2 Narrowing for literals that cannot be exactly represented Unknown - 704 + 704 CD2 To which postfix-expressions does overload resolution apply? Unknown - 705 + 705 CD2 Suppressing argument-dependent lookup via parentheses Yes - 706 + 706 NAD Use of auto with rvalue references Unknown - 707 + 707 CD2 Undefined behavior in integral-to-floating conversions Unknown - 708 + 708 open Partial specialization of member templates of class templates Not resolved - 709 + 709 C++11 Enumeration names as nested-name-specifiers in deduction failure Unknown - 710 + 710 CD2 Data races during construction Unknown - 711 + 711 CD2 auto with braced-init-list Unknown - 712 + 712 CD3 Are integer constant operands of a conditional-expression “used?” Partial - 713 + 713 CD2 Unclear note about cv-qualified function types Unknown - 714 + 714 CD2 Static const data members and braced-init-lists Unknown - 715 + 715 CD2 Class member access constant expressions Unknown - 716 + 716 CD2 Specifications that should apply only to non-static union data members Unknown - 717 + 717 CD2 Unintentional restrictions on the use of thread_local Unknown - 718 + 718 open Non-class, non-function friend declarations Not resolved - 719 + 719 CD2 Specifications for operator-function-id that should also apply to literal-operator-id Unknown - 720 + 720 CD2 Need examples of lambda-expressions Unknown - 721 + 721 CD2 Where must a variable be initialized to be used in a constant expression? Unknown - 722 + 722 CD2 Can nullptr be passed to an ellipsis? Unknown - 726 + 726 CD2 Atomic and non-atomic objects in the memory model Unknown - 727 + 727 C++17 In-class explicit specializations Partial - 728 + 728 NAD Restrictions on local classes Unknown - 729 + 729 CD3 Qualification conversions and handlers of reference-to-pointer type Unknown - 730 + 730 CD2 Explicit specializations of members of non-template classes Unknown - 731 + 731 CD2 Omitted reference qualification of member function type Unknown - 732 + 732 CD2 Late-specified return types in function definitions Unknown - 733 + 733 NAD Reference qualification of copy assignment operators Unknown - 734 + 734 CD2 Are unique addresses required for namespace-scope variables? Unknown - 735 + 735 CD2 Missing case in specification of safely-derived pointers Unknown - 736 + 736 NAD Is the & ref-qualifier needed? Unknown - 737 + 737 CD2 Uninitialized trailing characters in string initialization Unknown - 738 + 738 C++11 constexpr not permitted by the syntax of constructor declarations Unknown - 739 + 739 CD3 Signedness of plain bit-fields Unknown - 740 + 740 CD2 Incorrect note on data races Unknown - 741 + 741 C++11 “plain” long long bit-fields Unknown - 742 + 742 open Postfix increment/decrement with long bit-field operands Not resolved - 743 + 743 CD2 Use of decltype in a nested-name-specifier Unknown - 744 + 744 CD2 Matching template arguments with template template parameters with parameter packs Unknown - 745 + 745 C++23 Effect of ill-formedness resulting from #error Unknown - 746 + 746 CD2 Use of auto in new-expressions Unknown - 747 + 747 dup Access of protected base classes Unknown - 749 + 749 CD2 References to function types with a cv-qualifier or ref-qualifier Unknown - 750 + 750 CD2 Implementation constraints on reference-only closure objects Unknown - 751 + 751 CD2 Deriving from closure classes Unknown - 752 + 752 CD2 Name lookup in nested lambda-expressions Unknown - 753 + 753 CD2 Array names in lambda capture sets Unknown - 754 + 754 CD2 Lambda expressions in default arguments of block-scope function declarations Unknown - 755 + 755 CD3 Generalized lambda-captures Unknown - 756 + 756 CD2 Dropping cv-qualification on members of closure objects Unknown - 757 + 757 CD2 Types without linkage in declarations Unknown - 758 + 758 C++11 Missing cases of declarations that are not definitions Unknown - 759 + 759 CD2 Destruction of closure objects Unknown - 760 + 760 CD2 this inside a nested class of a non-static member function Unknown - 761 + 761 CD2 Inferred return type of closure object call operator Unknown - 762 + 762 CD2 Name lookup in the compound-statement of a lambda expression Unknown - 763 + 763 CD2 Is a closure object's operator() inline? Unknown - 764 + 764 CD2 Capturing unused variables in a lambda expression Unknown - 765 + 765 CD2 Local types in inline functions with external linkage Unknown - 766 + 766 CD2 Where may lambda expressions appear? Unknown - 767 + 767 CD2 void and other unnamed lambda-parameters Unknown - 768 + 768 CD2 Ellipsis in a lambda parameter list Unknown - 769 + 769 CD2 Initialization of closure objects Unknown - 770 + 770 CD2 Ambiguity in late-specified return type Unknown - 771 + 771 CD2 Move-construction of reference members of closure objects Unknown - 772 + 772 CD2 capture-default in lambdas in local default arguments Unknown - 773 + 773 C++11 Parentheses in address non-type template arguments Unknown - 774 + 774 CD2 Can a closure class be a POD? Unknown - 775 + 775 CD2 Capturing references to functions Unknown - 776 + 776 CD2 Delegating constructors, destructors, and std::exit Unknown - 777 + 777 CD2 Default arguments and parameter packs Clang 3.7 - 778 + 778 C++11 Template parameter packs in non-type template parameters Unknown - 779 + 779 CD2 Rvalue reference members of closure objects? Unknown - 782 + 782 CD2 Lambda expressions and argument-dependent lookup Unknown - 783 + 783 open Definition of “argument” Not resolved - 784 + 784 C++11 List of incompatibilities with the previous Standard Unknown - 785 + 785 CD2 “Execution sequence” is inappropriate phraseology Unknown - 786 + 786 CD2 Definition of “thread” Unknown - 787 + 787 CD2 Unnecessary lexical undefined behavior Unknown - 788 + 788 CD2 Relationship between locale and values of the execution character set Unknown - 789 + 789 CD2 Deprecating trigraphs Unknown - 790 + 790 CD2 Concatenation of raw and non-raw string literals Unknown - 792 + 792 CD2 Effects of std::quick_exit Unknown - 793 + 793 CD2 Use of class members during destruction Unknown - 794 + 794 NAD Base-derived conversion in member type of pointer-to-member conversion Unknown - 795 + 795 NAD Dependency of lambdas on <functional> Unknown - 796 + 796 CD2 Lifetime of a closure object with members captured by reference Unknown - 797 + 797 CD2 Converting a no-capture lambda to a function type Unknown - 798 + 798 C++11 Overloaded subscript operator described in clause 5 Unknown - 799 + 799 CD2 Can reinterpret_cast be used to cast an operand to its own type? Unknown - 800 + 800 NAD Safely-derived pointers and object pointers converted from function pointers Unknown - 801 + 801 CD2 Casting away constness in a cast to rvalue reference type Unknown - 803 + 803 CD2 sizeof an enumeration type with a fixed underlying type Unknown - 804 + 804 CD2 Deducing the type in new auto(x) Unknown - 805 + 805 CD2 Which exception to throw for overflow in array size calculation Unknown - 806 + 806 CD2 Enumeration types in integral constant expressions Unknown - 807 + 807 NAD typeid expressions in constant expressions Unknown - 808 + 808 CD2 Non-type decl-specifiers versus max-munch Unknown - 809 + 809 CD2 Deprecation of the register keyword Unknown - 810 + 810 CD2 Block-scope thread_local variables should be implicitly static Unknown - 811 + 811 CD2 Unclear implications of const-qualification Unknown - 812 + 812 CD2 Duplicate names in inline namespaces Unknown - 813 + 813 open typename in a using-declaration with a non-dependent name Not resolved - 814 + 814 CD2 Attribute to indicate that a function throws nothing Unknown - 815 + 815 CD2 Parameter pack expansion inside attributes Unknown - 816 + 816 CD2 Diagnosing violations of [[final]] Unknown - 817 + 817 CD2 Meaning of [[final]] applied to a class definition Unknown - 818 + 818 CD2 Function parameter packs in non-final positions Unknown - 819 + 819 NAD Access control and deleted implicitly-declared special member functions Unknown - 820 + 820 CD2 Deprecation of export Unknown - 822 + 822 NAD Additional contexts for template aliases Unknown - 823 + 823 CD2 Literal types with constexpr conversions as non-type template arguments Unknown - 828 + 828 CD2 Destruction of exception objects Unknown - 829 + 829 NAD At what point is std::unexpected called? Unknown - 830 + 830 CD2 Deprecating exception specifications Unknown - 831 + 831 CD2 Limit on recursively nested template instantiations Unknown - 832 + 832 CD2 Value of preprocessing numbers Unknown - 833 + 833 CD2 Explicit conversion of a scoped enumeration value to a floating type Unknown - 834 + 834 CD2 What is an “ordinary string literal”? Unknown - 835 + 835 CD2 Scoped enumerations and the “usual arithmetic conversions” Unknown - 836 + 836 NAD [[noreturn]] applied to function types Unknown - 837 + 837 C++11 Constexpr functions and return braced-init-list Unknown - 838 + 838 C++11 Use of this in a brace-or-equal-initializer Unknown - 839 + 839 dup sizeof with opaque enumerations Unknown - 840 + 840 CD2 Rvalue references as nontype template parameters Unknown - 842 + 842 CD2 Casting to rvalue reference type Unknown - 845 + 845 CD2 What is the “first declaration” of an explicit specialization? Unknown - 846 + 846 CD2 Rvalue references to functions Unknown - 847 + 847 CD2 Error in rvalue reference deduction example Unknown - 850 + 850 CD2 Restrictions on use of non-static data members Unknown - 852 + 852 CD6 using-declarations and dependent base classes Unknown - 853 + 853 CD2 Support for relaxed pointer safety Unknown - 854 + 854 CD2 Left shift and unsigned extended types Unknown - 855 + 855 CD2 Incorrect comments in braced-init-list assignment example Unknown - 858 + 858 CD2 Example binding an rvalue reference to an lvalue Unknown - 860 + 860 C++11 Explicit qualification of constexpr member functions Unknown - 861 + 861 CD2 Unintended ambiguity in inline namespace lookup Unknown - 862 + 862 CD2 Undefined behavior with enumerator value overflow Unknown - 863 + 863 CD2 Rvalue reference cast to incomplete type Unknown - 864 + 864 C++11 braced-init-list in the range-based for statement Unknown - 865 + 865 CD2 Initializing a std::initializer_list Unknown - 869 + 869 CD2 Uninitialized thread_local objects Unknown - 872 + 872 CD2 Lexical issues with raw strings Unknown - 873 + 873 C++11 Deducing rvalue references in declarative contexts Unknown - 874 + 874 CD2 Class-scope definitions of enumeration types Unknown - 876 + 876 CD2 Type references in rvalue reference deduction specification Unknown - 877 + 877 CD2 Viable functions and binding references to rvalues Unknown - 879 + 879 CD2 Missing built-in comparison operators for pointer types Unknown - 880 + 880 CD2 Built-in conditional operator for scoped enumerations Unknown - 882 + 882 CD2 Defining main as deleted Unknown - 883 + 883 CD2 std::memcpy vs std::memmove Unknown - 884 + 884 CD2 Defining an explicitly-specialized static data member Unknown - 885 + 885 NAD Partial ordering of function templates with unordered parameter pairs Unknown - 886 + 886 CD2 Member initializers and aggregates Unknown - 887 + 887 CD2 Move construction of thrown object Unknown - 888 + 888 CD2 Union member initializers Unknown - 891 + 891 CD2 const_cast to rvalue reference from objectless rvalue Unknown - 892 + 892 C++11 Missing requirements for constexpr constructors Unknown - 893 + 893 NAD Brace syntax for enumerator-definitions Unknown - 896 + 896 CD2 Rvalue references and rvalue-reference conversion functions Unknown - 897 + 897 open _Pragma and extended string-literals Not resolved - 898 + 898 C++11 Declarations in constexpr functions Unknown - 899 + 899 CD2 Explicit conversion functions in direct class initialization Unknown - 900 + 900 DRWP Lifetime of temporaries in range-based for Unknown - 901 + 901 drafting Deleted operator delete Not resolved - 902 + 902 NAD In-class initialization of non-constant static data members Unknown - 903 + 903 CD3 Value-dependent integral null pointer constants Unknown - 904 + 904 CD2 Parameter packs in lambda-captures Unknown - 905 + 905 CD2 Explicit defaulted copy constructors and trivial copyability Unknown - 906 + 906 CD2 Which special member functions can be defaulted? Unknown - 908 + 908 CD2 Deleted global allocation and deallocation functions Unknown - 909 + 909 NAD Old-style casts with conversion functions Unknown - 910 + 910 CD2 Move constructors and implicitly-declared copy constructors Unknown - 912 + 912 CD3 Character literals and universal-character-names Unknown - 913 + 913 CD2 Deduction rules for array- and function-type conversion functions Unknown - 914 + 914 open Value-initialization of array types Not resolved - 915 + 915 CD2 Deleted specializations of member function templates Unknown - 919 + 919 CD2 Contradictions regarding inline namespaces Unknown - 920 + 920 CD2 Interaction of inline namespaces and using-declarations Unknown - 921 + 921 CD2 Unclear specification of inline namespaces Unknown - 922 + 922 CD2 Implicit default constructor definitions and const variant members Unknown - 923 + 923 CD2 Inline explicit specializations Unknown - 924 + 924 C++11 alias-declaration as a class member Unknown - 925 + 925 open Type of character literals in preprocessor expressions Not resolved - 926 + 926 CD2 Inline unnamed namespaces Unknown - 927 + 927 CD2 Implicitly-deleted default constructors and member initializers Unknown - 928 + 928 CD2 Defaulting a function that would be implicitly defined as deleted Unknown - 929 + 929 CD2 What is a template alias? Unknown - 930 + 930 CD2 alignof with incomplete array type Unknown - 931 + 931 CD2 Confusing reference to the length of a user-defined string literal Unknown - 932 + 932 CD2 UCNs in closing delimiters of raw string literals Unknown - 933 + 933 CD2 32-bit UCNs with 16-bit wchar_t Unknown - 934 + 934 CD2 List-initialization of references Unknown - 935 + 935 CD2 Missing overloads for character types for user-defined literals Unknown - 936 + 936 CD2 Array initialization with new string literals Unknown - 937 + 937 NAD Restrictions on values of template arguments in user-defined literals Unknown - 938 + 938 C++11 Initializer lists and array new Unknown - 939 + 939 CD2 Explicitly checking virtual function overriding Unknown - 940 + 940 CD2 Global anonymous unions Unknown - 941 + 941 C++11 Explicit specialization of deleted function template Unknown - 942 + 942 CD2 Is this an entity? Unknown - 943 + 943 CD5 Is T() a temporary? Unknown - 944 + 944 NAD reinterpret_cast for all types with the same size and alignment Unknown - 945 + 945 C++11 Use of this in a late-specified return type Unknown - 946 + 946 CD2 Order of destruction of local static objects and calls to std::atexit Unknown - 947 + 947 NAD Deducing type template arguments from default function arguments Unknown - 948 + 948 C++11 constexpr in conditions Clang 3.7 - 949 + 949 open Requirements for freestanding implementations Not resolved - 950 + 950 CD2 Use of decltype as a class-name Unknown - 951 + 951 CD2 Problems with attribute-specifiers Unknown - 952 + 952 CD6 Insufficient description of “naming class” Yes - 953 + 953 CD2 Rvalue references and function viability Unknown - 954 + 954 open Overload resolution of conversion operator templates with built-in types Not resolved - 955 + 955 CD2 Can a closure type's operator() be virtual? Unknown - 956 + 956 CD2 Function prototype scope with late-specified return types Unknown - 957 + 957 CD2 Alternative tokens and attribute-tokens Unknown - 958 + 958 NAD Lambdas and decltype Unknown - 959 + 959 CD2 Alignment attribute for class and enumeration types Unknown - 960 + 960 CD2 Covariant functions and lvalue/rvalue references Unknown - 961 + 961 CD2 Overload resolution and conversion of std::nullptr_t to bool Unknown - 962 + 962 CD2 Attributes appertaining to class and enum types Unknown - 963 + 963 CD2 Comparing nullptr with 0 Unknown - 964 + 964 C++11 Incorrect description of when the lvalue-to-rvalue conversion applies Unknown - 965 + 965 CD2 Limiting the applicability of the carries_dependency attribute Unknown - 966 + 966 CD2 Nested types without linkage Unknown - 967 + 967 NAD Exception specification of replacement allocation function Unknown - 968 + 968 CD2 Syntactic ambiguity of the attribute notation Unknown - 969 + 969 CD2 Explicit instantiation declarations of class template specializations Unknown - 970 + 970 CD2 Consistent use of “appertain” and “apply” Unknown - 971 + 971 C++11 Incorrect treatment of exception-declarations Unknown - 972 + 972 C++11 Allowing multiple attribute-specifiers Unknown - 973 + 973 CD2 Function types in exception-specifications Unknown - 974 + 974 CD3 Default arguments for lambdas Yes - 975 + 975 CD3 Restrictions on return type deduction for lambdas Unknown - 976 + 976 CD2 Deduction for const T& conversion operators Unknown - 977 + 977 CD3 When is an enumeration type complete? Unknown - 978 + 978 CD2 Incorrect specification for copy initialization Unknown - 979 + 979 CD2 Position of attribute-specifier in declarator syntax Unknown - 980 + 980 CD2 Explicit instantiation of a member of a class template Unknown - 981 + 981 C++11 Constexpr constructor templates and literal types Unknown - 982 + 982 NAD Initialization with an empty initializer list Unknown - 983 + 983 CD2 Ambiguous pointer-to-member constant Unknown - 984 + 984 CD2 “Deduced type” is unclear in auto type deduction Unknown - 985 + 985 C++11 Alternative tokens and user-defined literals Unknown - 986 + 986 CD2 Transitivity of using-directives versus qualified lookup Unknown - 987 + 987 CD4 Which declarations introduce namespace members? Unknown - 988 + 988 CD2 Reference-to-reference collapsing with decltype Unknown - 989 + 989 CD2 Misplaced list-initialization example Unknown - 990 + 990 CD2 Value initialization with multiple initializer-list constructors Clang 3.5 - 991 + 991 CD2 Reference parameters of constexpr functions and constructors Unknown - 992 + 992 NAD Inheriting explicitness Unknown - 993 + 993 C++11 Freedom to perform instantiation at the end of the translation unit Unknown - 994 + 994 C++11 braced-init-list as a default argument Unknown - 995 + 995 CD2 Incorrect example for using-declaration and explicit instantiation Unknown - 996 + 996 C++11 Ambiguous partial specializations of member class templates Unknown - 997 + 997 C++11 Argument-dependent lookup and dependent function template parameter types Unknown - 998 + 998 dup Function parameter transformations and template functions Unknown - 999 + 999 CD2 “Implicit” or “implied” object argument/parameter? Unknown - 1000 + 1000 CD2 Mistaking member typedefs for constructors Unknown - 1001 + 1001 drafting Parameter type adjustment in dependent parameter types Not resolved - 1002 + 1002 NAD Pack expansion for function arguments Unknown - 1003 + 1003 CD3 Acceptable definitions of main Unknown - 1004 + 1004 C++11 Injected-class-names as arguments for template template parameters Clang 5 - 1005 + 1005 NAD Qualified name resolution in member functions of class templates Unknown - 1006 + 1006 C++11 std::nullptr_t as a non-type template parameter Unknown - 1007 + 1007 NAD Protected access and pointers to members Unknown - 1008 + 1008 NAD Querying the alignment of an object Unknown - 1009 + 1009 C++11 Missing cases in the declarator-id of a function template declaration Unknown - 1010 + 1010 CD2 Address of object with dynamic storage duration in constant expression Unknown - 1011 + 1011 C++11 Standard conversions that cannot be inverted Unknown - 1012 + 1012 C++11 Undeprecating static Unknown - 1013 + 1013 CD3 Uninitialized std::nullptr_t objects Unknown - 1014 + 1014 NAD Overload resolution between const T& and T&& Unknown - 1015 + 1015 C++11 Template arguments and argument-dependent lookup Unknown - 1016 + 1016 C++11 Overloadable declarations, function templates, and references Unknown - 1017 + 1017 C++11 Member access transformation in unevaluated operands Unknown - 1018 + 1018 C++11 Ambiguity between simple-declaration and attribute-declaration Unknown - 1019 + 1019 dup Dependent simple-template-ids in base-specifiers and mem-initializers Unknown - 1020 + 1020 C++11 Implicitly-defined copy constructors and explicit base class constructors Unknown - 1021 + 1021 CD4 Definitions of namespace members Unknown - 1022 + 1022 C++11 Can an enumeration variable have values outside the values of the enumeration? Unknown - 1023 + 1023 dup thread_local objects as non-type template arguments Unknown - 1024 + 1024 CD3 Limits on multicharacter literals Unknown - 1025 + 1025 C++11 Use of a reference as a non-type template argument Unknown - 1026 + 1026 NAD Cv-qualified non-class rvalues Unknown - 1027 + 1027 drafting Type consistency and reallocation of scalar types Not resolved - 1028 + 1028 CD6 Dependent names in non-defining declarations Unknown - 1029 + 1029 C++11 Type of a destructor call Unknown - 1030 + 1030 C++11 Evaluation order in initializer-lists used in aggregate initialization Unknown - 1031 + 1031 C++11 Optional elements in attributes Unknown - 1032 + 1032 C++11 Empty pack expansions Unknown - 1033 + 1033 C++11 Restrictions on alignment attributes Unknown - 1034 + 1034 C++11 Attributes for return statements in lambdas Unknown - 1035 + 1035 C++11 Omitted and required decl-specifiers Unknown - 1036 + 1036 C++11 Alignment attribute in an exception-declaration Unknown - 1037 + 1037 C++11 Requirements for operands of delete-expressions and deallocation functions Unknown - 1038 + 1038 review Overload resolution of &x.static_func Not resolved - 1039 + 1039 dup Coordinating C and C++ alignment specifications Unknown - 1040 + 1040 NAD Memory model issues Unknown - 1041 + 1041 dup alias-declarations as class members Unknown - 1042 + 1042 C++11 Attributes in alias-declarations Clang 3.5 - 1043 + 1043 C++11 Qualified name lookup in the current instantiation Unknown - 1044 + 1044 C++11 Point of declaration for an alias-declaration Unknown - 1045 + 1045 NAD Requiring explicit instantiation declarations Unknown - 1046 + 1046 open What is a “use” of a class specialization? Not resolved - 1047 + 1047 C++11 When is typeid value-dependent? Unknown - 1048 + 1048 CD3 auto deduction and lambda return type deduction. Clang 3.6 - 1049 + 1049 open Copy elision through reference parameters of inline functions Not resolved - 1050 + 1050 NAD Effects of thread support on object lifetime Unknown - 1051 + 1051 C++11 Reference members and generated copy constructors Unknown - 1052 + 1052 dup const non-static data member and PODness Unknown - 1053 + 1053 NAD Terminate vs undefined behavior for noexcept violation Unknown - 1054 + 1054 C++11 Lvalue-to-rvalue conversions in expression statements No - 1055 + 1055 C++11 Permissible uses of void Unknown - 1056 + 1056 C++11 Template aliases, member definitions, and the current instantiation Unknown - 1057 + 1057 C++11 decltype and the current instantiation Unknown - 1058 + 1058 NAD Reference binding of incompatible array types Unknown - 1059 + 1059 CD3 Cv-qualified array types (with rvalues) Unknown - 1060 + 1060 C++11 Scoped enumerators in integral constant expressions Unknown - 1061 + 1061 C++11 Negative array bounds in a new-expression Unknown - 1062 + 1062 C++11 Syntax of attribute-specifiers in lambdas Unknown - 1063 + 1063 C++11 [[hiding]] with non-attribute declarations Unknown - 1064 + 1064 C++11 Defaulted move constructor for a union Unknown - 1065 + 1065 C++11 [[hiding]] with [[override]] Unknown - 1066 + 1066 C++11 When is a copy/move assignment operator implicitly defined? Unknown - 1067 + 1067 NAD [[hiding]], using-declarations, and multiple inheritance Unknown - 1068 + 1068 C++11 Template aliases with default arguments and template parameter packs Unknown - 1069 + 1069 C++11 Incorrect function type with trailing-return-type Unknown - 1070 + 1070 C++11 Missing initializer clauses in aggregate initialization Clang 3.5 - 1071 + 1071 C++11 Literal class types and trivial default constructors Unknown - 1072 + 1072 C++11 Scoped enumerator with the same name as its containing class Unknown - 1073 + 1073 C++11 Merging dynamic-exception-specifications and noexcept-specifications Unknown - 1074 + 1074 C++11 Value-dependent noexcept-expressions Unknown - 1075 + 1075 C++11 Grammar does not allow template alias in type-name Unknown - 1076 + 1076 CD5 Value categories and lvalue temporaries Unknown - 1077 + 1077 NAD Explicit specializations in non-containing namespaces Unknown - 1078 + 1078 NAD Narrowing and the usual arithmetic conversions Unknown - 1079 + 1079 C++11 Overload resolution involving aggregate initialization Unknown - 1080 + 1080 C++11 Confusing relationship between templates and copy constructors Unknown - 1081 + 1081 C++11 Defaulted destructor and unusable operator delete Unknown - 1082 + 1082 C++11 Implicit copy function if subobject has none? Unknown - 1083 + 1083 C++11 Passing an object to ellipsis with non-trivial move constructor Unknown - 1084 + 1084 NAD Conditions for a deleted move function Unknown - 1085 + 1085 NAD Move assignment operators and virtual bases Unknown - 1086 + 1086 C++11 const_cast to rvalue reference to function type Unknown - 1087 + 1087 C++11 Additional applications of issue 899 Unknown - 1088 + 1088 C++11 Dependent non-type template arguments Unknown - 1089 + 1089 drafting Template parameters in member selections Not resolved - 1090 + 1090 C++11 Alignment of subobjects Unknown - 1091 + 1091 C++11 Inconsistent use of the term “object expression” Unknown - 1092 + 1092 drafting Cycles in overload resolution during instantiation Not resolved - 1093 + 1093 CD3 Value-initializing non-objects Unknown - 1094 + 1094 C++11 Converting floating-point values to scoped enumeration types Unknown - 1095 + 1095 C++11 List-initialization of references Unknown - 1096 + 1096 C++11 Missing requirement for template definitions Unknown - 1097 + 1097 NAD Aggregate initialization of function parameters Unknown - 1098 + 1098 C++11 Pointer conversions in constant expressions Unknown - 1099 + 1099 C++11 Infinite recursion in constexpr functions Unknown - 1100 + 1100 C++11 constexpr conversion functions and non-type template arguments Unknown - 1101 + 1101 C++11 Non-integral initialized static data members Unknown - 1102 + 1102 C++11 Better example of undefined behavior Unknown - 1103 + 1103 C++11 Reversion of phase 1 and 2 transformations in raw string literals Unknown - 1104 + 1104 C++11 Global-scope template arguments vs the <: digraph Unknown - 1105 + 1105 C++11 Issues relating to TR 10176:2003 Unknown - 1106 + 1106 C++11 Need more detail in nullptr keyword description Unknown - 1107 + 1107 C++11 Overload resolution for user-defined integer literals Unknown - 1108 + 1108 NAD User-defined literals have not been implemented Unknown - 1109 + 1109 C++11 When is “use” a reference to the ODR meaning? Unknown - 1110 + 1110 NAD Incomplete return type should be allowed in decltype operand Unknown - 1111 + 1111 C++11 Remove dual-scope lookup of member template names Yes - 1112 + 1112 C++11 constexpr variables should have internal linkage like const Unknown - 1113 + 1113 C++11 Linkage of namespace member of unnamed namespace Partial - 1114 + 1114 C++11 Incorrect use of placement new in example Unknown - 1115 + 1115 C++11 C-compatible alignment specification Unknown - 1116 + 1116 CD4 Aliasing of union members Unknown - 1117 + 1117 C++11 Incorrect note about xvalue member access expressions Unknown - 1118 + 1118 NAD Implicit lambda capture via explicit copy constructor Unknown - 1119 + 1119 C++11 Missing case in description of member access ambiguity Unknown - 1120 + 1120 C++11 reinterpret_cast and void* Unknown - 1121 + 1121 C++11 Unnecessary ambiguity error in formation of pointer to member Unknown - 1122 + 1122 C++11 Circular definition of std::size_t Unknown - 1123 + 1123 C++11 Destructors should be noexcept by default Unknown - 1124 + 1124 NAD Error in description of value category of pointer-to-member expression Unknown - 1125 + 1125 C++11 Unclear definition of “potential constant expression” Unknown - 1126 + 1126 C++11 constexpr functions in const initializers Unknown - 1127 + 1127 C++11 Overload resolution in constexpr functions Unknown - 1128 + 1128 C++11 attribute-specifiers in decl-specifier-seqs Unknown - 1129 + 1129 C++11 Default nothrow for constexpr functions Unknown - 1130 + 1130 C++11 Function parameter type adjustments and decltype Unknown - 1131 + 1131 C++11 Template aliases in elaborated-type-specifiers Unknown - 1132 + 1132 NAD Keyword vs attribute for noreturn Unknown - 1133 + 1133 C++11 Keywords vs attributes for control of hiding and overriding Unknown - 1134 + 1134 C++11 When is an explicitly-defaulted function defined? Unknown - 1135 + 1135 C++11 Explicitly-defaulted non-public special member functions Unknown - 1136 + 1136 C++11 Explicitly-defaulted explicit constructors Unknown - 1137 + 1137 C++11 Explicitly-defaulted virtual special member functions Unknown - 1138 + 1138 C++11 Rvalue-ness check for rvalue reference binding is wrong Unknown - 1139 + 1139 C++11 Rvalue reference binding to scalar xvalues Unknown - 1140 + 1140 C++11 Incorrect redefinition of POD class Unknown - 1141 + 1141 NAD Non-static data member initializers have not been implemented Unknown - 1142 + 1142 C++11 friend declaration of member function of containing class Unknown - 1143 + 1143 NAD Move semantics for *this have not been implemented Unknown - 1144 + 1144 C++11 Remove access declarations Unknown - 1145 + 1145 C++11 Defaulting and triviality Unknown - 1146 + 1146 C++11 exception-specifications of defaulted functions Unknown - 1147 + 1147 C++11 Destructors should be default nothrow Unknown - 1148 + 1148 C++11 Copy elision and move construction of function parameters Unknown - 1149 + 1149 C++11 Trivial non-public copy operators in subobjects Unknown - 1150 + 1150 NAD Inheriting constructors have not been implemented Unknown - 1151 + 1151 C++11 Overload resolution with initializer-list and non-list constructors Unknown - 1152 + 1152 C++11 Rules for determining existence of implicit conversion sequence Unknown - 1153 + 1153 C++11 Type matching in address of overloaded function Unknown - 1154 + 1154 C++11 Address of thread_local variable as non-type template argument Unknown - 1155 + 1155 C++11 Internal-linkage non-type template arguments Unknown - 1156 + 1156 C++11 Partial ordering in a non-call context Unknown - 1157 + 1157 open Partial ordering of function templates is still underspecified Not resolved - 1158 + 1158 C++11 Recursive instantiation via alias template Unknown - 1159 + 1159 C++11 Class and enumeration definitions in template aliases Unknown - 1160 + 1160 C++11 Definitions of template members and the current instantiation Unknown - 1161 + 1161 C++11 Dependent nested-name-specifier in a pointer-to-member declarator Unknown - 1162 + 1162 NAD Dependent elaborated-type-specifiers in non-deduced contexts Unknown - 1163 + 1163 NAD extern template prevents inlining functions not marked inline Unknown - 1164 + 1164 C++11 Partial ordering of f(T&) and f(T&&) Unknown - 1165 + 1165 C++11 Exceptions when destroying array elements Unknown - 1166 + 1166 C++11 exception-declarations that do not declare objects Unknown - 1167 + 1167 C++11 function-try-blocks for destructors Unknown - 1168 + 1168 C++11 Additional reasons to call std::terminate Unknown - 1169 + 1169 C++11 Missing feature macro for strict pointer safety Unknown - 1170 + 1170 C++11 Access checking during template argument deduction Unknown - 1171 + 1171 C++11 Partial stack unwinding with noexcept violation Unknown - 1172 + 1172 drafting “instantiation-dependent” constructs Not resolved - 1173 + 1173 C++11 Unclear specification of effects of signal handling Unknown - 1174 + 1174 C++11 When is a pure virtual function “used?” Unknown - 1175 + 1175 C++11 Disambiguating user-defined literals Unknown - 1176 + 1176 C++11 Definition of release sequence Unknown - 1177 + 1177 C++11 Intra-thread dependency-ordered-before Unknown - 1178 + 1178 C++11 Deduction failure matching placement new Unknown - 1179 + 1179 NAD Cv-qualification of non-type template parameters Unknown - 1180 + 1180 C++11 Over-aligned class types Unknown - 1181 + 1181 C++11 What is a “built-in type?” Unknown - 1182 + 1182 C++11 Incorrect description of pack expansion syntax Unknown - 1183 + 1183 C++11 Expansion of parameter packs in declarators Unknown - 1184 + 1184 C++11 Argument conversions to nondeduced parameter types Unknown - 1185 + 1185 C++11 Misleading description of language linkage and member function types Unknown - 1186 + 1186 C++11 Non-dependent constexpr violations in function templates Unknown - 1187 + 1187 C++11 Problems in initialization example Unknown - 1188 + 1188 C++11 Type punning in constant expressions Unknown - 1189 + 1189 C++11 Address of distinct base class subobjects Unknown - 1190 + 1190 C++11 Operations on non-safely-derived pointers Unknown - 1191 + 1191 C++11 Deleted subobject destructors and implicitly-defined constructors Unknown - 1192 + 1192 C++11 Inadvertent change to ODR and templates Unknown - 1193 + 1193 C++11 Use of address-constant pointers in constant expressions Unknown - 1194 + 1194 C++11 Constexpr references Unknown - 1195 + 1195 C++11 References to non-literal types in constexpr functions Unknown - 1196 + 1196 C++11 Definition required for explicit instantiation after explicit specialization? Unknown - 1197 + 1197 C++11 Constexpr arrays Unknown - 1198 + 1198 C++11 Literal types and copy constructors Unknown - 1199 + 1199 C++11 Deleted constexpr functions Unknown - 1200 + 1200 CD6 Lookup rules for template parameters N/A - 1201 + 1201 C++11 Are deleted and defaulted functions definitions? Unknown - 1202 + 1202 C++11 Calling virtual functions during destruction Unknown - 1203 + 1203 dup Misleading note regarding initialized static data members Unknown - 1204 + 1204 C++11 Specifiers in a for-range-declaration Unknown - 1205 + 1205 dup Lvalue reference binding and function viability Unknown - 1206 + 1206 C++11 Defining opaque enumeration members of class templates Unknown - 1207 + 1207 C++11 Type of class member in trailing-return-type Unknown - 1208 + 1208 C++11 Explicit noexcept in defaulted definition Unknown - 1209 + 1209 open Is a potentially-evaluated expression in a template definition a “use?” Not resolved - 1210 + 1210 C++11 Injection of elaborated-type-specifier in enumeration scope Unknown - 1211 + 1211 drafting Misaligned lvalues Not resolved - 1212 + 1212 C++11 Non-function-call xvalues and decltype Unknown - 1213 + 1213 CD3 Array subscripting and xvalues Clang 7 - 1214 + 1214 C++11 Kinds of initializers Unknown - 1215 + 1215 C++11 Definition of POD struct Unknown - 1216 + 1216 C++11 Exceptions “allowed” by a noexcept-specification Unknown - 1217 + 1217 NAD Are deleted functions implicitly noexcept? Unknown - 1218 + 1218 C++11 What is the “currently-handled exception” in a multi-threaded program? Unknown - 1219 + 1219 C++11 Non-static data member initializers in constant expressions Unknown - 1220 + 1220 C++11 Looking up conversion-type-ids Unknown - 1221 + 1221 open Partial ordering and reference collapsing Not resolved - 1222 + 1222 NAD Unnecessary restriction on auto array types Unknown - 1223 + 1223 drafting Syntactic disambiguation and trailing-return-types Not resolved - 1224 + 1224 C++11 constexpr defaulted copy constructors Unknown - 1225 + 1225 C++11 constexpr constructors and virtual bases Unknown - 1226 + 1226 CD3 Converting a braced-init-list default argument Unknown - 1227 + 1227 CD3 Mixing immediate and non-immediate contexts in deduction failure Yes - 1228 + 1228 NAD Copy-list-initialization and explicit constructors Unknown - 1229 + 1229 C++11 Overload resolution with empty braced-init-list argument Unknown - 1230 + 1230 dup Confusing description of ambiguity of destructor name Unknown - 1231 + 1231 C++11 Variadic templates requiring an empty pack expansion Unknown - 1232 + 1232 C++11 Creation of array temporaries using a braced-init-list Unknown - 1233 + 1233 C++11 Pack expansions and dependent calls Unknown - 1234 + 1234 C++11 abstract-declarator does not permit ... after ptr-operator Unknown - 1235 + 1235 C++11 “Unused” ellipsis and default arguments in partial ordering Unknown - 1236 + 1236 C++11 Inconsistently-interrelated examples Unknown - 1237 + 1237 C++11 Deprecated implicit copy assignment in example Unknown - 1238 + 1238 C++11 Overloading ambiguity binding reference to function Unknown - 1239 + 1239 C++11 Hexadecimal floating-point literals vs user-defined literals Unknown - 1240 + 1240 C++11 constexpr defaulted constructors Unknown - 1241 + 1241 C++11 Which members does a destructor destroy? Unknown - 1242 + 1242 C++11 Initializing variant class members Unknown - 1243 + 1243 C++11 Misleading footnote regarding multiple-declarator declarations Unknown - 1244 + 1244 C++11 Equivalence of alias templates and class templates Unknown - 1245 + 1245 C++11 Matching declarations involving decltype Unknown - 1246 + 1246 C++11 Non-deduced non-final parameter packs Unknown - 1247 + 1247 CD4 Restriction on alias name appearing in type-id Unknown - 1248 + 1248 open Updating Annex C to C99 Not resolved - 1249 + 1249 CD6 Cv-qualification of nested lambda capture Unknown - 1250 + 1250 CD3 Cv-qualification of incomplete virtual function return types Clang 3.9 - 1251 + 1251 CD3 C compatibility: casting to unqualified void* Unknown - 1252 + 1252 CD6 Overloading member function templates based on dependent return type Unknown - 1253 + 1253 open Generic non-template members Not resolved - 1254 + 1254 NAD odr-use vs template arguments and constexpr functions Unknown - 1255 + 1255 open Definition problems with constexpr functions Not resolved - 1256 + 1256 open Unevaluated operands are not necessarily constant expressions Not resolved - 1257 + 1257 open Instantiation via non-dependent references in uninstantiated templates Not resolved - 1258 + 1258 CD5 “Instantiation context” differs from dependent lookup rules Unknown - 1259 + 1259 NAD Deleting a POD via a pointer to base Unknown - 1260 + 1260 CD3 Incorrect use of term “overloaded” in description of odr-use Unknown - 1261 + 1261 CD3 Explicit handling of cv-qualification with non-class prvalues Unknown - 1262 + 1262 CD3 Default template arguments and deduction failure Unknown - 1263 + 1263 NAD Mismatch between rvalue reference binding and overload resolution Unknown - 1264 + 1264 CD3 Use of this in constexpr constructor Unknown - 1265 + 1265 CD3 Mixed use of the auto specifier Clang 5 - 1266 + 1266 open user-defined-integer-literal overflow Not resolved - 1267 + 1267 CD3 Rvalue reference types in exception-specifications Unknown - 1268 + 1268 CD3 reinterpret_cast of an xvalue operand Unknown - 1269 + 1269 CD3 dynamic_cast of an xvalue operand Unknown - 1270 + 1270 CD3 Brace elision in array temporary initialization Unknown - 1271 + 1271 CD5 Imprecise wording regarding dependent types Unknown - 1272 + 1272 NAD Implicit definition of static data member of const literal type Unknown - 1273 + 1273 NAD Accessibility and function signatures Unknown - 1274 + 1274 CD4 Common nonterminal for expression and braced-init-list Unknown - 1275 + 1275 CD3 Incorrect comment in example of template parameter pack restriction Unknown - 1276 + 1276 NAD Reference to stdint.h Unknown - 1277 + 1277 NAD Lax definition of intmax_t and uintmax_t Unknown - 1278 + 1278 drafting Incorrect treatment of contrived object Not resolved - 1279 + 1279 drafting Additional differences between C++ 2003 and C++ 2011 Not resolved - 1280 + 1280 NAD Object reallocation and reference members Unknown - 1281 + 1281 NAD Virtual and dependent base classes Unknown - 1282 + 1282 CD3 Underspecified destructor exception-specification Unknown - 1283 + 1283 drafting Static data members of classes with typedef name for linkage purposes Not resolved - 1284 + 1284 CD4 Should the lifetime of an array be independent of that of its elements? Unknown - 1285 + 1285 NAD Trivial destructors and object lifetime Unknown - 1286 + 1286 drafting Equivalence of alias templates Not resolved - 1287 + 1287 C++14 Direct initialization vs “implicit” conversion in reference binding Unknown - 1288 + 1288 CD3 Reference list initialization Unknown - 1289 + 1289 NAD Can an alias template name the current instantiation? Unknown - 1290 + 1290 CD3 Lifetime of the underlying array of an initializer_list member Unknown - 1291 + 1291 CD6 Looking up a conversion-type-id N/A - 1292 + 1292 CD4 Dependent calls with braced-init-lists containing a pack expansion Unknown - 1293 + 1293 CD3 String literals in constant expressions Unknown - 1294 + 1294 open Side effects in dynamic/static initialization Not resolved - 1295 + 1295 CD3 Binding a reference to an rvalue bit-field Clang 4 - 1296 + 1296 CD3 Ill-formed template declarations (not just definitions) Unknown - 1297 + 1297 CD3 Misplaced function attribute-specifier Unknown - 1298 + 1298 CD3 Incorrect example in overload resolution Unknown - 1299 + 1299 CD5 “Temporary objects” vs “temporary expressions” Unknown - 1300 + 1300 dup T() for array types Unknown - 1301 + 1301 CD3 Value initialization of union Unknown - 1302 + 1302 CD3 noexcept applied to expression of type void Unknown - 1303 + 1303 NAD C language linkage for template with internal linkage Unknown - 1304 + 1304 drafting Omitted array bound with string initialization Not resolved - 1305 + 1305 CD3 alignof applied to array of unknown size Yes - 1306 + 1306 CD3 Modifying an object within a const member function Unknown - 1307 + 1307 C++14 Overload resolution based on size of array initializer-list Clang 14 - 1308 + 1308 CD3 Completeness of class type within an exception-specification Unknown - 1309 + 1309 CD4 Incorrect note regarding lookup of a member of the current instantiation Unknown - 1310 + 1310 CD3 What is an “acceptable lookup result?” Clang 5 - 1311 + 1311 CD3 Volatile lvalues in constant expressions Unknown - 1312 + 1312 CD3 Simulated reinterpret_cast in constant expressions Unknown - 1313 + 1313 CD3 Undefined pointer arithmetic in constant expressions Unknown - 1314 + 1314 NAD Pointer arithmetic within standard-layout objects Unknown - 1315 + 1315 CD4 Restrictions on non-type template arguments in partial specializations Partial - 1316 + 1316 NAD constexpr function requirements and class scope Unknown - 1317 + 1317 NAD Unnamed scoped enumerations Unknown - 1318 + 1318 CD3 Syntactic ambiguities with final Unknown - 1319 + 1319 NAD Error in pack expansion example Unknown - 1320 + 1320 CD3 Converting scoped enumerations to bool Unknown - 1321 + 1321 CD3 Equivalency of dependent calls Unknown - 1322 + 1322 drafting Function parameter type decay in templates Not resolved - 1323 + 1323 NAD Nonexistent nonterminal in alignment-specifier grammar Unknown - 1324 + 1324 CD3 Value initialization and defaulted constructors Unknown - 1325 + 1325 NAD Omitted declarator in friend declarations Unknown - 1326 + 1326 dup Deducing an array bound from an initializer-list Unknown - 1327 + 1327 CD3 virt-specifier in a defaulted definition Unknown - 1328 + 1328 CD3 Conflict in reference binding vs overload resolution Unknown - 1329 + 1329 CD3 Recursive deduction substitutions Unknown - 1330 + 1330 CD3 Delayed instantiation of noexcept specifiers Clang 4 (C++11 onwards) - 1331 + 1331 CD5 const mismatch with defaulted copy constructor Unknown - 1332 + 1332 CD5 Handling of invalid universal-character-names Unknown - 1333 + 1333 CD3 Omission of const in a defaulted copy constructor Unknown - 1334 + 1334 NAD Layout compatibility and cv-qualification Unknown - 1335 + 1335 CD6 Stringizing, extended characters, and universal-character-names Unknown - 1336 + 1336 CD3 Definition of “converting constructor” Unknown - 1337 + 1337 dup Partial ordering and non-deduced parameters Unknown - 1338 + 1338 CD4 Aliasing and allocation functions Unknown - 1339 + 1339 NAD Parenthesized braced-init-list and arrays Unknown - 1340 + 1340 CD3 Complete type in member pointer expressions Unknown - 1341 + 1341 NAD Bit-field initializers Unknown - 1342 + 1342 CD6 Order of initialization with multiple declarators Unknown - 1343 + 1343 C++17 Sequencing of non-class initialization Unknown - 1344 + 1344 C++14 Adding new special member functions to a class via default arguments Unknown - 1345 + 1345 CD3 Initialization of anonymous union class members Unknown - 1346 + 1346 CD3 expression-list initializers and the auto specifier Clang 3.5 - 1347 + 1347 CD3 Consistency of auto in multiple-declarator declarations Yes - 1348 + 1348 drafting Use of auto in a trailing-return-type Not resolved - 1349 + 1349 dup Consistency of alias template redeclarations Unknown - 1350 + 1350 CD3 Incorrect exception specification for inherited constructors Unknown - 1351 + 1351 CD4 Problems with implicitly-declared exception-specifications Unknown - 1352 + 1352 CD3 Inconsistent class scope and completeness rules Unknown - 1353 + 1353 tentatively ready Array and variant members and deleted special member functions Unknown - 1354 + 1354 CD3 Destructor exceptions for temporaries in noexcept expressions Unknown - 1355 + 1355 CD3 Aggregates and “user-provided” constructors Unknown - 1356 + 1356 CD4 Exception specifications of copy assignment operators with virtual bases Unknown - 1357 + 1357 CD3 brace-or-equal-initializers for function and typedef members Unknown - 1358 + 1358 CD3 Unintentionally ill-formed constexpr function template instances Yes - 1359 + 1359 CD3 constexpr union constructors Clang 3.5 - 1360 + 1360 CD6 constexpr defaulted default constructors Unknown - 1361 + 1361 CD3 Requirement on brace-or-equal-initializers of literal types Unknown - 1362 + 1362 CD3 Complete type required for implicit conversion to T& Unknown - 1363 + 1363 CD3 Triviality vs multiple default constructors Unknown - 1364 + 1364 CD3 constexpr function parameters Unknown - 1365 + 1365 CD3 Calling undefined constexpr functions Unknown - 1366 + 1366 CD3 Deleted constexpr constructors and virtual base classes Unknown - 1367 + 1367 CD3 Use of this in a constant expression Unknown - 1368 + 1368 CD3 Value initialization and defaulted constructors (part 2) Unknown - 1369 + 1369 CD3 Function invocation substitution of this Unknown - 1370 + 1370 CD3 identifier-list cannot contain ellipsis Unknown - 1371 + 1371 NAD Deduction from T&& in return types Unknown - 1372 + 1372 CD3 Cross-references incorrect in conversion function template argument deduction Unknown - 1373 + 1373 dup Overload resolution changes matching reference-binding changes Unknown - 1374 + 1374 CD3 Qualification conversion vs difference in reference binding Unknown - 1375 + 1375 CD3 Reference to anonymous union? Unknown - 1376 + 1376 C++14 static_cast of temporary to rvalue reference Unknown - 1377 + 1377 dup Access declarations not mentioned in Annex C Unknown - 1378 + 1378 open When is an instantiation required? Not resolved - 1379 + 1379 NAD Is std::initializer_list an aggregate? Unknown - 1380 + 1380 CD3 Type definitions in template-parameter parameter-declarations Unknown - 1381 + 1381 CD3 Implicitly-declared special member functions and default nothrow Unknown - 1382 + 1382 CD3 Dead code for constructor names Unknown - 1383 + 1383 CD3 Clarifying discarded-value expressions Unknown - 1384 + 1384 NAD reinterpret_cast in constant expressions Unknown - 1385 + 1385 CD3 Syntactic forms of conversion functions for surrogate call functions Unknown - 1386 + 1386 NAD Explicitly-specified partial argument list with multiple parameter packs Unknown - 1387 + 1387 CD3 Missing non-deduced context for decltype Unknown - 1388 + 1388 CD3 Missing non-deduced context following a function parameter pack Clang 4 - 1389 + 1389 NAD Recursive reference in trailing-return-type Unknown - 1390 + 1390 drafting Dependency of alias template specializations Not resolved - 1391 + 1391 CD4 Conversions to parameter types with non-deduced template arguments Partial - 1392 + 1392 CD3 Explicit conversion functions for references and non-references Unknown - 1393 + 1393 C++17 Pack expansions in using-declarations Unknown - 1394 + 1394 CD3 Incomplete types as parameters of deleted functions Clang 15 - 1395 + 1395 C++17 Partial ordering of variadic templates reconsidered Clang 16 - 1396 + 1396 DRWP Deferred instantiation and checking of non-static data member initializers Unknown - 1397 + 1397 CD4 Class completeness in non-static data member initializers Unknown - 1398 + 1398 CD3 Non-type template parameters of type std::nullptr_t Unknown - 1399 + 1399 CD3 Deduction with multiple function parameter packs Duplicate of 1388 - 1400 + 1400 NAD Function pointer equality Unknown - 1401 + 1401 CD3 Similar types and reference compatibility Unknown - 1402 + 1402 CD3 Move functions too often deleted Unknown - 1403 + 1403 CD6 Universal-character-names in comments Unknown - 1404 + 1404 drafting Object reallocation in unions Not resolved - 1405 + 1405 CD3 constexpr and mutable members of literal types Unknown - 1406 + 1406 CD3 ref-qualifiers and added parameters of non-static member function templates Unknown - 1407 + 1407 NAD Integral to bool conversion in converted constant expressions Unknown - 1408 + 1408 CD3 What is “the same aggregate initialization?” Unknown - 1409 + 1409 CD3 What is the second standard conversion sequence of a list-initialization sequence? Unknown - 1410 + 1410 CD3 Reference overload tiebreakers should apply to rvalue references Unknown - 1411 + 1411 CD3 More on global scope :: in nested-name-specifier Unknown - 1412 + 1412 CD3 Problems in specifying pointer conversions Unknown - 1413 + 1413 CD3 Missing cases of value-dependency Clang 12 - 1414 + 1414 drafting Binding an rvalue reference to a reference-unrelated lvalue Not resolved - 1415 + 1415 CD3 Missing prohibition of block-scope definition of extern object Unknown - 1416 + 1416 CD3 Function cv-qualifiers and typeid Unknown - 1417 + 1417 C++14 Pointers/references to functions with cv-qualifiers or ref-qualifier Unknown - 1418 + 1418 CD3 Type of initializer_list backing array Unknown - 1419 + 1419 NAD Evaluation order in aggregate initialization Unknown - 1420 + 1420 NAD Abstract final classes Unknown - 1421 + 1421 NAD Full expressions and aggregate initialization Unknown - 1422 + 1422 dup Type of character literals containing universal-character-names Unknown - 1423 + 1423 CD3 Convertibility of nullptr to bool Clang 11 - 1424 + 1424 C++14 When must sub-object destructors be accessible? Unknown - 1425 + 1425 CD3 Base-class subobjects of standard-layout structs N/A (ABI constraint) - 1426 + 1426 CD5 Allowing additional parameter types in defaulted functions Unknown - 1427 + 1427 NAD Default constructor and deleted or inaccessible destructors Unknown - 1428 + 1428 CD3 Dynamic const objects Unknown - 1429 + 1429 NAD Scope of a member template's template parameter Unknown - 1430 + 1430 open Pack expansion into fixed alias template parameter list Not resolved - 1431 + 1431 CD3 Exceptions from other than throw-expressions Unknown - 1432 + 1432 C++17 Newly-ambiguous variadic template expansions Clang 16 - 1433 + 1433 NAD trailing-return-type and point of declaration Unknown - 1434 + 1434 NAD Parenthesized braced-init-list Unknown - 1435 + 1435 CD3 template-id as the declarator for a class template constructor Unknown - 1436 + 1436 open Interaction of constant expression changes with preprocessor expressions Not resolved - 1437 + 1437 CD3 alignas in alias-declaration Unknown - 1438 + 1438 CD3 Non-dereference use of invalid pointers Unknown - 1439 + 1439 CD3 Lookup and friend template declarations Unknown - 1440 + 1440 CD3 Acceptable decltype-specifiers used as nested-name-specifiers Unknown - 1441 + 1441 C++14 Unclear wording for signal handler restrictions Unknown - 1442 + 1442 CD3 Argument-dependent lookup in the range-based for Unknown - 1443 + 1443 NAD Default arguments and non-static data members Yes - 1444 + 1444 drafting Type adjustments of non-type template parameters Not resolved - 1445 + 1445 dup Argument-dependent lookup of begin and end Unknown - 1446 + 1446 CD4 Member function with no ref-qualifier and non-member function with rvalue reference Unknown - 1447 + 1447 CD3 static_cast of bit-field lvalue to rvalue reference Unknown - 1448 + 1448 NAD Integral values of type bool Unknown - 1449 + 1449 CD3 Narrowing conversion of negative value to unsigned type Unknown - 1450 + 1450 CD3 INT_MIN % -1 Unknown - 1451 + 1451 CD4 Objects with no linkage in non-type template arguments Unknown - 1452 + 1452 NAD Value-initialized objects may be constants Unknown - 1453 + 1453 CD3 Volatile members in literal classes? Unknown - 1454 + 1454 CD3 Passing constants through constexpr functions via references Unknown - 1455 + 1455 CD3 Lvalue converted constant expressions Unknown - 1456 + 1456 CD3 Address constant expression designating the one-past-the-end address Unknown - 1457 + 1457 CD3 Undefined behavior in left-shift Unknown - 1458 + 1458 CD3 Address of incomplete type vs operator&() Unknown - 1459 + 1459 open Reference-binding tiebreakers in overload resolution Not resolved - 1460 + 1460 C++14 What is an empty union? Clang 3.5 - 1461 + 1461 NAD Narrowing conversions to bit-fields Unknown - 1462 + 1462 CD3 Deduction failure vs “ill-formed, no diagnostic required” Unknown - 1463 + 1463 drafting extern "C" alias templates Not resolved - 1464 + 1464 CD3 Negative array bound in a new-expression Unknown - 1465 + 1465 CD4 noexcept and std::bad_array_new_length Unknown - 1466 + 1466 C++14 Visible sequences of side effects are redundant Unknown - 1467 + 1467 CD4 List-initialization of aggregate from same-type object Clang 3.7 (C++11 onwards) - 1468 + 1468 CD5 typeid, overload resolution, and implicit lambda capture Unknown - 1469 + 1469 CD5 Omitted bound in array new-expression Unknown - 1470 + 1470 NAD Thread migration Unknown - 1471 + 1471 CD3 Nested type of non-dependent base Unknown - 1472 + 1472 CD3 odr-use of reference variables Unknown - 1473 + 1473 CD3 Syntax of literal-operator-id Unknown - 1474 + 1474 NAD User-defined literals and <inttypes.h> format macros Unknown - 1475 + 1475 CD3 Errors in [[carries_dependency]] example Unknown - 1476 + 1476 CD3 Definition of user-defined type Unknown - 1477 + 1477 CD3 Definition of a friend outside its namespace Unknown - 1478 + 1478 CD6 template keyword for dependent template template arguments Unknown - 1479 + 1479 CD3 Literal operators and default arguments Yes - 1480 + 1480 CD3 Constant initialization via non-constant temporary Unknown - 1481 + 1481 CD3 Increment/decrement operators with reference parameters Unknown - 1482 + 1482 CD3 Point of declaration of enumeration Unknown - 1483 + 1483 NAD Non-dependent static_assert-declarations Unknown - 1484 + 1484 CD4 Unused local classes of function templates Unknown - 1485 + 1485 drafting Out-of-class definition of member unscoped opaque enumeration Not resolved - 1486 + 1486 drafting Base-derived conversion in member pointer deduction Not resolved - 1487 + 1487 CD3 When are inheriting constructors declared? Unknown - 1488 + 1488 drafting abstract-pack-declarators in type-ids Not resolved - 1489 + 1489 CD3 Is value-initialization of an array constant initialization? Unknown - 1490 + 1490 CD4 List-initialization from a string literal Clang 3.7 (C++11 onwards) - 1491 + 1491 CD3 Move construction and rvalue reference members Unknown - 1492 + 1492 CD4 Exception specifications on template destructors Unknown - 1493 + 1493 C++14 Criteria for move-construction Unknown - 1494 + 1494 CD3 Temporary initialization for reference binding in list-initialization Unknown - 1495 + 1495 CD3 Partial specialization of variadic class template Clang 4 - 1496 + 1496 CD4 Triviality with deleted and missing default constructors No - 1497 + 1497 NAD Aggregate initialization with parenthesized string literal Unknown - 1498 + 1498 dup Lifetime of temporaries in range-based for Unknown - 1499 + 1499 drafting Missing case for deleted move assignment operator Not resolved - 1500 + 1500 CD6 Name lookup of dependent conversion function Unknown - 1501 + 1501 NAD Nested braces in list-initialization Unknown - 1502 + 1502 CD3 Value initialization of unions with member initializers Unknown - 1503 + 1503 CD3 Exceptions during copy to exception object Unknown - 1504 + 1504 CD3 Pointer arithmetic after derived-base conversion Unknown - 1505 + 1505 dup Direct binding of reference to temporary in list-initialization Unknown - 1506 + 1506 CD3 Value category of initializer_list object Unknown - 1507 + 1507 CD3 Value initialization with trivial inaccessible default constructor Unknown - 1508 + 1508 C++14 Template initializer-list constructors Unknown - 1509 + 1509 C++14 Definition of “non-template function” Unknown - 1510 + 1510 CD3 cv-qualified references via decltype Unknown - 1511 + 1511 CD3 const volatile variables and the one-definition rule Unknown - 1512 + 1512 CD3 Pointer comparison vs qualification conversions Clang 4 - 1513 + 1513 drafting initializer_list deduction failure Not resolved - 1514 + 1514 C++14 Ambiguity between enumeration definition and zero-length bit-field Clang 11 - 1515 + 1515 CD3 Modulo 2n arithmetic for implicitly-unsigned types Unknown - 1516 + 1516 CD3 Definition of “virtual function call” Unknown - 1517 + 1517 drafting Unclear/missing description of behavior during construction/destruction Not resolved - 1518 + 1518 CD4 Explicit default constructors and copy-list-initialization Clang 4 - 1519 + 1519 NAD Conflicting default and variadic constructors Unknown - 1520 + 1520 NAD Alias template specialization vs pack expansion Unknown - 1521 + 1521 drafting T{expr} with reference types Not resolved - 1522 + 1522 CD3 Access checking for initializer_list array initialization Unknown - 1523 + 1523 CD5 Point of declaration in range-based for Unknown - 1524 + 1524 drafting Incompletely-defined class template base Not resolved - 1525 + 1525 NAD Array bound inference in temporary array Unknown - 1526 + 1526 dup Dependent-class lookup in the current instantiation Unknown - 1527 + 1527 CD3 Assignment from braced-init-list Unknown - 1528 + 1528 CD3 Repeated cv-qualifiers in declarators Unknown - 1529 + 1529 drafting Nomenclature for variable vs reference non-static data member Not resolved - 1530 + 1530 drafting Member access in out-of-lifetime objects Not resolved - 1531 + 1531 CD3 Definition of “access” (verb) Unknown - 1532 + 1532 CD3 Explicit instantiation and member templates Unknown - 1533 + 1533 CD3 Function pack expansion for member initialization Unknown - 1534 + 1534 dup cv-qualification of prvalue of type “array of class” Unknown - 1535 + 1535 CD3 typeid in core constant expressions Unknown - 1536 + 1536 drafting Overload resolution with temporary from initializer list Not resolved - 1537 + 1537 CD3 Optional compile-time evaluation of constant expressions Unknown - 1538 + 1538 CD3 C-style cast in braced-init-list assignment Unknown - 1539 + 1539 CD3 Definition of “character type” Unknown - 1540 + 1540 NAD Use of address constants in constant expressions Unknown - 1541 + 1541 CD3 cv void return types Unknown - 1542 + 1542 drafting Compound assignment of braced-init-list Not resolved - 1543 + 1543 CD3 Implicit conversion sequence for empty initializer list Unknown - 1544 + 1544 CD3 Linkage of member of unnamed namespace Unknown - 1545 + 1545 NAD friend function templates defined in class templates Unknown - 1546 + 1546 NAD Errors in function template default arguments Unknown - 1547 + 1547 NAD typename keyword in alias-declarations Unknown - 1548 + 1548 drafting Copy/move construction and conversion functions Not resolved - 1549 + 1549 open Overloaded comma operator with void operand Not resolved - 1550 + 1550 CD3 Parenthesized throw-expression operand of conditional-expression Yes - 1551 + 1551 C++14 Wording problems in using-declaration specification Unknown - 1552 + 1552 CD4 exception-specifications and defaulted special member functions Unknown - 1553 + 1553 CD3 sizeof and xvalue bit-fields Unknown - 1554 + 1554 drafting Access and alias templates Not resolved - 1555 + 1555 NAD Language linkage and function type compatibility Unknown - 1556 + 1556 CD3 Constructors and explicit conversion functions in direct initialization Unknown - 1557 + 1557 CD3 Language linkage of converted lambda function pointer Unknown - 1558 + 1558 CD4 Unused arguments in alias template specializations Clang 12 - 1559 + 1559 CD3 String too long in initializer list of new-expression Unknown - 1560 + 1560 CD3 Gratuitous lvalue-to-rvalue conversion in conditional-expression with throw-expression operand Clang 3.5 - 1561 + 1561 CD4 Aggregates with empty base classes Unknown - 1562 + 1562 C++14 Non-static data member initializers and union ctor-initializer Unknown - 1563 + 1563 CD3 List-initialization and overloaded function disambiguation Yes - 1564 + 1564 NAD Template argument deduction from an initializer list Unknown - 1565 + 1565 NAD Copy elision and lifetime of initializer_list underlying array Unknown - 1566 + 1566 NAD Should new std::initializer_list<T> be ill-formed? Unknown - 1567 + 1567 C++14 Inheriting constructors and copy/move constructors Unknown - 1568 + 1568 dup Temporary lifetime extension with intervening cast Unknown - 1569 + 1569 C++14 Deducing a function parameter pack before ellipsis Unknown - 1570 + 1570 C++14 Address of subobject as non-type template argument Unknown - 1571 + 1571 CD4 cv-qualification for indirect reference binding via conversion function Unknown - 1572 + 1572 CD4 Incorrect example for rvalue reference binding via conversion function Unknown - 1573 + 1573 CD4 Inherited constructor characteristics Clang 3.9 - 1574 + 1574 NAD Explicitly-defaulted constexpr functions in wrapper templates Unknown - 1575 + 1575 C++14 Incorrect definition of “strict pointer safety” Unknown - 1576 + 1576 C++14 Discarded-value volatile xvalues Unknown - 1577 + 1577 NAD Unnecessary restrictions on partial specializations Unknown - 1578 + 1578 NAD Value-initialization of aggregates Unknown - 1579 + 1579 C++14 Return by converting move constructor Clang 3.9 - 1580 + 1580 drafting Default arguments in explicit instantiations Not resolved - 1581 + 1581 CD5 When are constexpr member functions defined? Unknown - 1582 + 1582 drafting Template default arguments and deduction failure Not resolved - 1583 + 1583 C++14 Incorrect example of unspecified behavior Unknown - 1584 + 1584 drafting Deducing function types from cv-qualified types Not resolved - 1585 + 1585 NAD Value category of member access of rvalue reference member Unknown - 1586 + 1586 NAD Naming a destructor via decltype Unknown - 1587 + 1587 C++14 constexpr initialization and nested anonymous unions Unknown - 1588 + 1588 CD3 Deducing cv-qualified auto Unknown - 1589 + 1589 CD4 Ambiguous ranking of list-initialization sequences Clang 3.7 (C++11 onwards) - 1590 + 1590 CD4 Bypassing non-copy/move constructor copying Unknown - 1591 + 1591 CD4 Deducing array bound and element type from initializer list Unknown - 1592 + 1592 C++14 When do template parameters match? Unknown - 1593 + 1593 C++14 “Parameter type” of special member functions Unknown - 1594 + 1594 drafting Lazy declaration of special members vs overload errors Not resolved - 1595 + 1595 C++14 Constructors “involved in” subobject initialization Unknown - 1596 + 1596 CD4 Non-array objects as array[1] Unknown - 1597 + 1597 CD3 Misleading constexpr example Unknown - 1598 + 1598 C++14 Criterion for equality of pointers to members Unknown - 1599 + 1599 CD4 Lifetime of initializer_list underlying array Unknown - 1600 + 1600 CD4 Erroneous reference initialization in example Unknown - 1601 + 1601 C++14 Promotion of enumeration with fixed underlying type Clang 10 - 1602 + 1602 review Linkage of specialization vs linkage of template arguments Not resolved - 1603 + 1603 CD4 Errors resulting from giving unnamed namespaces internal linkage Unknown - 1604 + 1604 C++14 Double temporaries in reference initialization Unknown - 1605 + 1605 CD3 Misleading parenthetical comment for explicit destructor call Unknown - 1606 + 1606 NAD sizeof closure class Unknown - 1607 + 1607 C++14 Lambdas in template parameters Unknown - 1608 + 1608 C++14 Operator lookup in trailing return type Unknown - 1609 + 1609 open Default arguments and function parameter packs Not resolved - 1610 + 1610 drafting Cv-qualification in deduction of reference to array Not resolved - 1611 + 1611 C++14 Deleted default constructor for abstract class Duplicate of 1658 - 1612 + 1612 C++14 Implicit lambda capture and anonymous unions Unknown - 1613 + 1613 C++14 Constant expressions and lambda capture Unknown - 1614 + 1614 CD4 Address of pure virtual function vs odr-use Unknown - 1615 + 1615 CD4 Alignment of types, variables, and members Unknown - 1616 + 1616 CD6 Disambiguation parsing and template parameters Unknown - 1617 + 1617 open alignas and non-defining declarations Not resolved - 1618 + 1618 C++14 Gratuitously-unsigned underlying enum type Unknown - 1619 + 1619 open Definition of current instantiation Not resolved - 1620 + 1620 open User-defined literals and extended integer types Not resolved - 1621 + 1621 C++20 Member initializers in anonymous unions Unknown - 1622 + 1622 C++17 Empty aggregate initializer for union Unknown - 1623 + 1623 drafting Deleted default union constructor and member initializers Not resolved - 1624 + 1624 NAD Destruction of union members with member initializers Unknown - 1625 + 1625 open Adding spaces between tokens in stringizing Not resolved - 1626 + 1626 open constexpr member functions in brace-or-equal-initializers Not resolved - 1627 + 1627 NAD Agreement of dependent alignas specifiers Unknown - 1628 + 1628 open Deallocation function templates Not resolved - 1629 + 1629 C++14 Can a closure class be a literal type? Unknown - 1630 + 1630 CD4 Multiple default constructor templates Unknown - 1631 + 1631 CD4 Incorrect overload resolution for single-element initializer-list Clang 3.7 - 1632 + 1632 CD5 Lambda capture in member initializers Unknown - 1633 + 1633 CD4 Copy-initialization in member initialization Unknown - 1634 + 1634 drafting Temporary storage duration Not resolved - 1635 + 1635 drafting How similar are template default arguments to function default arguments? Not resolved - 1636 + 1636 CD5 Bits required for negative enumerator values Unknown - 1637 + 1637 NAD Recursion in constexpr template default constructor Unknown - 1638 + 1638 CD4 Declaring an explicit specialization of a scoped enumeration Yes - 1639 + 1639 CD4 exception-specifications and pointer/pointer-to-member expressions Unknown - 1640 + 1640 CD5 Array of abstract instance of class template Unknown - 1641 + 1641 NAD Assignment in member initializer Unknown - 1642 + 1642 open Missing requirements for prvalue operands Not resolved - 1643 + 1643 NAD Default arguments for template parameter packs Unknown - 1644 + 1644 NAD Equivalent exception-specifications in function template declarations Unknown - 1645 + 1645 CD4 Identical inheriting constructors via default arguments Clang 3.9 - 1646 + 1646 CD5 decltype-specifiers, abstract classes, and deduction failure Unknown - 1647 + 1647 drafting Type agreement of non-type template arguments in partial specializations Not resolved - 1648 + 1648 C++14 thread_local vs block extern declarations Unknown - 1649 + 1649 C++14 Error in the syntax of mem-initializer-list Unknown - 1650 + 1650 NAD Class prvalues in reference initialization Unknown - 1651 + 1651 NAD Lifetime extension of temporary via reference to subobject Unknown - 1652 + 1652 CD4 Object addresses in constexpr expressions Clang 3.6 - 1653 + 1653 CD4 Removing deprecated increment of bool Clang 4 (C++17 onwards) - 1654 + 1654 dup Literal types and constexpr defaulted constructors Unknown - 1655 + 1655 drafting Line endings in raw string literals Not resolved - 1656 + 1656 CD6 Encoding of numerically-escaped characters Unknown - 1657 + 1657 CD4 Attributes for namespaces and enumerators Unknown - 1658 + 1658 C++14 Deleted default constructor for abstract class via destructor Clang 5 - 1659 + 1659 open Initialization order of thread_local template static data members Not resolved - 1660 + 1660 C++14 member-declaration requirements and unnamed bit-fields Unknown - 1661 + 1661 NAD Preservation of infinite loops Unknown - 1662 + 1662 C++14 Capturing function parameter packs Unknown - 1663 + 1663 NAD Capturing an empty pack expansion Unknown - 1664 + 1664 C++14 Argument-dependent lookup of lambdas used in default arguments Unknown - 1665 + 1665 drafting Declaration matching in explicit instantiations Not resolved - 1666 + 1666 C++14 Address constant expressions Unknown - 1667 + 1667 NAD Function exiting via exception called by destructor during unwinding Unknown - 1668 + 1668 drafting Parameter type determination still not clear enough Not resolved - 1669 + 1669 C++14 auto return type for main Unknown - 1670 + 1670 drafting auto as conversion-type-id Not resolved - 1671 + 1671 NAD Unclear rules for deduction with cv-qualification Unknown - 1672 + 1672 CD4 Layout compatibility with multiple empty bases Clang 7 - 1673 + 1673 C++14 Clarifying overload resolution for the second step of copy-initialization Unknown - 1674 + 1674 C++14 Return type deduction for address of function Unknown - 1675 + 1675 NAD Size limit for automatic array object Unknown - 1676 + 1676 drafting auto return type for allocation and deallocation functions Not resolved - 1677 + 1677 C++17 Constant initialization via aggregate initialization Unknown - 1678 + 1678 NAD Naming the type of an array of runtime bound Unknown - 1679 + 1679 NAD Range-based for and array of runtime bound Unknown - 1680 + 1680 drafting Including <initializer_list> for range-based for Not resolved - 1681 + 1681 C++14 init-captures and nested lambdas Unknown - 1682 + 1682 open Overly-restrictive rules on function templates as allocation functions Not resolved - 1683 + 1683 CD4 Incorrect example after constexpr changes Unknown - 1684 + 1684 C++14 Static constexpr member functions for non-literal classes Clang 3.6 - 1685 + 1685 NAD Value category of noexcept expression Unknown - 1686 + 1686 CD4 Which variables are “explicitly declared const?” Unknown - 1687 + 1687 C++14 Conversions of operands of built-in operators Clang 7 - 1688 + 1688 NAD Volatile constexpr variables Unknown - 1689 + 1689 C++14 Syntactic nonterminal for operand of alignas Unknown - 1690 + 1690 C++14 Associated namespace for local type Clang 9 - 1691 + 1691 C++14 Argument-dependent lookup and opaque enumerations Clang 9 - 1692 + 1692 C++14 Associated namespaces of doubly-nested classes Clang 9 - 1693 + 1693 C++14 Superfluous semicolons in class definitions Unknown - 1694 + 1694 CD4 Restriction on reference to temporary as a constant expression Unknown - 1695 + 1695 NAD Lifetime extension via init-capture Unknown - 1696 + 1696 CD4 Temporary lifetime and non-static data member initializers Clang 7 - 1697 + 1697 CD4 Lifetime extension and copy elision Unknown - 1698 + 1698 open Files ending in \ Not resolved - 1699 + 1699 extension Does befriending a class befriend its friends? Extension - 1700 + 1700 NAD Does the special rvalue-reference deduction apply to alias templates? Unknown - 1701 + 1701 drafting Array vs sequence in object representation Not resolved - 1702 + 1702 drafting Rephrasing the definition of “anonymous union” Not resolved - 1703 + 1703 NAD Language linkage of names of functions with internal linkage Unknown - 1704 + 1704 CD5 Type checking in explicit instantiation of variable templates Unknown - 1705 + 1705 CD4 Unclear specification of “more specialized” Unknown - 1706 + 1706 drafting alignas pack expansion syntax Not resolved - 1707 + 1707 C++14 template in elaborated-type-specifier without nested-name-specifier Unknown - 1708 + 1708 CD4 overly-strict requirements for names with C language linkage Unknown - 1709 + 1709 drafting Stringizing raw string literals containing newline Not resolved - 1710 + 1710 C++17 Missing template keyword in class-or-decltype Unknown - 1711 + 1711 CD6 Missing specification of variable template partial specializations Unknown - 1712 + 1712 CD4 constexpr variable template declarations Unknown - 1713 + 1713 dup Linkage of variable template specializations Unknown - 1714 + 1714 NAD odr-use of this from a local class Unknown - 1715 + 1715 CD4 Access and inherited constructor templates Clang 3.9 - 1716 + 1716 C++14 When are default arguments evaluated? Unknown - 1717 + 1717 C++14 Missing specification of type of binary literal Unknown - 1718 + 1718 drafting Macro invocation spanning end-of-file Not resolved - 1719 + 1719 CD4 Layout compatibility and cv-qualification revisited Unknown - 1720 + 1720 NAD Macro invocation in #include directive Unknown - 1721 + 1721 drafting Diagnosing ODR violations for static data members Not resolved - 1722 + 1722 CD4 Should lambda to function pointer conversion function be noexcept? Clang 9 - 1723 + 1723 drafting Multicharacter user-defined character literals Not resolved - 1724 + 1724 CD6 Unclear rules for deduction failure Unknown - 1725 + 1725 NAD Trailing return type with nested function declarator Unknown - 1726 + 1726 CD6 Declarator operators and conversion function Unknown - 1727 + 1727 NAD Type of a specialization of a variable template Unknown - 1728 + 1728 CD5 Type of an explicit instantiation of a variable template Unknown - 1729 + 1729 CD6 Matching declarations and definitions of variable templates Unknown - 1730 + 1730 drafting Can a variable template have an unnamed type? Not resolved - 1731 + 1731 NAD is_trivially_X and definitions of special member functions Unknown - 1732 + 1732 C++14 Defining types in conditions and range-based for statements Unknown - 1733 + 1733 CD6 Return type and value for operator= with ref-qualifier Unknown - 1734 + 1734 CD4 Nontrivial deleted copy functions No - 1735 + 1735 drafting Out-of-range literals in user-defined-literals Not resolved - 1736 + 1736 CD4 Inheriting constructor templates in a local class Clang 3.9 - 1737 + 1737 C++14 Type dependence of call to a member of the current instantiation Unknown - 1738 + 1738 C++14 Explicit instantiation/specialization of inheriting constructor templates Unknown - 1739 + 1739 C++14 Conversion of floating point to enumeration Unknown - 1740 + 1740 C++14 Disambiguation of noexcept Unknown - 1741 + 1741 C++14 odr-use of class object in lvalue-to-rvalue conversion Unknown - 1742 + 1742 CD5 using-declarations and scoped enumerators Unknown - 1743 + 1743 NAD init-captures in nested lambdas Unknown - 1744 + 1744 CD4 Unordered initialization for variable template specializations Unknown - 1745 + 1745 NAD thread_local constexpr variable Unknown - 1746 + 1746 C++14 Are volatile scalar types trivially copyable? Unknown - 1747 + 1747 C++14 Constant initialization of reference to function Unknown - 1748 + 1748 CD4 Placement new with a null pointer Clang 3.7 - 1749 + 1749 NAD Confusing definition for constant initializer Unknown - 1750 + 1750 CD4 “Argument” vs “parameter” Unknown - 1751 + 1751 CD4 Non-trivial operations vs non-trivial initialization Unknown - 1752 + 1752 CD4 Right-recursion in mem-initializer-list Unknown - 1753 + 1753 CD4 decltype-specifier in nested-name-specifier of destructor Clang 11 - 1754 + 1754 NAD Declaration of partial specialization of static data member template Unknown - 1755 + 1755 drafting Out-of-class partial specializations of member templates Not resolved - 1756 + 1756 CD4 Direct-list-initialization of a non-class object Clang 3.7 - 1757 + 1757 CD4 Const integral subobjects Unknown - 1758 + 1758 CD4 Explicit conversion in copy/move list initialization Clang 3.7 - 1759 + 1759 C++14 UTF-8 code units in plain char Unknown - 1760 + 1760 C++14 Access of member corresponding to init-capture Unknown - 1761 + 1761 NAD Runtime check on size of automatic array Unknown - 1762 + 1762 C++14 Reserved identifier used in literal-operator-id example Clang 14 - 1763 + 1763 open Length mismatch in template type deduction Not resolved - 1764 + 1764 C++14 Hiding of function from using-declaration by signature Unknown - 1765 + 1765 C++14 Overflow of enumeration used as enumerator value Unknown - 1766 + 1766 CD4 Values outside the range of the values of an enumeration Unknown - 1767 + 1767 C++14 Scoped enumeration in a switch statement Unknown - 1768 + 1768 NAD Zero-element array of runtime bound Unknown - 1769 + 1769 C++14 Catching a base class of the exception object Unknown - 1770 + 1770 C++14 Type matching of non-type template parameters and arguments Unknown - 1771 + 1771 CD6 Restricted lookup in nested-name-specifier Unknown - 1772 + 1772 C++14 __func__ in a lambda body Clang 14 - 1773 + 1773 C++14 Out-of-lifetime lvalue-to-rvalue conversion Unknown - 1774 + 1774 CD4 Discrepancy between subobject destruction and stack unwinding Unknown - 1775 + 1775 C++14 Undefined behavior of line splice in raw string literal Unknown - 1776 + 1776 CD4 Replacement of class objects containing reference members Unknown - 1777 + 1777 CD4 Empty pack expansion in dynamic-exception-specification Unknown - 1778 + 1778 C++14 exception-specification in explicitly-defaulted functions Clang 9 - 1779 + 1779 CD4 Type dependency of __func__ Clang 14 - 1780 + 1780 CD4 Explicit instantiation/specialization of generic lambda operator() Unknown - 1781 + 1781 CD5 Converting from nullptr_t to bool in overload resolution Unknown - 1782 + 1782 CD4 Form of initialization for nullptr_t to bool conversion Unknown - 1783 + 1783 NAD Why are virtual destructors non-trivial? Unknown - 1784 + 1784 C++17 Concurrent execution during static local initialization Unknown - 1785 + 1785 NAD Conflicting diagnostic requirements for template definitions Unknown - 1786 + 1786 C++14 Effect of merging allocations on memory leakage Unknown - 1787 + 1787 C++14 Uninitialized unsigned char values Unknown - 1788 + 1788 CD4 Sized deallocation of array of non-class type Unknown - 1789 + 1789 open Array reference vs array decay in overload resolution Not resolved - 1790 + 1790 open Ellipsis following function parameter pack Not resolved - 1791 + 1791 CD4 Incorrect restrictions on cv-qualifier-seq and ref-qualifier Unknown - 1792 + 1792 NAD Incorrect example of explicit specialization of member enumeration Unknown - 1793 + 1793 CD4 thread_local in explicit specializations Unknown - 1794 + 1794 C++17 template keyword and alias templates Unknown - 1795 + 1795 CD4 Disambiguating original-namespace-definition and extension-namespace-definition Unknown - 1796 + 1796 CD4 Is all-bits-zero for null characters a meaningful requirement? Unknown - 1797 + 1797 CD4 Are all bit patterns of unsigned char distinct numbers? Unknown - 1798 + 1798 NAD exception-specifications of template arguments Unknown - 1799 + 1799 CD4 mutable and non-explicit const qualification Unknown - 1800 + 1800 CD4 Pointer to member of nested anonymous union Unknown - 1801 + 1801 CD4 Kind of expression referring to member of anonymous union Unknown - 1802 + 1802 CD4 char16_t string literals and surrogate pairs Unknown - 1803 + 1803 CD5 opaque-enum-declaration as member-declaration Unknown - 1804 + 1804 CD4 Partial specialization and friendship Unknown - 1805 + 1805 CD4 Conversions of array operands in conditional-expressions Unknown - 1806 + 1806 CD4 Virtual bases and move-assignment Unknown - 1807 + 1807 CD4 Order of destruction of array elements after an exception Unknown - 1808 + 1808 drafting Constructor templates vs default constructors Not resolved - 1809 + 1809 CD4 Narrowing and template argument deduction Unknown - 1810 + 1810 CD4 Invalid ud-suffixes Unknown - 1811 + 1811 CD4 Lookup of deallocation function in a virtual destructor definition Unknown - 1812 + 1812 C++17 Omission of template in a typename-specifier Unknown - 1813 + 1813 CD4 Direct vs indirect bases in standard-layout classes Clang 7 - 1814 + 1814 CD4 Default arguments in lambda-expressions Yes - 1815 + 1815 CD4 Lifetime extension in aggregate initialization No - 1816 + 1816 CD4 Unclear specification of bit-field values Unknown - 1817 + 1817 drafting Linkage specifications and nested scopes Not resolved - 1818 + 1818 CD6 Visibility and inherited language linkage Unknown - 1819 + 1819 CD4 Acceptable scopes for definition of partial specialization Unknown - 1820 + 1820 CD6 Qualified typedef names Unknown - 1821 + 1821 CD6 Qualified redeclarations in a class member-specification Unknown - 1822 + 1822 CD6 Lookup of parameter names in lambda-expressions Yes - 1823 + 1823 CD4 String literal uniqueness in inline functions Unknown - 1824 + 1824 CD4 Completeness of return type vs point of instantiation Unknown - 1825 + 1825 C++17 Partial ordering between variadic and non-variadic function templates Unknown - 1826 + 1826 NAD const floating-point in constant expressions Unknown - 1827 + 1827 drafting Reference binding with ambiguous conversions Not resolved - 1828 + 1828 CD6 nested-name-specifier ambiguity Unknown - 1829 + 1829 CD6 Dependent unnamed types Unknown - 1830 + 1830 CD4 Repeated specifiers Unknown - 1831 + 1831 NAD Explicitly vs implicitly deleted move constructors Unknown - 1832 + 1832 CD4 Casting to incomplete enumeration Unknown - 1833 + 1833 NAD friend declarations naming implicitly-declared member functions Unknown - 1834 + 1834 CD4 Constant initialization binding a reference to an xvalue Unknown - 1835 + 1835 CD6 Dependent member lookup before < Unknown - 1836 + 1836 CD5 Use of class type being defined in trailing-return-type Unknown - 1837 + 1837 CD6 Use of this in friend and local class declarations Clang 3.3 - 1838 + 1838 CD4 Definition via unqualified-id and using-declaration Unknown - 1839 + 1839 CD6 Lookup of block-scope extern declarations Unknown - 1840 + 1840 drafting Non-deleted explicit specialization of deleted function template Not resolved - 1841 + 1841 CD6 < following template injected-class-name Unknown - 1842 + 1842 open Unevaluated operands and “carries a dependency” Not resolved - 1843 + 1843 CD4 Bit-field in conditional operator with throw operand Unknown - 1844 + 1844 open Defining “immediate context” Not resolved - 1845 + 1845 drafting Point of instantiation of a variable template specialization Not resolved - 1846 + 1846 CD4 Declaring explicitly-defaulted implicitly-deleted functions Unknown - 1847 + 1847 CD4 Clarifying compatibility during partial ordering Unknown - 1848 + 1848 CD4 Parenthesized constructor and destructor declarators Unknown - 1849 + 1849 CD6 Variable templates and the ODR Unknown - 1850 + 1850 CD4 Differences between definition context and point of instantiation Unknown - 1851 + 1851 CD4 decltype(auto) in new-expressions Unknown - 1852 + 1852 CD4 Wording issues regarding decltype(auto) Unknown - 1853 + 1853 drafting Defining “allocated storage” Not resolved - 1854 + 1854 drafting Disallowing use of implicitly-deleted functions Not resolved - 1855 + 1855 dup Out-of-lifetime access to nonstatic data members Unknown - 1856 + 1856 open Indirect nested classes of class templates Not resolved - 1857 + 1857 CD5 Additional questions about bits Unknown - 1858 + 1858 CD4 Comparing pointers to union members Unknown - 1859 + 1859 CD5 UTF-16 in char16_t string literals Unknown - 1860 + 1860 C++17 What is a “direct member?” Unknown - 1861 + 1861 CD4 Values of a bit-field Unknown - 1862 + 1862 CD5 Determining “corresponding members” for friendship Unknown - 1863 + 1863 CD4 Requirements on thrown object type to support std::current_exception() Unknown - 1864 + 1864 NAD List-initialization of array objects Unknown - 1865 + 1865 CD4 Pointer arithmetic and multi-level qualification conversions Unknown - 1866 + 1866 CD4 Initializing variant members with non-trivial destructors Unknown - 1867 + 1867 NAD Function/expression ambiguity with qualified parameter name Unknown - 1868 + 1868 drafting Meaning of “placeholder type” Not resolved - 1869 + 1869 NAD thread_local vs linkage-specifications Unknown - 1870 + 1870 CD4 Contradictory wording about definitions vs explicit specialization/instantiation Unknown - 1871 + 1871 NAD Non-identifier characters in ud-suffix Unknown - 1872 + 1872 CD4 Instantiations of constexpr templates that cannot appear in constant expressions Clang 9 - 1873 + 1873 CD4 Protected member access from derived class friends Unknown - 1874 + 1874 CD4 Type vs non-type template parameters with class keyword Unknown - 1875 + 1875 CD4 Reordering declarations in class scope Unknown - 1876 + 1876 NAD Preventing explicit specialization Unknown - 1877 + 1877 CD4 Return type deduction from return with no operand Unknown - 1878 + 1878 CD4 operator auto template Unknown - 1879 + 1879 NAD Inadequate definition of alignment requirement Unknown - 1880 + 1880 CD4 When are parameter objects destroyed? Unknown - 1881 + 1881 CD4 Standard-layout classes and unnamed bit-fields Clang 7 - 1882 + 1882 CD4 Reserved names without library use Unknown - 1883 + 1883 drafting Protected access to constructors in mem-initializers Not resolved - 1884 + 1884 CD6 Unclear requirements for same-named external-linkage entities Unknown - 1885 + 1885 CD4 Return value of a function is underspecified Unknown - 1886 + 1886 CD4 Language linkage for main() Unknown - 1887 + 1887 CD4 Problems with :: as nested-name-specifier Unknown - 1888 + 1888 CD4 Implicitly-declared default constructors and explicit Unknown - 1889 + 1889 drafting Unclear effect of #pragma on conformance Not resolved - 1890 + 1890 drafting Member type depending on definition of member function Not resolved - 1891 + 1891 CD4 Move constructor/assignment for closure class Clang 4 - 1892 + 1892 CD4 Use of auto in function type Unknown - 1893 + 1893 CD5 Function-style cast with braced-init-lists and empty pack expansions Unknown - 1894 + 1894 CD6 typedef-names and using-declarations Unknown - 1895 + 1895 CD4 Deleted conversions in conditional operator operands Unknown - 1896 + 1896 CD6 Repeated alias templates Unknown - 1897 + 1897 drafting ODR vs alternative tokens Not resolved - 1898 + 1898 CD6 Use of “equivalent” in overload resolution Unknown - 1899 + 1899 CD4 Value-dependent constant expressions Unknown - 1900 + 1900 CD6 Do friend declarations count as “previous declarations”? Unknown - 1901 + 1901 drafting punctuator referenced but not defined Not resolved - 1902 + 1902 CD4 What makes a conversion “otherwise ill-formed”? Clang 3.7 - 1903 + 1903 CD4 What declarations are introduced by a non-member using-declaration? Unknown - 1904 + 1904 NAD Default template arguments for members of class templates Unknown - 1905 + 1905 NAD Dependent types and injected-class-names Unknown - 1906 + 1906 NAD Name lookup in member friend declaration Unknown - 1907 + 1907 CD6 using-declarations and default arguments Unknown - 1908 + 1908 CD6 Dual destructor lookup and template-ids Unknown - 1909 + 1909 CD4 Member class template with the same name as the class Yes - 1910 + 1910 CD5 “Shall” requirement applied to runtime behavior Unknown - 1911 + 1911 CD4 constexpr constructor with non-literal base class Unknown - 1912 + 1912 CD5 exception-specification of defaulted function Unknown - 1913 + 1913 CD5 decltype((x)) in lambda-expressions Unknown - 1914 + 1914 extension Duplicate standard attributes Extension - 1915 + 1915 open Potentially-invoked destructors in non-throwing constructors Not resolved - 1916 + 1916 CD4 “Same cv-unqualified type” Unknown - 1917 + 1917 NAD decltype-qualified enumeration names Unknown - 1918 + 1918 open friend templates with dependent scopes Not resolved - 1919 + 1919 open Overload resolution for ! with explicit conversion operator Not resolved - 1920 + 1920 CD4 Qualification mismatch in pseudo-destructor-name Unknown - 1921 + 1921 NAD constexpr constructors and point of initialization of const variables Unknown - 1922 + 1922 CD4 Injected class template names and default arguments Unknown - 1923 + 1923 NAD Lvalues of type void Unknown - 1924 + 1924 review Definition of “literal” and kinds of literals Not resolved - 1925 + 1925 CD4 Bit-field prvalues Unknown - 1926 + 1926 CD4 Potential results of subscript operator Unknown - 1927 + 1927 dup Lifetime of temporaries in init-captures Unknown - 1928 + 1928 NAD Triviality of deleted special member functions Unknown - 1929 + 1929 CD4 template keyword following namespace nested-name-specifier Unknown - 1930 + 1930 CD4 init-declarator-list vs member-declarator-list Unknown - 1931 + 1931 CD5 Default-constructible and copy-assignable closure types Unknown - 1932 + 1932 CD4 Bit-field results of conditional operators Unknown - 1933 + 1933 NAD Implementation limit for initializer-list elements Unknown - 1934 + 1934 NAD Relaxing exception-specification compatibility requirements Unknown - 1935 + 1935 CD5 Reuse of placement arguments in deallocation Unknown - 1936 + 1936 CD6 Dependent qualified-ids Unknown - 1937 + 1937 CD5 Incomplete specification of function pointer from lambda Unknown - 1938 + 1938 CD5 Should hosted/freestanding be implementation-defined? Unknown - 1939 + 1939 open Argument conversions to nondeduced parameter types revisited Not resolved - 1940 + 1940 CD4 static_assert in anonymous unions Yes - 1941 + 1941 CD4 SFINAE and inherited constructor default arguments Clang 3.9 - 1942 + 1942 CD4 Incorrect reference to trailing-return-type Unknown - 1943 + 1943 CD5 Unspecified meaning of “bit” Unknown - 1944 + 1944 open New C incompatibilities Not resolved - 1945 + 1945 open Friend declarations naming members of class templates in non-templates Not resolved - 1946 + 1946 CD4 exception-specifications vs pointer dereference Unknown - 1947 + 1947 NAD Digit separators following non-octal prefix Yes - 1948 + 1948 NAD exception-specification of replacement global new Yes - 1949 + 1949 CD4 “sequenced after” instead of “sequenced before” Unknown - 1950 + 1950 NAD Restructuring description of ranks of conversion sequences Unknown - 1951 + 1951 CD4 Cv-qualification and literal types Unknown - 1952 + 1952 CD4 Constant expressions and library undefined behavior Unknown - 1953 + 1953 open Data races and common initial sequence Not resolved - 1954 + 1954 open typeid null dereference check in subexpressions Not resolved - 1955 + 1955 CD4 #elif with invalid controlling expression Unknown - 1956 + 1956 CD4 Reuse of storage of automatic variables Unknown - 1957 + 1957 NAD decltype(auto) with direct-list-initialization Unknown - 1958 + 1958 CD4 decltype(auto) with parenthesized initializer Unknown - 1959 + 1959 CD4 Inadvertently inherited copy constructor Clang 3.9 - 1960 + 1960 NAD Visibility of entity named in class-scope using-declaration No - 1961 + 1961 C++17 Potentially-concurrent actions within a signal handler Unknown - 1962 + 1962 open Type of __func__ Not resolved - 1963 + 1963 CD4 Implementation-defined identifier characters Unknown - 1964 + 1964 NAD opaque-enum-declaration in alias-declaration? Unknown - 1965 + 1965 drafting Explicit casts to reference types Not resolved - 1966 + 1966 CD4 Colon following enumeration elaborated-type-specifier Clang 11 - 1967 + 1967 CD4 Temporary lifetime and move-elision Unknown - 1968 + 1968 NAD Address of typeid in constant expressions No - 1969 + 1969 CD6 Missing exclusion of ~S as an ordinary function name Unknown - 1970 + 1970 NAD Ambiguity resolution for (T())*x Unknown - 1971 + 1971 CD4 Unclear disambiguation of destructor and operator~ Unknown - 1972 + 1972 CD6 Identifier character restrictions in non-identifiers Unknown - 1973 + 1973 tentatively ready Which parameter-declaration-clause in a lambda-expression? Unknown - 1974 + 1974 NAD Redundant specification of non-type typename-specifier Unknown - 1975 + 1975 CD4 Permissible declarations for exception-specifications Unknown - 1976 + 1976 NAD Ambiguity of namespace-aliases Unknown - 1977 + 1977 drafting Contradictory results of failed destructor lookup Not resolved - 1978 + 1978 CD4 Redundant description of explicit constructor use Unknown - 1979 + 1979 drafting Alias template specialization in template member definition Not resolved - 1980 + 1980 drafting Equivalent but not functionally-equivalent redeclarations Not resolved - 1981 + 1981 CD4 Implicit contextual conversions and explicit Unknown - 1982 + 1982 NAD Deduction extending parameter pack Unknown - 1983 + 1983 CD5 Inappropriate use of virt-specifier Unknown - 1984 + 1984 NAD Lossless narrowing conversions Unknown - 1985 + 1985 NAD Unknown bound array member with brace-or-equal-initializer Unknown - 1986 + 1986 drafting odr-use and delayed initialization Not resolved - 1987 + 1987 NAD constexpr static data members across translation units Unknown - 1988 + 1988 CD4 Ambiguity between dependent and non-dependent bases in implicit member access Unknown - 1989 + 1989 drafting Insufficient restrictions on parameters of postfix operators Not resolved - 1990 + 1990 CD4 Ambiguity due to optional decl-specifier-seq Unknown - 1991 + 1991 CD4 Inheriting constructors vs default arguments Clang 3.9 - 1992 + 1992 CD4 new (std::nothrow) int[N] can throw Unknown - 1993 + 1993 drafting Use of template<> defining member of explicit specialization Not resolved - 1994 + 1994 dup Confusing wording regarding multiple template<> prefixes Duplicate of 529 - 1995 + 1995 CD4 exception-specifications and non-type template parameters Unknown - 1996 + 1996 drafting Reference list-initialization ignores conversion functions Not resolved - 1997 + 1997 drafting Placement new and previous initialization Not resolved - 1998 + 1998 NAD Additional sources of xvalue expressions Unknown - 1999 + 1999 CD4 Representation of source characters as universal-character-names Unknown - 2000 + 2000 CD4 header-name outside #include directive Unknown - 2001 + 2001 CD4 non-directive is underspecified Unknown - 2002 + 2002 open White space within preprocessing directives Not resolved - 2003 + 2003 drafting Zero-argument macros incorrectly specified Not resolved - 2004 + 2004 CD4 Unions with mutable members in constant expressions Unknown - 2005 + 2005 NAD Incorrect constexpr reference initialization requirements Unknown - 2006 + 2006 CD4 Cv-qualified void types Unknown - 2007 + 2007 CD6 Argument-dependent lookup for operator= Clang 3.4 - 2008 + 2008 CD4 Default template-arguments underspecified Unknown - 2009 + 2009 CD6 Unclear specification of class scope Unknown - 2010 + 2010 CD4 exception-specifications and conversion operators Unknown - 2011 + 2011 C++17 Unclear effect of reference capture of reference Unknown - 2012 + 2012 CD4 Lifetime of references Unknown - 2013 + 2013 drafting Pointer subtraction in large array Not resolved - 2014 + 2014 NAD Unneeded deallocation signatures Unknown - 2015 + 2015 CD4 odr-use of deleted virtual functions Unknown - 2016 + 2016 CD4 Confusing wording in description of conversion function Unknown - 2017 + 2017 CD4 Flowing off end is not equivalent to no-expression return Unknown - 2018 + 2018 drafting Qualification conversion vs reference binding Not resolved - 2019 + 2019 CD4 Member references omitted from description of storage duration Unknown - 2020 + 2020 CD5 Inadequate description of odr-use of implicitly-invoked functions Unknown - 2021 + 2021 dup Function template redeclaration via alias template Unknown - 2022 + 2022 CD4 Copy elision in constant expressions Unknown - 2023 + 2023 drafting Composite reference result type of conditional operator Not resolved - 2024 + 2024 CD4 Dependent types and unexpanded parameter packs Unknown - 2025 + 2025 dup Declaration matching via alias templates Unknown - 2026 + 2026 CD4 Zero-initialization and constexpr Clang 11 - 2027 + 2027 CD4 Unclear requirements for multiple alignas specifiers Unknown - 2028 + 2028 drafting Converting constructors in rvalue reference initialization Not resolved - 2029 + 2029 dup Abstract class return type in decltype operand Unknown - 2030 + 2030 NAD Access of injected-class-name with template arguments Unknown - 2031 + 2031 CD4 Missing incompatibility for && Unknown - 2032 + 2032 CD4 Default template-arguments of variable templates Unknown - 2033 + 2033 CD4 Redundant restriction on partial specialization argument Unknown - 2034 + 2034 NAD Deprecating uncaught_exception() Unknown - 2035 + 2035 CD3 Multi-section example is confusing Unknown - 2036 + 2036 NAD Refactoring parameters-and-qualifiers Unknown - 2037 + 2037 drafting Alias templates and template declaration matching Not resolved - 2038 + 2038 CD4 Document C++14 incompatibility of new braced deduction rule Unknown - 2039 + 2039 CD4 Constant conversions to bool Unknown - 2040 + 2040 CD4 trailing-return-type no longer ambiguous Unknown - 2041 + 2041 CD4 Namespace for explicit class template specialization Unknown - 2042 + 2042 drafting Exceptions and deallocation functions Not resolved - 2043 + 2043 drafting Generalized template arguments and array-to-pointer decay Not resolved - 2044 + 2044 CD4 decltype(auto) and void Unknown - 2045 + 2045 CD5 “Identical” template parameter lists Unknown - 2046 + 2046 C++17 Incomplete thread specifications Unknown - 2047 + 2047 CD4 Coordinating “throws anything” specifications Unknown - 2048 + 2048 open C-style casts that cast away constness vs static_cast Not resolved - 2049 + 2049 drafting List initializer in non-type template default argument Not resolved - 2050 + 2050 NAD Consolidate specification of linkage Unknown - 2051 + 2051 CD5 Simplifying alias rules Unknown - 2052 + 2052 CD4 Template argument deduction vs overloaded operators Unknown - 2053 + 2053 C++20 auto in non-generic lambdas Unknown - 2054 + 2054 review Missing description of class SFINAE Not resolved - 2055 + 2055 drafting Explicitly-specified non-deduced parameter packs Not resolved - 2056 + 2056 drafting Member function calls in partially-initialized class objects Not resolved - 2057 + 2057 drafting Template template arguments with default arguments Not resolved - 2058 + 2058 CD6 More errors from internal-linkage namespaces Unknown - 2059 + 2059 CD5 Linkage and deduced return types Unknown - 2060 + 2060 NAD Deduced return type for explicit specialization Unknown - 2061 + 2061 CD4 Inline namespace after simplifications Yes - 2062 + 2062 CD6 Class template redeclaration requirements Unknown - 2063 + 2063 CD4 Type/nontype hiding in class scope Unknown - 2064 + 2064 CD4 Conflicting specifications for dependent decltype-specifiers Unknown - 2065 + 2065 CD6 Current instantiation of a partial specialization Unknown - 2066 + 2066 CD4 Does type-dependent imply value-dependent? Unknown - 2067 + 2067 open Generated variadic templates requiring empty pack Not resolved - 2068 + 2068 CD4 When can/must a defaulted virtual destructor be defined? Unknown - 2069 + 2069 CD4 Do destructors have names? Unknown - 2070 + 2070 CD6 using-declaration with dependent nested-name-specifier Unknown - 2071 + 2071 CD4 typedef with no declarator Unknown - 2072 + 2072 DR Default argument instantiation for member functions of templates Unknown - 2073 + 2073 drafting Allocating memory for exception objects Not resolved - 2074 + 2074 drafting Type-dependence of local class of function template Not resolved - 2075 + 2075 CD4 Passing short initializer lists to array reference parameters Unknown - 2076 + 2076 CD4 List-initialization of arguments for constructor parameters Clang 13 - 2077 + 2077 drafting Overload resolution and invalid rvalue-reference initialization Not resolved - 2078 + 2078 NAD Name lookup of mem-initilizer-id Unknown - 2079 + 2079 CD4 [[ appearing in a balanced-token-seq Unknown - 2080 + 2080 CD5 Example with empty anonymous union member Unknown - 2081 + 2081 CD5 Deduced return type in redeclaration or specialization of function template Unknown - 2082 + 2082 CD4 Referring to parameters in unevaluated operands of default arguments Clang 11 - 2083 + 2083 CD5 Incorrect cases of odr-use Partial - 2084 + 2084 CD4 NSDMIs and deleted union default constructors Unknown - 2085 + 2085 CD4 Invalid example of adding special member function via default argument Unknown - 2086 + 2086 drafting Reference odr-use vs implicit capture Not resolved - 2087 + 2087 NAD Left shift of negative value by zero bits Unknown - 2088 + 2088 CD5 Late tiebreakers in partial ordering Unknown - 2089 + 2089 drafting Restricting selection of builtin overloaded operators Not resolved - 2090 + 2090 drafting Dependency via non-dependent base class Not resolved - 2091 + 2091 CD4 Deducing reference non-type template arguments Unknown - 2092 + 2092 CD5 Deduction failure and overload resolution Unknown - 2093 + 2093 CD4 Qualification conversion for pointer-to-member handler matching Unknown - 2094 + 2094 C++17 Trivial copy/move constructor for class with volatile member Clang 5 - 2095 + 2095 CD4 Capturing rvalue references to functions by copy Unknown - 2096 + 2096 CD4 Constraints on literal unions Unknown - 2097 + 2097 extension Lambdas and noreturn attribute Extension - 2098 + 2098 CD4 Is uncaught_exceptions() per-thread? Unknown - 2099 + 2099 CD4 Inferring the bound of an array static data member Unknown - 2100 + 2100 C++17 Value-dependent address of static data member of class template Clang 12 - 2101 + 2101 CD4 Incorrect description of type- and value-dependence Unknown - 2102 + 2102 drafting Constructor checking in new-expression Not resolved - 2103 + 2103 CD5 Lvalue-to-rvalue conversion is irrelevant in odr-use of a reference Yes - 2104 + 2104 CD4 Internal-linkage constexpr references and ODR requirements Unknown - 2105 + 2105 open When do the arguments for a parameter pack end? Not resolved - 2106 + 2106 CD4 Unclear restrictions on use of function-type template arguments Unknown - 2107 + 2107 CD4 Lifetime of temporaries for default arguments in array copying Unknown - 2108 + 2108 drafting Conversions to non-class prvalues in reference initialization Not resolved - 2109 + 2109 CD4 Value dependence underspecified Unknown - 2110 + 2110 drafting Overload resolution for base class conversion and reference/non-reference Not resolved - 2111 + 2111 NAD Array temporaries in reference binding Unknown - 2112 + 2112 CD5 new auto{x} Unknown - 2113 + 2113 CD4 Incompete specification of types for declarators Unknown - 2114 + 2114 CD3 Missing description of incompatibility from aggregate NSDMIs Unknown - 2115 + 2115 drafting Order of implicit destruction vs release of automatic storage Not resolved - 2116 + 2116 C++17 Direct or copy initialization for omitted aggregate initializers Unknown - 2117 + 2117 drafting Explicit specializations and constexpr function templates Not resolved - 2118 + 2118 open Stateful metaprogramming via friend injection Not resolved - 2119 + 2119 NAD Disambiguation of multi-level covariant return type Unknown - 2120 + 2120 CD4 Array as first non-static data member in standard-layout class Clang 7 - 2121 + 2121 CD6 More flexible lambda syntax Unknown - 2122 + 2122 CD4 Glvalues of void type Unknown - 2123 + 2123 open Omitted constant initialization of local static variables Not resolved - 2124 + 2124 CD4 Signature of constructor template Unknown - 2125 + 2125 NAD Copy elision and comma operator Unknown - 2126 + 2126 C++20 Lifetime-extended temporaries in constant expressions Clang 12 - 2127 + 2127 drafting Partial specialization and nullptr Not resolved - 2128 + 2128 drafting Imprecise rule for reference member initializer Not resolved - 2129 + 2129 CD4 Non-object prvalues and constant expressions Unknown - 2130 + 2130 CD4 Over-aligned types in new-expressions Unknown - 2131 + 2131 drafting Ambiguity with opaque-enum-declaration Not resolved - 2132 + 2132 NAD Deprecated default generated copy constructors Unknown - 2133 + 2133 CD5 Converting std::nullptr_t to bool Unknown - 2134 + 2134 NAD Objectless references to non-static member functions Unknown - 2135 + 2135 NAD mem-initializers for virtual bases of abstract classes Unknown - 2136 + 2136 NAD Argument-dependent lookup and initializer lists Unknown - 2137 + 2137 CD4 List-initialization from object of same type Unknown - 2138 + 2138 NAD Explicit member specialization vs implicit instantiation Unknown - 2139 + 2139 NAD Floating-point requirements for integer representation Unknown - 2140 + 2140 CD4 Lvalue-to-rvalue conversion of std::nullptr_t Clang 9 - 2141 + 2141 CD4 Ambiguity in new-expression with elaborated-type-specifier Unknown - 2142 + 2142 NAD Missing definition of associated classes and namespaces Unknown - 2143 + 2143 C++17 Value-dependency via injected-class-name Unknown - 2144 + 2144 drafting Function/variable declaration ambiguity Not resolved - 2145 + 2145 CD4 Parenthesized declarator in function definition Unknown - 2146 + 2146 CD4 Scalar object vs memory location in definition of “unsequenced” Unknown - 2147 + 2147 CD4 Initializer-list arguments and pack deduction Unknown - 2148 + 2148 drafting Thread storage duration and order of initialization Not resolved - 2149 + 2149 drafting Brace elision and array length deduction Not resolved - 2150 + 2150 CD3 Initializer list array lifetime Unknown - 2151 + 2151 CD4 Exception object is not created Unknown - 2152 + 2152 NAD Can an alternative token be used as a ud-suffix? Unknown - 2153 + 2153 CD4 pure-specifier in friend declaration Unknown - 2154 + 2154 CD4 Ambiguity of pure-specifier Unknown - 2155 + 2155 C++17 Defining classes and enumerations via using-declarations Unknown - 2156 + 2156 CD4 Definition of enumeration declared by using-declaration Unknown - 2157 + 2157 CD4 Further disambiguation of enumeration elaborated-type-specifier Clang 11 - 2158 + 2158 drafting Polymorphic behavior during destruction Not resolved - 2159 + 2159 NAD Lambda capture and local thread_local variables Unknown - 2160 + 2160 open Issues with partial ordering Not resolved - 2161 + 2161 NAD Explicit instantiation declaration and “preceding initialization” Unknown - 2162 + 2162 CD3 Capturing this by reference Unknown - 2163 + 2163 CD4 Labels in constexpr functions Unknown - 2164 + 2164 CD5 Name hiding and using-directives Unknown - 2165 + 2165 CD6 Namespaces, declarative regions, and translation units N/A - 2166 + 2166 drafting Unclear meaning of “undefined constexpr function” Not resolved - 2167 + 2167 CD4 Non-member references with lifetimes within the current evaluation Unknown - 2168 + 2168 open Narrowing conversions and +/- infinity Not resolved - 2169 + 2169 open Narrowing conversions and overload resolution Not resolved - 2170 + 2170 CD5 Unclear definition of odr-use for arrays Clang 9 - 2171 + 2171 CD4 Triviality of copy constructor with less-qualified parameter Clang 15 - 2172 + 2172 drafting Multiple exceptions with one exception object Not resolved - 2173 + 2173 open Partial specialization with non-deduced contexts Not resolved - 2174 + 2174 C++17 Unclear rules for friend definitions in templates Unknown - 2175 + 2175 CD4 Ambiguity with attribute in conversion operator declaration Unknown - 2176 + 2176 CD4 Destroying the returned object when a destructor throws Unknown - 2177 + 2177 CD5 Placement operator delete and parameter copies Unknown - 2178 + 2178 NAD Substitution of dependent template arguments in default template arguments Unknown - 2179 + 2179 drafting Required diagnostic for partial specialization after first use Not resolved - 2180 + 2180 CD4 Virtual bases in destructors and defaulted assignment operators Yes - 2181 + 2181 drafting Normative requirements in an informative Annex Not resolved - 2182 + 2182 drafting Pointer arithmetic in array-like containers Not resolved - 2183 + 2183 NAD Problems in description of potential exceptions Unknown - 2184 + 2184 CD4 Missing C compatibility entry for decrement of bool Unknown - 2185 + 2185 CD6 Cv-qualified numeric types Unknown - 2186 + 2186 drafting Unclear point that “preceding initialization” must precede Not resolved - 2187 + 2187 drafting Protected members and access via qualified-id Not resolved - 2188 + 2188 open empty-declaration grammar ambiguity Not resolved - 2189 + 2189 open Surrogate call template Not resolved - 2190 + 2190 open Insufficient specification of __has_include Not resolved - 2191 + 2191 C++17 Incorrect result for noexcept(typeid(v)) Unknown - 2192 + 2192 open Constant expressions and order-of-eval undefined behavior Not resolved - 2193 + 2193 NAD numeric_limits<int>::radix and digits Unknown - 2194 + 2194 drafting Impossible case in list initialization Not resolved - 2195 + 2195 open Unsolicited reading of trailing volatile members Not resolved - 2196 + 2196 C++17 Zero-initialization with virtual base classes Unknown - 2197 + 2197 C++17 Overload resolution and deleted special member functions Unknown - 2198 + 2198 C++17 Linkage of enumerators Unknown - 2199 + 2199 CD6 Typedefs and tags Unknown - 2200 + 2200 NAD Conversions in template argument deduction Unknown - 2201 + 2201 C++17 Cv-qualification of array types Unknown - 2202 + 2202 drafting When does default argument instantiation occur? Not resolved - 2203 + 2203 drafting Defaulted copy/move constructors and UDCs Not resolved - 2204 + 2204 NAD Naming delegated constructors Unknown - 2205 + 2205 C++17 Restrictions on use of alignas Unknown - 2206 + 2206 C++17 Composite type of object and function pointers Unknown - 2207 + 2207 CD5 Alignment of allocation function return value Unknown - 2208 + 2208 NAD static_assert-declaration does not declare a member Unknown - 2209 + 2209 NAD Destruction of constructed array elements Unknown - 2210 + 2210 NAD Principal/target constructor confusion Unknown - 2211 + 2211 C++17 Hiding by lambda captures and parameters Clang 8 - 2212 + 2212 CD5 Typedef changing linkage after use Unknown - 2213 + 2213 CD6 Forward declaration of partial specializations Unknown - 2214 + 2214 C++17 Missing requirement on representation of integer values Unknown - 2215 + 2215 C++17 Redundant description of language linkage in function call Unknown - 2216 + 2216 NAD Exception specifications in unevaluated contexts Unknown - 2217 + 2217 NAD constexpr constructors for non-literal types Unknown - 2218 + 2218 C++17 Ambiguity and namespace aliases Unknown - 2219 + 2219 drafting Dynamically-unreachable handlers Not resolved - 2220 + 2220 C++17 Hiding index variable in range-based for Unknown - 2221 + 2221 CD6 Copying volatile objects Unknown - 2222 + 2222 drafting Additional contexts where instantiation is not required Not resolved - 2223 + 2223 drafting Multiple alignas specifiers Not resolved - 2224 + 2224 C++17 Member subobjects and base-class casts Unknown - 2225 + 2225 NAD reinterpret_cast to same floating-point type Unknown - 2226 + 2226 CD5 Xvalues vs lvalues in conditional expressions Unknown - 2227 + 2227 CD5 Destructor access and default member initializers Unknown - 2228 + 2228 open Ambiguity resolution for cast to function type Not resolved - 2229 + 2229 CD5 Volatile unnamed bit-fields Clang 7 - 2230 + 2230 NAD Linkage of extern "C" function in unnamed namespace Unknown - 2231 + 2231 NAD Class member access to static data member template Unknown - 2232 + 2232 open thread_local anonymous unions Not resolved - 2233 + 2233 CD5 Function parameter packs following default arguments Clang 11 - 2234 + 2234 CD5 Missing rules for simple-template-id as class-name Unknown - 2235 + 2235 CD5 Partial ordering and non-dependent types Unknown - 2236 + 2236 drafting When is an alias template specialization dependent? Not resolved - 2237 + 2237 CD5 Can a template-id name a constructor? Unknown - 2238 + 2238 NAD Contradictory alignment requirements for allocation Unknown - 2239 + 2239 NAD Sized deallocation with a trivial destructor Unknown - 2240 + 2240 NAD this is not odr-used in a constant expression Unknown - 2241 + 2241 CD5 Overload resolution is not invoked with a single function Unknown - 2242 + 2242 DRWP ODR violation with constant initialization possibly omitted Unknown - 2243 + 2243 drafting Incorrect use of implicit conversion sequence Not resolved - 2244 + 2244 open Base class access in aggregate initialization Not resolved - 2245 + 2245 drafting Point of instantiation of incomplete class template Not resolved - 2246 + 2246 drafting Access of indirect virtual base class constructors Not resolved - 2247 + 2247 C++17 Lambda capture and variable argument list Unknown - 2248 + 2248 C++17 Problems with sized delete Unknown - 2249 + 2249 CD5 identifiers and id-expressions Unknown - 2250 + 2250 open Implicit instantiation, destruction, and TUs Not resolved - 2251 + 2251 C++17 Unreachable enumeration list-initialization Unknown - 2252 + 2252 review Enumeration list-initialization from the same type Not resolved - 2253 + 2253 CD5 Unnamed bit-fields and zero-initialization Unknown - 2254 + 2254 CD5 Standard-layout classes and bit-fields Unknown - 2255 + 2255 CD5 Instantiated static data member templates Unknown - 2256 + 2256 CD5 Lifetime of trivially-destructible objects Unknown - 2257 + 2257 CD5 Lifetime extension of references vs exceptions Unknown - 2258 + 2258 open Storage deallocation during period of destruction Not resolved - 2259 + 2259 C++17 Unclear context describing ambiguity Unknown - 2260 + 2260 CD5 Explicit specializations of deleted member functions Unknown - 2261 + 2261 extension Explicit instantiation of in-class friend definition Extension - 2262 + 2262 C++17 Attributes for asm-definition Unknown - 2263 + 2263 drafting Default argument instantiation for friends Not resolved - 2264 + 2264 drafting Memberwise copying with indeterminate value Not resolved - 2265 + 2265 drafting Delayed pack expansion and member redeclarations Not resolved - 2266 + 2266 CD5 Has dependent type vs is type-dependent Unknown - 2267 + 2267 CD5 Copy-initialization of temporary in reference direct-initialization Unknown - 2268 + 2268 C++17 Unions with mutable members in constant expressions revisited Unknown - 2269 + 2269 dup Additional recursive references in aggregate DMIs Unknown - 2270 + 2270 NAD Non-inline functions and explicit instantiation declarations Unknown - 2271 + 2271 C++17 Aliasing this Unknown - 2272 + 2272 C++17 Implicit initialization of aggregate members of reference type Unknown - 2273 + 2273 CD5 Inheriting constructors vs implicit default constructor Unknown - 2274 + 2274 NAD Generic lambda capture vs constexpr if Unknown - 2275 + 2275 drafting Type-dependence of function template Not resolved - 2276 + 2276 C++17 Dependent noexcept and function type-dependence Unknown - 2277 + 2277 CD5 Ambiguity inheriting constructors with default arguments Unknown - 2278 + 2278 CD5 Copy elision in constant expressions reconsidered Unknown - 2279 + 2279 NAD Multiple attribute-specifiers in one attribute-list Unknown - 2280 + 2280 C++20 Matching a usual deallocation function with placement new Unknown - 2281 + 2281 drafting Consistency of aligned operator delete replacement Not resolved - 2282 + 2282 C++20 Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions Unknown - 2283 + 2283 drafting Missing complete type requirements Not resolved - 2284 + 2284 open Sequencing of braced-init-list arguments Not resolved - 2285 + 2285 CD5 Issues with structured bindings Unknown - 2286 + 2286 NAD Assignment evaluation order Unknown - 2287 + 2287 CD5 Pointer-interconvertibility in non-standard-layout unions Unknown - 2288 + 2288 NAD Contradictory optionality in simple-declaration Unknown - 2289 + 2289 CD5 Uniqueness of structured binding names Unknown - 2290 + 2290 CD5 Unclear specification for overload resolution and deleted special member functions Unknown - 2291 + 2291 dup Implicit conversion sequences in non-call contexts Unknown - 2292 + 2292 CD5 simple-template-id is ambiguous between class-name and type-name Clang 9 - 2293 + 2293 CD5 Requirements for simple-template-id used as a class-name Unknown - 2294 + 2294 CD5 Dependent auto static data members Unknown - 2295 + 2295 CD5 Aggregates with deleted defaulted constructors Unknown - 2296 + 2296 open Are default argument instantiation failures in the “immediate context”? Not resolved - 2297 + 2297 open Unclear specification of atomic operations Not resolved - 2298 + 2298 open Actions and expression evaluation Not resolved - 2299 + 2299 CD5 constexpr vararg functions Unknown - 2300 + 2300 CD5 Lambdas in multiple definitions Unknown - 2301 + 2301 open Value-initialization and constexpr constructor evaluation Not resolved - 2302 + 2302 NAD Address comparison between different member subobjects Unknown - 2303 + 2303 CD5 Partial ordering and recursive variadic inheritance Clang 12 - 2304 + 2304 NAD Incomplete type vs overload resolution Unknown - 2305 + 2305 CD5 Explicit instantiation of constexpr or inline variable template Unknown - 2306 + 2306 NAD Nested friend templates of class templates Unknown - 2307 + 2307 CD5 Unclear definition of “equivalent to a nontype template parameter” Unknown - 2308 + 2308 NAD Structured bindings and lambda capture Unknown - 2309 + 2309 CD5 Restrictions on nested statements within constexpr functions Unknown - 2310 + 2310 CD5 Type completeness and derived-to-base pointer conversions Unknown - 2311 + 2311 open Missed case for guaranteed copy elision Not resolved - 2312 + 2312 CD6 Structured bindings and mutable Unknown - 2313 + 2313 CD5 Redeclaration of structured binding reference variables Unknown - 2314 + 2314 dup Structured bindings and lambda capture Unknown - 2315 + 2315 CD5 What is the “corresponding special member” of a variant member? Unknown - 2316 + 2316 drafting Simplifying class conversions in conditional expressions Not resolved - 2317 + 2317 CD5 Self-referential default member initializers Unknown - 2318 + 2318 CD5 Nondeduced contexts in deduction from a braced-init-list Unknown - 2319 + 2319 drafting Nested brace initialization from same type Not resolved - 2320 + 2320 extension constexpr if and boolean conversions Extension - 2321 + 2321 CD5 Conditional operator and cv-qualified class prvalues Unknown - 2322 + 2322 CD5 Substitution failure and lexical order Unknown - 2323 + 2323 C++20 Expunge POD Unknown - 2324 + 2324 drafting Size of base class subobject Not resolved - 2325 + 2325 drafting std::launder and reuse of character buffers Not resolved - 2326 + 2326 dup Type deduction with initializer list containing ambiguous functions Unknown - 2327 + 2327 drafting Copy elision for direct-initialization with a conversion function Not resolved - 2328 + 2328 drafting Unclear presentation style of template argument deduction rules Not resolved - 2329 + 2329 drafting Virtual base classes and generated assignment operators Not resolved - 2330 + 2330 CD5 Missing references to variable templates Unknown - 2331 + 2331 CD6 Redundancy in description of class scope Unknown - 2332 + 2332 CD5 template-name as simple-type-name vs injected-class-name Unknown - 2333 + 2333 CD6 Escape sequences in UTF-8 character literals Unknown - 2334 + 2334 open Creation of objects by typeid Not resolved - 2335 + 2335 drafting Deduced return types vs member types Not resolved - 2336 + 2336 CD5 Destructor characteristics vs potentially-constructed subobjects Unknown - 2337 + 2337 open Incorrect implication of logic ladder for conversion sequence tiebreakers Not resolved - 2338 + 2338 CD5 Undefined behavior converting to short enums with fixed underlying types Clang 12 - 2339 + 2339 CD5 Underspecified template arguments in structured bindings Unknown - 2340 + 2340 open Reference collapsing and structured bindings Not resolved - 2341 + 2341 CD5 Structured bindings with static storage duration Unknown - 2342 + 2342 CD5 Reference reinterpret_cast and pointer-interconvertibility Unknown - 2343 + 2343 C++20 void* non-type template parameters Unknown - 2344 + 2344 NAD Redeclaration of names in init-statements Unknown - 2345 + 2345 CD5 Jumping across initializers in init-statements and conditions Unknown - 2346 + 2346 CD5 Local variables in default arguments Clang 11 - 2347 + 2347 C++20 Passing short scoped enumerations to ellipsis Unknown - 2348 + 2348 NAD Non-templated constexpr if Unknown - 2349 + 2349 NAD Class/enumeration names vs conditions Unknown - 2350 + 2350 NAD Forwarding references and deduction guides Unknown - 2351 + 2351 CD5 void{} Unknown - 2352 + 2352 CD5 Similar types and reference binding Clang 10 - 2353 + 2353 CD5 Potential results of a member access expression for a static data member Clang 9 - 2354 + 2354 CD5 Extended alignment and object representation Clang 15 - 2355 + 2355 CD6 Deducing noexcept-specifiers Unknown - 2356 + 2356 CD5 Base class copy and move constructors should not be inherited Unknown - 2357 + 2357 NAD Lookup in member function declarations Unknown - 2358 + 2358 CD5 Explicit capture of value Clang 16 - 2359 + 2359 CD5 Unintended copy initialization with designated initializers Unknown - 2360 + 2360 CD5 [[maybe_unused]] and structured bindings Unknown - 2361 + 2361 open Unclear description of longjmp undefined behavior Not resolved - 2362 + 2362 open __func__ should be constexpr Not resolved - 2363 + 2363 NAD Opaque enumeration friend declarations Unknown - 2364 + 2364 NAD Constant expressions, aggregate initialization, and modifications Unknown - 2365 + 2365 CD5 Confusing specification for dynamic_cast Unknown - 2366 + 2366 CD5 Can default initialization be constant initialization? Unknown - 2367 + 2367 NAD Lambdas in default arguments vs the ODR Unknown - 2368 + 2368 CD5 Differences in relational and three-way constant comparisons Unknown - 2369 + 2369 CD6 Ordering between constraints and substitution Unknown - 2370 + 2370 CD6 friend declarations of namespace-scope functions No - 2371 + 2371 CD5 Use of the English term “attributes” is confusing Unknown - 2372 + 2372 CD5 Incorrect matching rules for block-scope extern declarations Unknown - 2373 + 2373 CD5 Incorrect handling of static member function templates in partial ordering Unknown - 2374 + 2374 C++20 Overly permissive specification of enum direct-list-initialization Unknown - 2375 + 2375 NAD Multiple redeclarations of constexpr static data members Unknown - 2376 + 2376 CD5 Class template argument deduction with array declarator Unknown - 2377 + 2377 NAD Explicit copy constructor vs function viability Unknown - 2378 + 2378 C++20 Inconsistent grammar for reference init-capture of pack Unknown - 2379 + 2379 CD5 Missing prohibition against constexpr in friend declaration Unknown - 2380 + 2380 CD5 capture-default makes too many references odr-usable Unknown - 2381 + 2381 CD5 Composite pointer type of pointers to plain and noexcept member functions Unknown - 2382 + 2382 CD5 Array allocation overhead for non-allocating placement new Unknown - 2383 + 2383 NAD Variadic member functions of variadic class templates Unknown - 2384 + 2384 CD5 Conversion function templates and qualification conversions Unknown - 2385 + 2385 CD5 Lookup for conversion-function-ids N/A - 2386 + 2386 CD5 tuple_size requirements for structured binding Clang 9 - 2387 + 2387 CD5 Linkage of const-qualified variable template Clang 9 - 2388 + 2388 NAD Applicability of contract-attribute-specifiers Unknown - 2389 + 2389 CD6 Agreement of deduced and explicitly-specified variable types Unknown - 2390 + 2390 CD5 Is the argument of __has_cpp_attribute macro-expanded? Yes - 2391 + 2391 dup Additional template parameters following pack expansion Unknown - 2392 + 2392 DRWP new-expression size check and constant evaluation Unknown - 2393 + 2393 NAD Pseudo-destructors and object lifetime Unknown - 2394 + 2394 CD5 Const-default-constructible for members Clang 15 - 2395 + 2395 drafting Parameters following a pack expansion Not resolved - 2396 + 2396 CD6 Lookup of names in complex conversion-type-ids No - 2397 + 2397 CD6 auto specifier for pointers and references to arrays Clang 17 - 2398 + 2398 drafting Template template parameter matching and deduction Not resolved - 2399 + 2399 CD5 Unclear referent of “expression” in assignment-expression Unknown - 2400 + 2400 CD5 Constexpr virtual functions and temporary objects Unknown - 2401 + 2401 drafting Array decay vs prohibition of subobject non-type arguments Not resolved - 2402 + 2402 CD6 When is the restriction to a single c-char in a Unicode literal enforced? Unknown - 2403 + 2403 drafting Temporary materialization and base/member initialization Not resolved - 2404 + 2404 CD5 [[no_unique_address]] and allocation order Unknown - 2405 + 2405 CD6 Additional type-dependent expressions Unknown - 2406 + 2406 CD5 [[fallthrough]] attribute and iteration statements Yes - 2407 + 2407 DRWP Missing entry in Annex C for defaulted comparison operators Unknown - 2408 + 2408 NAD Temporaries and previously-initialized elements in aggregate initialization Unknown - 2409 + 2409 drafting Explicit specializations of constexpr static data members Not resolved - 2410 + 2410 DRWP Implicit calls of immediate functions Unknown - 2411 + 2411 C++20 Comparison of pointers to members in template non-type arguments Unknown - 2412 + 2412 review SFINAE vs undeduced placeholder type Not resolved - 2413 + 2413 CD6 typename in conversion-function-ids Unknown - 2414 + 2414 C++20 Unclear results if both member and friend operator<=> are declared Unknown - 2415 + 2415 NAD using-declarations vs copy assignment operators Unknown - 2416 + 2416 C++20 Explicit specializations vs constexpr and consteval Unknown - 2417 + 2417 open Explicit instantiation and exception specifications Not resolved - 2418 + 2418 CD5 Missing cases in definition of “usable in constant expressions” Unknown - 2419 + 2419 C++20 Loss of generality treating pointers to objects as one-element arrays Unknown - 2420 + 2420 dup Exception specifications in explicit instantiation Unknown - 2421 + 2421 drafting Explicit instantiation of constrained member functions Not resolved - 2422 + 2422 C++20 Incorrect grammar for deduction-guide Unknown - 2423 + 2423 NAD Typedefs, names, and entities Unknown - 2424 + 2424 C++20 constexpr initialization requirements for variant members Unknown - 2425 + 2425 open Confusing wording for deduction from a type Not resolved - 2426 + 2426 C++20 Reference to destructor that cannot be invoked Unknown - 2427 + 2427 C++20 Deprecation of volatile operands and unevaluated contexts Unknown - 2428 + 2428 DRWP Deprecating a concept Unknown - 2429 + 2429 C++20 Initialization of thread_local variables referenced by lambdas Unknown - 2430 + 2430 C++20 Completeness of return and parameter types of member functions Unknown - 2431 + 2431 C++20 Full-expressions and temporaries bound to references Unknown - 2432 + 2432 C++20 Return types for defaulted <=> Unknown - 2433 + 2433 C++20 Variable templates in the ODR Unknown - 2434 + 2434 open Mandatory copy elision vs non-class objects Not resolved - 2435 + 2435 open Alias template specializations Not resolved - 2436 + 2436 C++20 Copy semantics of coroutine parameters Unknown - 2437 + 2437 C++20 Conversion of std::strong_ordering in a defaulted operator<=> Unknown - 2438 + 2438 open Problems in the specification of qualification conversions Not resolved - 2439 + 2439 C++20 Undefined term in definition of “usable in constant expressions” Unknown - 2440 + 2440 DRWP Allocation in core constant expressions Unknown - 2441 + 2441 C++20 Inline function parameters Unknown - 2442 + 2442 C++20 Incorrect requirement for default arguments Unknown - 2443 + 2443 DRWP Meaningless template exports Unknown - 2444 + 2444 drafting Constant expressions in initialization odr-use Not resolved - 2445 + 2445 C++20 Partial ordering with rewritten candidates Unknown - 2446 + 2446 C++20 Questionable type-dependency of concept-ids Unknown - 2447 + 2447 C++20 Unintended description of abbreviated function templates Unknown - 2448 + 2448 CD6 Cv-qualification of arithmetic types and deprecation of volatile Unknown - 2449 + 2449 extension Thunks as an implementation technique for pointers to virtual functions Extension - 2450 + 2450 drafting braced-init-list as a template-argument Not resolved - 2451 + 2451 DRWP promise.unhandled_exception() and final suspend point Unknown - 2452 + 2452 CD6 Flowing off the end of a coroutine Unknown - 2453 + 2453 NAD Deduced return types and coroutine lambdas Unknown - 2454 + 2454 NAD Tail recursion and coroutine symmetric transfer Unknown - 2455 + 2455 CD6 Concatenation of string literals vs translation phases 5 and 6 Unknown - 2456 + 2456 open Viable user-defined conversions in converted constant expressions Not resolved - 2457 + 2457 CD6 Unexpanded parameter packs don't make a function type dependent Unknown - 2458 + 2458 CD6 Value category of expressions denoting non-static member functions Unknown - 2459 + 2459 drafting Template parameter initialization Not resolved - 2460 + 2460 CD6 C language linkage and constrained non-template friends Unknown - 2461 + 2461 CD6 Diagnosing non-bool type constraints Unknown - 2462 + 2462 drafting Problems with the omission of the typename keyword Not resolved - 2463 + 2463 open Trivial copyability and unions with non-trivial members Not resolved - 2464 + 2464 CD6 Constexpr launder and unions Unknown - 2465 + 2465 CD6 Coroutine parameters passed to a promise constructor Unknown - 2466 + 2466 CD6 co_await should be a single evaluation Unknown - 2467 + 2467 drafting CTAD for alias templates and the deducible check Not resolved - 2468 + 2468 drafting Omission of the typename keyword in a member template parameter list Not resolved - 2469 + 2469 drafting Implicit object creation vs constant expressions Not resolved - 2470 + 2470 CD6 Multiple array objects providing storage for one object Unknown - 2471 + 2471 drafting Nested class template argument deduction Not resolved - 2472 + 2472 NAD Value categories in await-expressions Unknown - 2473 + 2473 drafting Parentheses in pseudo-destructor calls Not resolved - 2474 + 2474 CD6 Cv-qualification and deletion Unknown - 2475 + 2475 DR Object declarations of type cv void Unknown - 2476 + 2476 tentatively ready placeholder-type-specifiers and function declarators Unknown - 2477 + 2477 CD6 Defaulted vs deleted copy constructors/assignment operators Unknown - 2478 + 2478 DR Properties of explicit specializations of implicitly-instantiated class templates Unknown - 2479 + 2479 CD6 Missing specifications for consteval and constinit Unknown - 2480 + 2480 drafting Lookup for enumerators in modules Not resolved - 2481 + 2481 CD6 Cv-qualification of temporary to which a reference is bound Unknown - 2482 + 2482 CD6 bit_cast and indeterminate values Unknown - 2483 + 2483 DR Language linkage of static member functions Unknown - 2484 + 2484 CD6 char8_t and char16_t in integral promotions Unknown - 2485 + 2485 tentatively ready Bit-fields in integral promotions Unknown - 2486 + 2486 CD6 Call to noexcept function via noexcept(false) pointer/lvalue Unknown - 2487 + 2487 drafting Type dependence of function-style cast to incomplete array type Not resolved - 2488 + 2488 open Overloading virtual functions and functions with trailing requires-clauses Not resolved - 2489 + 2489 DR Storage provided by array of char Unknown - 2490 + 2490 CD6 Restrictions on destruction in constant expressions Unknown - 2491 + 2491 CD6 Export of typedef after its first declaration Unknown - 2492 + 2492 review Comparing user-defined conversion sequences in list-initialization Not resolved - 2493 + 2493 dup auto as a conversion-type-id Unknown - 2494 + 2494 CD6 Multiple definitions of non-odr-used entities Unknown - 2495 + 2495 open Glvalue result of a function call Not resolved - 2496 + 2496 CD6 ref-qualifiers and virtual overriding Unknown - 2497 + 2497 drafting Points of instantiation for constexpr function templates Not resolved - 2498 + 2498 open Partial specialization failure and the immediate context Not resolved - 2499 + 2499 CD6 Inconsistency in definition of pointer-interconvertibility Unknown - 2500 + 2500 extension noexcept(false) functions and noexcept expressions Extension - 2501 + 2501 drafting Explicit instantiation and trailing requires-clauses Not resolved - 2502 + 2502 CD6 Unintended declaration conflicts in nested statement scopes Unknown - 2503 + 2503 drafting Unclear relationship among name, qualified name, and unqualified name Not resolved - 2504 + 2504 review Inheriting constructors from virtual base classes Not resolved - 2505 + 2505 drafting Nested unnamed namespace of inline unnamed namespace Not resolved - 2506 + 2506 CD6 Structured bindings and array cv-qualifiers Unknown - 2507 + 2507 CD6 Default arguments for operator[] Unknown - 2508 + 2508 DRWP Restrictions on uses of template parameter names Unknown - 2509 + 2509 CD6 decl-specifier-seq in lambda-specifiers Unknown - 2510 + 2510 NAD noexcept-specifier of friend function vs class completeness Unknown - 2511 + 2511 CD6 cv-qualified bit-fields Unknown - 2512 + 2512 NAD typeid and incomplete class types Unknown - 2513 + 2513 open Ambiguity with requires-clause and operator-function-id Not resolved - 2514 + 2514 review Modifying const subobjects Not resolved - 2515 + 2515 open Result of a function call Not resolved - 2516 + 2516 DR Locus of enum-specifier or opaque-enum-declaration Unknown - 2517 + 2517 DR Useless restriction on use of parameter in constraint-expression Unknown - 2518 + 2518 DR Conformance requirements and #error/#warning Clang 17 - 2519 + 2519 tentatively ready Object representation of a bit-field Unknown - 2520 + 2520 DR Template signature and default template arguments Unknown - 2521 + 2521 DR User-defined literals and reserved identifiers Unknown - 2522 + 2522 open Removing placemarker tokens and retention of whitespace Not resolved - 2523 + 2523 DR Undefined behavior via omitted destructor call in constant expressions Unknown - 2524 + 2524 NAD Distinguishing user-defined conversion sequences by ref-qualifier Unknown - 2525 + 2525 drafting Incorrect definition of implicit conversion sequence Not resolved - 2526 + 2526 DR Relational comparison of void* pointers Unknown - 2527 + 2527 NAD Non-class potentially-overlapping objects Unknown - 2528 + 2528 DR Three-way comparison and the usual arithmetic conversions Unknown - 2529 + 2529 DR Constant destruction of constexpr references Unknown - 2530 + 2530 DR Multiple definitions of enumerators Unknown - 2531 + 2531 review Static data members redeclared as constexpr Not resolved - 2532 + 2532 open Kind of pointer value returned by new T[0] Not resolved - 2533 + 2533 drafting Storage duration of implicitly created objects Not resolved - 2534 + 2534 CD6 Value category of pseudo-destructor expression Unknown - 2535 + 2535 CD6 Type punning in class member access Unknown - 2536 + 2536 open Partially initialized variables during constant initialization Not resolved - 2537 + 2537 drafting Overbroad grammar for parameter-declaration Not resolved - 2538 + 2538 DRWP Can standard attributes be syntactically ignored? Unknown - 2539 + 2539 DR Three-way comparison requiring strong ordering for floating-point types Unknown - 2540 + 2540 CD6 Unspecified interpretation of numeric-escape-sequence Unknown - 2541 + 2541 open Linkage specifications, module purview, and module attachment Not resolved - 2542 + 2542 drafting Is a closure type a structural type? Not resolved - 2543 + 2543 DR constinit and optimized dynamic initialization Unknown - 2544 + 2544 open Address of past-the-end of a potentially-overlapping subobject Not resolved - 2545 + 2545 open Transparently replacing objects in constant expressions Not resolved - 2546 + 2546 open Defaulted secondary comparison operators defined as deleted Not resolved - 2547 + 2547 open Defaulted comparison operator function for non-classes Not resolved - 2548 + 2548 open Array prvalues and additive operators Not resolved - 2549 + 2549 open Implicitly moving the operand of a throw-expression in unevaluated contexts Not resolved - 2550 + 2550 open Type "reference to cv void" outside of a declarator Not resolved - 2551 + 2551 open "Refers to allocated storage" has no meaning Not resolved - 2552 + 2552 open Constant evaluation of non-defining variable declarations Not resolved - 2553 + 2553 open Restrictions on explicit object member functions Not resolved - 2554 + 2554 open Overriding virtual functions, also with explicit object parameters Not resolved - 2555 + 2555 open Ineffective redeclaration prevention for using-declarators Not resolved - 2556 + 2556 open Unusable promise::return_void Not resolved - 2557 + 2557 drafting Class member access referring to an unrelated class Not resolved - 2558 + 2558 DR Uninitialized subobjects as a result of an immediate invocation Unknown - 2559 + 2559 open Defaulted consteval functions Not resolved - 2560 + 2560 open Parameter type determination in a requirement-parameter-list Not resolved - 2561 + 2561 open Conversion to function pointer for lambda with explicit object parameter Not resolved - 2562 + 2562 open Exceptions thrown during coroutine startup Not resolved - 2563 + 2563 open Initialization of coroutine result object Not resolved - 2564 + 2564 open Conversion to function pointer with an explicit object parameter Not resolved - 2565 + 2565 open Invalid types in the parameter-declaration-clause of a requires-expression Clang 16 - 2566 + 2566 open Matching deallocation for uncaught exception Not resolved - 2567 + 2567 open Operator lookup ambiguity Not resolved - 2568 + 2568 open Access checking during synthesis of defaulted comparison operator Not resolved - 2569 + 2569 CD6 Use of decltype(capture) in a lambda's parameter-declaration-clause Unknown - 2570 + 2570 open Clarify constexpr for defaulted functions Not resolved - 2571 + 2571 CD6 Evaluation order for subscripting Unknown - 2572 + 2572 open Address of overloaded function with no target Not resolved - 2573 + 2573 open Undefined behavior when splicing results in a universal-character-name Not resolved - 2574 + 2574 open Undefined behavior when lexing unmatched quotes Not resolved - 2575 + 2575 open Undefined behavior when macro-replacing "defined" operator Not resolved - 2576 + 2576 open Undefined behavior with macro-expanded #include directives Not resolved - 2577 + 2577 open Undefined behavior for preprocessing directives in macro arguments Not resolved - 2578 + 2578 open Undefined behavior when creating an invalid string literal via stringizing Not resolved - 2579 + 2579 open Undefined behavior when token pasting does not create a preprocessing token Not resolved - 2580 + 2580 open Undefined behavior with #line Not resolved - 2581 + 2581 open Undefined behavior for predefined macros Not resolved - 2582 + 2582 CD6 Differing member lookup from nested classes Unknown - 2583 + 2583 DRWP Common initial sequence should consider over-alignment Unknown - 2584 + 2584 open Equivalent types in function template declarations Not resolved - 2585 + 2585 CD6 Name lookup for coroutine allocation Unknown - 2586 + 2586 CD6 Explicit object parameter for assignment and comparison Unknown - 2587 + 2587 open Visible side effects and initial value of an object Not resolved - 2588 + 2588 drafting friend declarations and module linkage Not resolved - 2589 + 2589 open Context of access checks during constraint satisfaction checking Not resolved - 2590 + 2590 DRWP Underlying type should determine size and alignment requirements of an enum Unknown - 2591 + 2591 open Implicit change of active union member for anonymous union in union Not resolved - 2592 + 2592 open Missing definition for placement allocation/deallocation function Not resolved - 2593 + 2593 open Insufficient base class restriction for pointer-to-member expression Not resolved - 2594 + 2594 CD6 Disallowing a global function template main Unknown - 2595 + 2595 open "More constrained" for eligible special member functions Not resolved - 2596 + 2596 drafting Instantiation of constrained non-template friends Not resolved - 2597 + 2597 CD6 Replaceable allocation and deallocation functions in the global module Unknown - 2598 + 2598 DRWP Unions should not require a non-static data member of literal type Unknown - 2599 + 2599 DRWP What does initializing a parameter include? Unknown - 2600 + 2600 review Type dependency of placeholder types Not resolved - 2601 + 2601 DRWP Tracking of created and destroyed subobjects Unknown - 2602 + 2602 DR consteval defaulted functions Unknown - 2603 + 2603 DRWP Holistic functional equivalence for function templates Unknown - 2604 + 2604 DRWP Attributes for an explicit specialization Unknown - 2605 + 2605 DRWP Implicit-lifetime aggregates Unknown - 2606 + 2606 CD6 static_cast from "pointer to void" does not handle similar types Unknown - 2607 + 2607 drafting Visibility of enumerator names Not resolved - 2608 + 2608 CD6 Omitting an empty template argument list Unknown - 2609 + 2609 open Padding in class types Not resolved - 2610 + 2610 DRWP Indirect private base classes in aggregates Unknown - 2611 + 2611 DRWP Missing parentheses in expansion of fold-expression could cause syntactic reinterpretation Unknown - 2612 + 2612 DRWP Incorrect comment in example Unknown - 2613 + 2613 DRWP Incomplete definition of resumer Unknown - 2614 + 2614 DRWP Unspecified results for class member access Unknown - 2615 + 2615 WP Missing __has_cpp_attribute(assume) Unknown - 2616 + 2616 DRWP Imprecise restrictions on break and continue Unknown - 2617 + 2617 open Default template arguments for template members of non-template classes Not resolved - 2618 + 2618 DRWP Substitution during deduction should exclude exception specifications Unknown - 2619 + 2619 DRWP Kind of initialization for a designated-initializer-list Unknown - 2620 + 2620 DRWP Nonsensical disambiguation rule Unknown - 2621 + 2621 DRWP Kind of lookup for using enum declarations Yes - 2622 + 2622 DRWP Compounding types from function and pointer-to-member types Unknown - 2623 + 2623 drafting Invoking destroying operator delete for constructor failure Not resolved - 2624 + 2624 DRWP Array delete expression with no array cookie Unknown - 2625 + 2625 DRWP Deletion of pointer to out-of-lifetime object Unknown - 2626 + 2626 DRWP Rephrase ones' complement using base-2 representation Unknown - 2627 + 2627 DRWP Bit-fields and narrowing conversions Unknown - 2628 + 2628 open Implicit deduction guides should propagate constraints No - 2629 + 2629 DRWP Variables of floating-point type as switch conditions Unknown - 2630 + 2630 DRWP Syntactic specification of class completeness Unknown - 2631 + 2631 DRWP Immediate function evaluations in default arguments Clang 16 - 2632 + 2632 open 'user-declared' is not defined Not resolved - 2633 + 2633 open typeid of constexpr-unknown dynamic type Not resolved - 2634 + 2634 open Avoid circularity in specification of scope for friend class declarations Not resolved - 2635 + 2635 DRWP Constrained structured bindings Clang 16 - 2636 + 2636 DRWP Update Annex E based on Unicode 15.0 UAX #31 N/A - 2637 + 2637 open Injected-class-name as a simple-template-id Not resolved - 2638 + 2638 open Improve the example for initializing by initializer list Not resolved - 2639 + 2639 WP new-lines after phase 1 Unknown - 2640 + 2640 WP Allow more characters in an n-char sequence Clang 16 - 2641 + 2641 DRWP Redundant specification of value category of literals Unknown - 2642 + 2642 DR Inconsistent use of T and C N/A - 2643 + 2643 DRWP Completing a pointer to array of unknown bound Unknown - 2644 + 2644 DRWP Incorrect comment in example Yes - 2645 + 2645 DRWP Unused term "default argument promotions" Unknown - 2646 + 2646 DRWP Defaulted special member functions Unknown - 2647 + 2647 DRWP Fix for "needed for constant evaluation" Unknown - 2648 + 2648 DRWP Correspondence of surrogate call function and conversion function Unknown - 2649 + 2649 DRWP Incorrect note about implicit conversion sequence Unknown - 2650 + 2650 DRWP Incorrect example for ill-formed non-type template arguments Yes - 2651 + 2651 DRWP Conversion function templates and "noexcept" Unknown - 2652 + 2652 WP Overbroad definition of __STDCPP_BFLOAT16_T__ Unknown - 2653 + 2653 WP Can an explicit object parameter have a default argument? Unknown - 2654 + 2654 DRWP Un-deprecation of compound volatile assignments Clang 16 - 2655 + 2655 open Instantiation of default arguments in lambda-expressions Not resolved - 2656 + 2656 open Converting consteval lambda to function pointer in non-immediate context Not resolved - 2657 + 2657 open Cv-qualification adjustment when binding reference to temporary Not resolved - 2658 + 2658 DR Trivial copying of unions in core constant expressions Unknown - 2659 + 2659 accepted Missing feature-test macro for lifetime extension in range-for loop Unknown - 2660 + 2660 open Confusing term "this parameter" Not resolved - 2661 + 2661 open Missing disambiguation rule for pure-specifier vs. brace-or-equal-initializer Not resolved - 2662 + 2662 DR Example for member access control vs. overload resolution Unknown - 2663 + 2663 tentatively ready Example for member redeclarations with using-declarations Unknown - 2664 + 2664 DR Deduction failure in CTAD for alias templates Unknown - 2665 + 2665 NAD Replacing a subobject with a complete object Unknown - 2666 + 2666 open Lifetime extension through static_cast Not resolved - 2667 + 2667 DR Named module imports do not import macros Unknown - 2668 + 2668 open co_await in a lambda-expression Not resolved - 2669 + 2669 open Lifetime extension for aggregate initialization Not resolved - 2670 + 2670 open Programs and translation units Not resolved - 2671 + 2671 open friend named by a template-id Not resolved - 2672 + 2672 open Lambda body SFINAE is still required, contrary to intent and note Not resolved - 2673 + 2673 DR User-declared spaceship vs. built-in operators Unknown - 2674 + 2674 accepted Prohibit explicit object parameters for constructors Unknown - 2675 + 2675 open start_lifetime_as, placement-new, and active union members Not resolved - 2676 + 2676 open Replacing a complete object having base subobjects Not resolved - 2677 + 2677 review Replacing union subobjects Not resolved - 2678 + 2678 DR std::source_location::current is unimplementable Unknown - 2679 + 2679 open Implicit conversion sequence with a null pointer constant Not resolved - 2680 + 2680 open Class template argument deduction for aggregates with designated initializers Not resolved - 2681 + 2681 DR Deducing member array type from string literal Unknown - 2682 + 2682 DR Templated function vs. function template Unknown - 2683 + 2683 ready Default arguments for member functions of templated nested classes Unknown - 2684 + 2684 open thread_local dynamic initialization Not resolved - 2685 + 2685 DR Aggregate CTAD, string, and brace elision Unknown - 2686 + 2686 open Pack expansion into a non-pack parameter of a concept Not resolved - 2687 + 2687 review Calling an explicit object member function via an address-of-overload-set Not resolved - 2688 + 2688 open Calling explicit object member functions Not resolved - 2689 + 2689 open Are cv-qualified std::nullptr_t fundamental types? Not resolved - 2690 + 2690 DR Semantics of defaulted move assignment operator for unions Unknown - 2691 + 2691 accepted hexadecimal-escape-sequence is too greedy Unknown - 2692 + 2692 accepted Static and explicit object member functions with the same parameter-type-lists Unknown - 2693 + 2693 open Escape sequences for the string-literal of #line Not resolved - 2694 + 2694 open string-literals of the _Pragma operator Not resolved - 2695 + 2695 DR Semantic ignorability of attributes Unknown - 2696 + 2696 open Relational comparisons of pointers to void Not resolved - 2697 + 2697 open Deduction guides using abbreviated function syntax Not resolved - 2698 + 2698 review Using extended integer types with z suffix Not resolved - 2699 + 2699 ready Inconsistency of throw-expression specification Unknown - 2700 + 2700 review #error disallows existing implementation practice Not resolved - 2701 + 2701 open Default arguments in multiple scopes / inheritance of array bounds in the same scope Not resolved - 2702 + 2702 open Constant destruction of reference members Not resolved - 2703 + 2703 review Three-way comparison requiring strong ordering for floating-point types, take 2 Not resolved - 2704 + 2704 open Clarify meaning of "bind directly" Not resolved - 2705 + 2705 open Accessing ambiguous subobjects Not resolved - 2706 + 2706 open Repeated structured binding declarations Not resolved - 2707 + 2707 open Deduction guides cannot have a trailing requires-clause Not resolved - 2708 + 2708 open Parenthesized initialization of arrays Not resolved - 2709 + 2709 open Parenthesized initialization of reference-to-aggregate Not resolved - 2710 + 2710 open Loops in constant expressions Not resolved diff --git a/clang/www/make_cxx_dr_status b/clang/www/make_cxx_dr_status index c6229b9bf2c92..11b17f0444373 100755 --- a/clang/www/make_cxx_dr_status +++ b/clang/www/make_cxx_dr_status @@ -232,7 +232,7 @@ for dr in drs: out_file.write(''' - %s + %s %s %s %s