C++ Standard Core Language Issue Index by Section, Revision 60


This document contains a summary listing of all the C++ Core Language issues arranged in the order of the sections of the Standard with which they deal most directly. It is part of a group of related documents that together describe the issues that have been raised regarding the C++ Standard. The other documents in the group are:

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

Section references in this document reflect the section numbering of document PL22.16/08-0310 = WG21 N2800.




Index by Section


Section Issue Status Title
_N2691_.E 131 TC1 Typo in Lao characters
_N2691_.E 248 open Identifier characters
_N2691_.E 663 CD1 Valid Cyrillic identifier characters
1.3 357 CD1 Definition of signature should include name
1.3 449 NAD Consistency in use of hyphen with names of "non" entities
1.3 537 CD1 Definition of “signature”
1.3 616 open Definition of “indeterminate value”
1.3 690 drafting The dynamic type of an rvalue reference
1.8 513 CD1 Non-class “most-derived” objects
1.9 129 open Stability of uninitialized auto variables
1.9 612 drafting Requirements on a conforming implementation
1.9 637 CD1 Sequencing rules and example disagree
1.9 639 CD1 What makes side effects “different” from one another?
1.9 698 open The definition of “sequenced before” is too narrow
1.10 726 open Atomic and non-atomic objects in the memory model
1.10 740 open Incorrect note on data races
2.1 362 CD1 Order of initialization in instantiation units
2.1 578 open Phase 1 replacement of characters with universal-character-names
2.2 173 TC1 Constraints on execution character set
2.2 558 CD1 Excluded characters in universal character names
2.2 630 drafting Equality of narrow and wide character values in the basic character set
2.4 369 drafting Are new/delete identifiers or preprocessing-op-or-punc?
2.12 189 drafting Definition of operator and punctuator
2.13.2 505 CD1 Conditionally-supported behavior for unknown character escapes
2.13.4 411 open Use of universal-character-name in character versus string literals
3 309 CD1 Linkage of entities whose names are not simply identifiers, in introduction
3 485 CD1 What is a “name”?
3 633 drafting Specifications for variables that should also apply to references
3 719 open Specifications for operator-function-id that should also apply to literal-operator-id
3.1 676 drafting static_assert-declarations and general requirements for declarations
3.2 50 NAD Converting pointer to incomplete type to same type
3.2 82 dup Definition of "using" a constant expression
3.2 261 CD1 When is a deallocation function "used?"
3.2 289 CD1 Incomplete list of contexts requiring a complete type
3.2 570 drafting Are references subject to the ODR?
3.2 678 drafting Language linkage of member function parameter types and the ODR
3.2 712 open Are integer constant operands of a conditional-expression “used?”
3.3 481 open Scope of template parameters
3.3 554 review Definition of “declarative region” and “scope”
3.3.1 433 CD1 Do elaborated type specifiers in templates inject into enclosing namespace scope?
3.3.2 642 drafting Definition and use of “block scope” and “local scope”
3.3.6 42 NAD Redefining names from base classes
3.3.6 432 CD1 Is injected class name visible in base class specifier list?
3.4 555 review Pseudo-destructor name lookup
3.4.1 41 TC1 Clarification of lookup of names after declarator-id
3.4.1 139 CD1 Error in friend lookup example
3.4.1 191 open Name lookup does not handle complex nesting
3.4.1 192 open Name lookup in parameters
3.4.1 231 NAD Visibility of names after using-directives
3.4.1 405 open Unqualified function name lookup
3.4.1 490 drafting Name lookup in friend declarations
3.4.1 514 CD1 Is the initializer for a namespace member in the scope of the namespace?
3.4.2 12 dup Default arguments on different declarations for the same function and the Koenig lookup
3.4.2 33 TC1 Argument dependent lookup and overloaded functions
3.4.2 90 TC1 Should the enclosing class be an "associated class" too?
3.4.2 91 NAD A union's associated types should include the union itself
3.4.2 143 CD1 Friends and Koenig lookup
3.4.2 164 TC1 Overlap between Koenig and normal lookup
3.4.2 218 CD1 Specification of Koenig lookup
3.4.2 225 drafting Koenig lookup and fundamental types
3.4.2 321 open Associated classes and namespaces for argument-dependent lookup
3.4.2 384 NAD Argument-dependent lookup and operator functions
3.4.2 403 CD1 Reference to a type as a template-id
3.4.2 557 CD1 Does argument-dependent lookup cause template instantiation?
3.4.2 598 ready Associated namespaces of overloaded functions and function templates
3.4.2 705 review Suppressing argument-dependent lookup via parentheses
3.4.3 724 open Qualified name lookup in a constrained context
3.4.3.1 298 CD1 T::x when T is cv-qualified
3.4.3.1 318 CD1 struct A::A should not name the constructor of A
3.4.3.1 562 open qualified-ids in non-expression contexts
3.4.3.1 635 NAD Names of constructors and destructors of templates
3.4.3.2 400 CD1 Using-declarations and the "struct hack"
3.4.4 85 TC1 Redeclaration of member class
3.4.4 245 CD1 Name lookup in elaborated-type-specifiers
3.4.4 254 CD1 Definitional problems with elaborated-type-specifiers
3.4.5 141 CD1 Non-member function templates in member access expressions
3.4.5 156 drafting Name lookup for conversion functions
3.4.5 305 CD1 Name lookup in destructor call
3.4.5 381 CD1 Incorrect example of base class member lookup
3.4.5 414 CD1 Multiple types found on destructor lookup
3.4.5 682 drafting Missing description of lookup of template aliases
3.4.6 373 review Lookup on namespace qualified name in using-directive
3.5 132 NAD Local types and linkage
3.5 216 CD1 Linkage of nameless class-scope enumeration types
3.5 278 open External linkage and nameless entities
3.5 279 open Correspondence of "names for linkage purposes"
3.5 319 CD1 Use of names without linkage in declaring entities with linkage
3.5 338 open Enumerator name with linkage used as class name in other translation unit
3.5 389 CD1 Unnamed types in entities with linkage
3.5 426 drafting Identically-named variables, one internally and one externally linked, allowed?
3.5 474 CD1 Block-scope extern declarations in namespace members
3.5 527 drafting Problems with linkage of types
3.5 571 ready References declared const
3.6.2 269 NAD Order of initialization of multiply-defined static data members of class templates
3.6.2 270 CD1 Order of initialization of static data members of class templates
3.6.2 371 open Interleaving of constructor calls
3.6.2 441 CD1 Ordering of static reference initialization
3.6.2 465 NAD May constructors of global objects call exit()?
3.6.2 688 CD1 Constexpr constructors and static initialization
3.6.3 28 CD1 'exit', 'signal' and static object destruction
3.6.3 640 open Accessing destroyed local objects of static storage duration
3.7 365 open Storage duration and temporaries
3.7.4.1 521 CD1 Requirements for exceptions thrown by allocation functions
3.7.4.2 220 CD1 All deallocation functions should be required not to throw
3.7.4.2 312 open “use” of invalid pointer value not defined
3.7.4.2 348 CD1 delete and user-written deallocation functions
3.7.4.2 523 open Can a one-past-the-end pointer be invalidated by deleting an adjacent object?
3.7.4.2 623 extension Use of pointers to deallocated storage
3.7.4.3 735 open Missing case in specification of safely-derived pointers
3.8 89 TC1 Object lifetime does not account for reference rebinding
3.8 93 TC1 Missing word in 3.8 basic.life paragraph 2
3.8 119 CD1 Object lifetime and aggregate initialization
3.8 234 NAD Reuse of base class subobjects
3.8 274 CD1 Cv-qualification and char-alias access to out-of-lifetime objects
3.8 404 CD1 Unclear reference to construction with non-trivial constructor
3.8 419 open Can cast to virtual base class be done on partially-constructed object?
3.8 594 CD1 Coordinating issues 119 and 404 with delegating constructors
3.8 597 review Conversions applied to out-of-lifetime non-POD lvalues
3.9 43 TC1 Copying base classes (PODs) using memcpy
3.9 290 NAD Should memcpy be allowed into a POD with a const member?
3.9 350 drafting signed char underlying representation for objects
3.9 496 open Is a volatile-qualified type really a POD?
3.9 619 drafting Completeness of array types
3.9 644 CD1 Should a trivial class type be a literal type?
3.9 646 NAD Can a class with a constexpr copy constructor be a literal type?
3.9.1 146 open Floating-point zero
3.9.1 251 open How many signed integer types are there?
3.9.1 483 open Normative requirements on integral ranges
3.9.1 627 NAD Values behaving as types
3.9.1 689 open Maximum values of signed and unsigned integers
3.10 158 CD1 Aliasing and qualification conversions
3.10 584 NAD Unions and aliasing
3.10 636 drafting Dynamic type of objects and aliasing
3.11 649 CD1 Optionally ill-formed extended alignment requests
4 572 review Standard conversions for non-built-in types
4.1 240 review Uninitialized values and undefined behavior
4.1 617 drafting Lvalue-to-rvalue conversions of uninitialized char objects
4.2 693 review New string types and deprecated conversion
4.4 330 open Qualification conversions and pointers to arrays of pointers
4.5 303 NAD Integral promotions on bit-fields
4.5 685 review Integral promotion of enumeration ignores fixed underlying type
4.9 566 NAD Conversion of negative floating point values to integer type
4.9 707 drafting Undefined behavior in integral-to-floating conversions
4.10 149 TC1 Accessibility and ambiguity
4.10 456 NAD Is initialized const int or const bool variable a null pointer constant?
4.10 519 CD1 Null pointer preservation in void* conversions
4.10 654 CD1 Conversions to and from nullptr_t
4.11 170 drafting Pointer-to-member conversions
4.11 480 CD1 Is a base of a virtual base also virtual?
5 71 NAD Incorrect cross reference
5 222 CD1 Sequence points and lvalue-returning operators
5 238 open Precision and accuracy constraints on floating point
5 351 CD1 Sequence point error: unspecified or undefined?
5 438 open Possible flaw in wording for multiple accesses to object between sequence points
5 451 CD1 Expressions with invalid results and ill-formedness
5 695 drafting Compile-time calculation errors in constexpr functions
5.1 122 CD1 template-ids as unqualified-ids
5.1 123 TC1 Bad cross-reference
5.1 125 CD1 Ambiguity in friend declaration syntax
5.1 147 TC1 Naming the constructor
5.1 536 drafting Problems in the description of id-expressions
5.1 687 open template keyword with unqualified-ids
5.1 743 open Use of decltype in a nested-name-specifier
5.1.1 720 open Need examples of lambda-expressions
5.2.2 113 CD1 Visibility of called function
5.2.2 118 CD1 Calls via pointers to virtual member functions
5.2.2 506 CD1 Conditionally-supported behavior for non-POD objects passed to ellipsis
5.2.2 634 CD1 Conditionally-supported behavior for non-POD objects passed to ellipsis redux
5.2.2 722 open Can nullptr be passed to an ellipsis?
5.2.4 466 CD1 cv-qualifiers on pseudo-destructor type
5.2.5 52 TC1 Non-static members, member selection and access checking
5.2.5 421 CD1 Is rvalue.field an rvalue?
5.2.5 731 open Omitted reference qualification of member function type
5.2.6 742 open Postfix increment/decrement with long bit-field operands
5.2.7 665 ready Problems in the specification of dynamic_cast
5.2.8 282 open Namespace for extended_type_info
5.2.8 492 CD1 typeid constness inconsistent with example
5.2.8 528 open Why are incomplete class types not allowed with typeid?
5.2.9 53 TC1 Lvalue-to-rvalue conversion before certain static_casts
5.2.9 54 CD1 Static_cast from private base to derived class
5.2.9 128 TC1 Casting between enum types
5.2.9 137 TC1 static_cast of cv void*
5.2.9 294 NAD Can static_cast drop exception specifications?
5.2.9 427 CD1 static_cast ambiguity: conversion versus cast to derived
5.2.9 439 CD1 Guarantees on casting pointer back to cv-qualified version of original type
5.2.9 671 CD1 Explicit conversion from a scoped enumeration type to integral type
5.2.10 195 CD1 Converting between function and object pointers
5.2.10 463 CD1 reinterpret_cast<T*>(0)
5.2.10 573 drafting Conversions between function pointers and void*
5.2.10 658 ready Defining reinterpret_cast for pointer types
5.2.10 734 open Are unique addresses required for namespace-scope variables?
5.3 342 review Terminology: "indirection" versus "dereference"
5.3.1 203 open Type of address-of-member expression
5.3.1 232 drafting Is indirection through a null pointer undefined behavior?
5.3.1 324 CD1 Can "&" be applied to assignment to bit-field?
5.3.1 610 NAD Computing the negative of 0U
5.3.4 31 NAD Looking up new/delete
5.3.4 74 TC1 Enumeration value in direct-new-declarator
5.3.4 127 TC1 Ambiguity in description of matching deallocation function
5.3.4 130 NAD Sequence points and new-expressions
5.3.4 256 CD1 Overflow in size calculations
5.3.4 267 open Alignment requirement for new-expressions
5.3.4 292 review Deallocation on exception in new before arguments evaluated
5.3.4 299 CD1 Conversion on array bound expression in new
5.3.4 313 dup Class with single conversion function to integral as array size in new
5.3.4 429 CD1 Matching deallocation function chosen based on syntax or signature?
5.3.4 473 open Block-scope declarations of allocator functions
5.3.4 476 open Determining the buffer size for placement new
5.3.4 624 CD1 Overflow in calculating size of allocation
5.3.4 672 drafting Sequencing of initialization in new-expressions
5.3.5 196 open Arguments to deallocation functions
5.3.5 265 dup Destructors, exceptions, and deallocation
5.3.5 288 CD1 Misuse of "static type" in describing pointers
5.3.5 353 CD1 Is deallocation routine called if destructor throws exception in delete?
5.3.5 442 CD1 Incorrect use of null pointer constant in description of delete operator
5.3.5 599 review Deleting a null function pointer
5.3.6 659 CD1 Alignment of function types
5.4 242 open Interpretation of old-style casts
5.4 520 CD1 Old-style casts between incomplete class types
5.5 497 CD1 Missing required initialization in example
5.6 614 CD1 Results of integer / and %
5.7 55 NAD Adding/subtracting pointer and enumeration value
5.7 179 TC1 Function pointers and subtraction
5.7 567 NAD Can size_t and ptrdiff_t be larger than long?
5.9 583 open Relational pointer comparisons against the null pointer constant
5.9 622 extension Relational comparisons of arbitrary pointers
5.9 661 CD1 Semantics of arithmetic comparisons
5.10 73 TC1 Pointer equality
5.16 446 CD1 Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary?
5.16 587 drafting Lvalue operands of a conditional expression differing only in cv-qualification
5.17 556 ready Conflicting requirements for acceptable aliasing
5.18 188 TC1 Comma operator and rvalue conversion
5.19 94 TC1 Inconsistencies in the descriptions of constant expressions
5.19 97 NAD Use of bool constants in integral constant expressions
5.19 236 review Explicit temporaries and integral constant expressions
5.19 339 CD1 Overload resolution in operand of sizeof in constant expression
5.19 366 CD1 String literal allowed in integral constant expression?
5.19 367 CD1 throw operator allowed in constant expression?
5.19 457 CD1 Wording nit on use of const variables in constant expressions
5.19 487 NAD Operator overloading in constant expressions
5.19 530 CD1 Nontype template arguments in constant expressions
5.19 652 ready Compile-time evaluation of floating-point expressions
5.19 684 CD1 Constant expressions involving the address of an automatic variable
5.19 715 open Class member access constant expressions
5.19 721 open Where must a variable be initialized to be used in a constant expression?
6.4 227 TC1 How many scopes in an if statement?
6.4.1 631 open Jumping into a “then” clause
6.6 276 CD1 Order of destruction of parameters and temporaries
6.6 378 review Wording that says temporaries are declared
6.7 467 NAD Jump past initialization of local static variable
6.7 723 open Archetypes in skipped declarations
7 157 open Omitted typedef declarator
7 435 NAD Change "declararation or definition" to "declaration"
7 569 ready Spurious semicolons at namespace scope should be allowed
7.1.1 69 TC1 Storage class specifiers on template declarations
7.1.1 154 NAD Anonymous unions in unnamed namespaces
7.1.1 498 open Storage class specifiers in definitions of class members
7.1.1 717 open Unintentional restrictions on the use of thread_local
7.1.2 281 CD1 inline specifier in friend declarations
7.1.2 317 CD1 Can a function be declared inline after it has been called?
7.1.2 376 NAD Class "definition" versus class "declaration"
7.1.2 396 CD1 Misleading note regarding use of auto for disambiguation
7.1.2 397 CD1 Same address for string literals from default arguments in inline functions?
7.1.2 412 NAD Can a replacement allocation function be inline?
7.1.2 477 CD1 Can virtual appear in a friend declaration?
7.1.3 56 TC1 Redeclaring typedefs within classes
7.1.3 407 drafting Named class with associated typedef: two names or one?
7.1.3 422 NAD Is a typedef redeclaration allowed with a template type that might be the same?
7.1.3 424 CD1 Wording problem with issue 56 resolution on redeclaring typedefs in class scope
7.1.3 576 ready Typedefs in function definitions
7.1.5 647 CD1 Non-constexpr instances of constexpr constructor templates
7.1.5 648 CD1 Constant expressions in constexpr initializers
7.1.5 699 drafting Must constexpr member functions be defined in the class member-specification?
7.1.5 700 open Constexpr member functions of class templates
7.1.6 539 review Constraints on type-specifier-seq
7.1.6.1 76 TC1 Are const volatile variables considered "constant expressions"?
7.1.6.1 609 open What is a “top-level” cv-qualifier?
7.1.6.2 283 CD1 Template type-parameters are not syntactically type-names
7.1.6.2 516 CD1 Use of signed in bit-field declarations
7.1.6.2 643 NAD Use of decltype in a class member-specification
7.1.6.2 651 CD1 Problems in decltype specification and examples
7.1.6.2 669 NAD Confusing specification of the meaning of decltype
7.1.6.3 68 TC1 Grammar does not allow "friend class A<int>;"
7.1.6.3 144 open Position of friend specifier
7.1.6.4 625 drafting Use of auto as a template-argument
7.1.6.4 629 CD1 auto parsing ambiguity
7.1.6.4 706 NAD Use of auto with rvalue references
7.1.6.4 711 open auto with braced-init-list
7.1.6.4 746 open Use of auto in new-expressions
7.2 172 CD1 Unsigned int as underlying type of enum
7.2 377 CD1 Enum whose enumerators will not fit in any integral type
7.2 518 CD1 Trailing comma following enumerator-list
7.2 628 ready The values of an enumeration with no enumerator
7.2 660 CD1 Unnamed scoped enumerations
7.3 171 TC1 Global namespace scope
7.3.1 311 NAD Using qualified name to reopen nested namespace
7.3.1 540 CD1 Propagation of cv-qualifiers in reference-to-reference collapse
7.3.1.2 95 NAD Elaborated type specifiers referencing names declared in friend decls
7.3.1.2 138 drafting Friend declaration name lookup
7.3.1.2 165 NAD Definitions of friends and block-scope externs
7.3.1.2 166 TC1 Friend declarations of template-ids
7.3.1.2 553 NAD Problems with friend allocation and deallocation functions
7.3.1.2 673 open Injection of names from elaborated-type-specifiers in friend declarations
7.3.3 11 CD1 How do the keywords typename/template interact with using-declarations?
7.3.3 36 open using-declarations in multiple-declaration contexts
7.3.3 101 TC1 Redeclaration of extern "C" names via using-declarations
7.3.3 109 NAD Allowing ::template in using-declarations
7.3.3 169 NAD template-ids in using-declarations
7.3.3 258 CD1 using-declarations and cv-qualifiers
7.3.3 386 open Friend declaration of name brought in by using-declaration
7.3.3 460 CD1 Can a using-declaration name a namespace?
7.3.3 565 open Conflict rules for using-declarations naming function templates
7.3.4 103 TC1 Is it extended-namespace-definition or extension-namespace-definition ?
7.4 461 NAD Make asm conditionally-supported
7.5 4 CD1 Does extern "C" affect the linkage of function names with internal linkage?
7.5 13 extension extern "C" for Parameters of Function Templates
7.5 14 NAD extern "C" functions and declarations in different namespaces
7.5 29 CD1 Linkage of locally declared functions
7.5 107 NAD Linkage of operator functions
7.5 168 NAD C linkage for static member functions
7.5 341 drafting extern "C" namespace member function versus global variable
7.5 358 NAD Namespaces and extern "C"
7.5 563 open Linkage specification for objects
7.5 564 ready Agreement of language linkage or linkage-specifications?
8 736 open Is the & ref-qualifier needed?
8.1 686 CD1 Type declarations/definitions in type-specifier-seqs and type-ids
8.2 160 CD1 Missing std:: qualification
8.2 333 NAD Ambiguous use of "declaration" in disambiguation section
8.2 340 NAD Unclear wording in disambiguation section
8.3 40 TC1 Syntax of declarator-id
8.3 159 TC1 Namespace qualification in declarators
8.3 374 drafting Can explicit specialization outside namespace use qualified name?
8.3 482 review Qualified declarators in redeclarations
8.3 548 dup qualified-ids in declarations
8.3.2 453 drafting References may only bind to “valid” objects
8.3.2 504 open Should use of a reference in its own initializer require a diagnostic?
8.3.4 112 CD1 Array types and cv-qualifiers
8.3.4 478 NAD May a function parameter be an array of an abstract class type?
8.3.4 701 drafting When is the array-to-pointer conversion applied?
8.3.5 18 NAD f(TYPE) where TYPE is void should be allowed
8.3.5 135 TC1 Class type in in-class member function definitions
8.3.5 140 CD1 Agreement of parameter declarations
8.3.5 262 CD1 Default arguments and ellipsis
8.3.5 295 CD1 cv-qualifiers on function types
8.3.5 332 open cv-qualified void parameter types
8.3.5 393 drafting Pointer to array of unknown bound in template argument list in parameter
8.3.5 547 review Partial specialization on member function types
8.3.5 550 open Pointer to array of unknown bound in parameter declarations
8.3.5 577 open void in an empty parameter list
8.3.5 681 CD1 Restrictions on declarators with late-specified return types
8.3.5 713 open Unclear note about cv-qualified function types
8.3.5 725 open When should the requirement for std::Returnable<T>, etc., apply?
8.3.6 1 TC1 What if two using-declarations refer to the same function but the declarations introduce different default-arguments?
8.3.6 15 dup Default arguments for parameters of function templates
8.3.6 65 TC1 Typo in default argument example
8.3.6 66 NAD Visibility of default args vs overloads added after using-declaration
8.3.6 136 CD1 Default arguments and friend declarations
8.3.6 217 TC1 Default arguments for non-template member functions of class templates
8.3.6 325 open When are default arguments parsed?
8.3.6 361 open Forward reference to default argument
8.4 732 open Late-specified return types in function definitions
8.5 5 CD1 CV-qualifiers and type conversions
8.5 35 TC1 Definition of default-initialization
8.5 78 CD1 Section 8.5 paragraph 9 should state it only applies to non-static objects
8.5 151 TC1 Terminology of zero-initialization
8.5 155 dup Brace initializer for scalar
8.5 177 CD1 Lvalues vs rvalues in copy-initialization
8.5 178 TC1 More on value-initialization
8.5 253 open Why must empty or fully-initialized const objects be initialized?
8.5 277 CD1 Zero-initialization of pointers
8.5 302 CD1 Value-initialization and generation of default constructor
8.5 304 TC1 Value-initialization of a reference
8.5 508 drafting Non-constructed value-initialized objects
8.5 509 CD1 Dead code in the specification of default initialization
8.5 543 CD1 Value initialization and default constructors
8.5 611 open Zero-initializing references
8.5 615 drafting Incorrect description of variables that can be initialized
8.5 670 open Copy initialization via derived-to-base conversion in the second step
8.5 694 review Zero- and value-initialization of union objects
8.5.1 163 TC1 Description of subaggregate initializer
8.5.1 430 CD1 Ordering of expression evaluation in initializer list
8.5.1 491 CD1 Initializers for empty-class aggregrate members
8.5.1 632 CD1 Brace-enclosed initializer for scalar member of aggregate
8.5.2 737 open Uninitialized trailing characters in string initialization
8.5.3 233 drafting References vs pointers in UDC overload resolution
8.5.3 291 CD1 Overload resolution needed when binding reference to class rvalue
8.5.3 391 CD1 Require direct binding of short-lived references to rvalues
8.5.3 434 NAD Unclear suppression of standard conversions while binding reference to lvalue
8.5.3 450 CD1 Binding a reference to const to a cv-qualified array rvalue
8.5.3 589 drafting Direct binding of class and array rvalues in reference initialization
8.5.3 656 open Direct binding to the result of a conversion operator
8.5.3 664 drafting Direct binding of references to non-class rvalue references
8.5.4 703 drafting Narrowing for literals that cannot be exactly represented
9 148 TC1 POD classes and pointers to members
9 175 CD1 Class name injection and base name access
9 176 TC1 Name injection and templates
9 273 CD1 POD classes and operator&()
9 284 CD1 qualified-ids in class declarations
9 327 CD1 Use of "structure" without definition
9 355 review Global-scope :: in nested-name-specifier
9 379 CD1 Change "class declaration" to "class definition"
9 383 CD1 Is a class with a declared but not defined destructor a POD?
9 413 CD1 Definition of "empty class"
9 511 open POD-structs with template assignment operators
9 538 CD1 Definition and usage of structure, POD-struct, POD-union, and POD class
9 568 CD1 Definition of POD is too strict
9.1 417 CD1 Using derived-class qualified name in out-of-class nested class definition
9.2 75 TC1 In-class initialized members must be const
9.2 80 TC1 Class members with same name as class
9.2 190 TC1 Layout-compatible POD-struct types
9.2 328 CD1 Missing requirement that class member types be complete
9.2 437 CD1 Is type of class allowed in member function exception specification?
9.2 613 CD1 Unevaluated uses of non-static class members
9.2 620 CD1 Declaration order in layout-compatible POD structs
9.2 645 ready Are bit-field and non-bit-field members layout compatible?
9.3.2 452 CD1 Wording nit on description of this
9.4 67 TC1 Evaluation of left side of object-expression
9.4.1 315 NAD Is call of static member function through null pointer undefined?
9.4.2 48 TC1 Definitions of unused static members
9.4.2 406 CD1 Static data member in class with name for linkage purposes
9.4.2 454 CD1 When is a definition of a static data member required?
9.4.2 714 open Static const data members and braced-init-lists
9.5 57 open Empty unions
9.5 359 NAD Type definition in anonymous union
9.5 512 review Union members with user-declared non-default constructors
9.5 716 open Specifications that should apply only to non-static union data members
9.6 58 CD1 Signedness of bit fields of enum type
9.6 436 CD1 Problem in example in 9.6 paragraph 4
9.6 675 open Signedness of bit-field with typedef or template parameter type
9.6 739 open Signedness of plain bit-fields
9.6 741 open “plain” long long bit-fields
9.7 347 review Use of derived class name in defining base class nested class
9.8 198 CD1 Definition of "use" in local and nested classes
9.8 696 review Use of block-scope constants in local classes
10 484 CD1 Can a base-specifier name a cv-qualified class type?
10.2 39 CD1 Conflicting ambiguity rules
10.2 306 CD1 Ambiguity by class name injection
10.2 380 open Definition of "ambiguous base class" missing
10.3 608 review Determining the final overrider of a virtual function
10.4 230 open Calls to pure virtual functions
10.4 390 CD1 Pure virtual must be defined when implicitly called
11 8 CD1 Access to template arguments used in a function return type and in the nested name specifier
11 494 CD1 Problems with the resolution of issue 45
11 580 drafting Access in template-parameters of member and friend definitions
11 600 open Does access control apply to members or to names?
11.2 7 NAD Can a class with a private virtual base class be derived from?
11.2 9 CD1 Clarification of access to base class members
11.2 16 CD1 Access to members of indirect private base classes
11.2 17 NAD Footnote 99 should discuss the naming class when describing members that can be accessed from friends
11.2 142 TC1 Injection-related errors in access example
11.2 207 CD1 using-declarations and protected access
11.2 360 open Using-declaration that reduces access
11.2 471 NAD Conflicting inherited access specifications
11.2 747 open Access of protected base classes
11.4 77 CD1 The definition of friend does not allow nested classes to be friends
11.4 209 NAD Must friend declaration names be accessible?
11.4 445 NAD Wording issue on friend declarations
11.4 500 CD1 Access in base-specifiers of friend and nested classes
11.4 501 NAD Visibility of friend declarations within the befriending class
11.4 585 NAD Friend template template parameters
11.4 718 open Non-class, non-function friend declarations
11.5 19 NAD Clarify protected member access
11.5 161 TC1 Access to protected nested type
11.5 385 CD1 How does protected member check of 11.5 interact with using-declarations?
11.5 472 drafting Casting across protected inheritance
11.8 10 CD1 Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class?
11.8 45 CD1 Access to nested classes
12.1 194 TC1 Identifying constructors
12.1 263 CD1 Can a constructor be declared a friend?
12.1 326 CD1 Wording for definition of trivial constructor
12.1 331 CD1 Allowed copy constructor signatures
12.1 581 open Can a templated constructor be explicitly instantiated or specialized?
12.1 738 open constexpr not permitted by the syntax of constructor declarations
12.2 86 CD1 Lifetime of temporaries in query expressions
12.2 117 NAD Timing of destruction of temporaries
12.2 124 CD1 Lifetime of temporaries in default initialization of class arrays
12.2 199 CD1 Order of destruction of temporaries
12.2 201 CD1 Order of destruction of temporaries in initializers
12.2 320 CD1 Question on copy constructor elision example
12.2 392 CD1 Use of full expression lvalue before temporary destruction
12.2 443 CD1 Wording nit in description of lifetime of temporaries
12.2 462 review Lifetime of temporaries bound to comma expressions
12.2 464 CD1 Wording nit on lifetime of temporaries to which references are bound
12.2 650 ready Order of destruction for temporaries bound to the returned value of a function
12.3.1 152 TC1 explicit copy constructors
12.3.2 296 CD1 Can conversion functions be static?
12.3.2 395 open Conversion operator template syntax
12.4 193 TC1 Order of destruction of local automatics of destructor
12.4 244 CD1 Destructor lookup
12.4 252 CD1 Looking up deallocation functions in virtual destructors
12.4 272 CD1 Explicit destructor invocation and qualified-ids
12.4 344 open Naming destructors
12.4 399 drafting Destructor lookup redux
12.4 677 CD1 Deleted operator delete and virtual destructors
12.5 255 open Placement deallocation functions and lookup ambiguity
12.6 510 CD1 Default initialization of POD classes?
12.6 542 ready Value initialization of arrays of POD-structs
12.6.1 363 NAD Initialization of class from self
12.6.2 235 TC1 Assignment vs initialization
12.6.2 257 review Abstract base constructors and virtual base initialization
12.6.2 607 open Lookup of mem-initializer-ids
12.6.2 655 drafting Initialization not specified for forwarding constructors
12.7 307 NAD Initialization of a virtual base class subobject
12.7 710 open Data races during construction
12.8 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?
12.8 20 TC1 Some clarifications needed for 12.8 para 15
12.8 26 NAD Copy constructors and default arguments
12.8 111 review Copy constructors and cv-qualifiers
12.8 185 TC1 "Named" temporaries and copy elision
12.8 356 NAD Wording of behavior of generated copy constructor for scalar members
12.8 444 NAD Overriding and the generated copy assignment operator
12.8 535 review Copy construction without a copy constructor
12.8 574 review Definition of “copy assignment operator”
12.8 653 review Copy assignment of unions
12.8 667 review Trivial special member functions that cannot be implicitly defined
12.8 680 drafting What is a move constructor?
12.8 683 CD1 Requirements for trivial subobject special functions
12.8 733 open Reference qualification of copy assignment operators
13.3.1.1 162 CD1 (&C::f)() with nonstatic members
13.3.1.1 704 review To which postfix-expressions does overload resolution apply?
13.3.1.1.1 239 CD1 Footnote 116 and Koenig lookup
13.3.1.1.1 364 CD1 Calling overloaded function with static in set, with no object
13.3.1.1.2 280 CD1 Access and surrogate call functions
13.3.1.2 102 NAD Operator lookup rules do not work well with parts of the library
13.3.1.2 416 CD1 Class must be complete to allow operator lookup?
13.3.1.2 423 NAD Can a conversion be done on the left operand of a compound assignment?
13.3.1.2 545 open User-defined conversions and built-in operator overload resolution
13.3.1.3 604 drafting Argument list for overload resolution in copy-initialization
13.3.1.4 59 TC1 Clarification of overloading and UDC to reference type
13.3.2 641 ready Overload resolution and conversion-to-same-type operators
13.3.3 51 TC1 Overloading and user-defined conversions
13.3.3 418 open Imperfect wording on error on multiple default arguments on a called function
13.3.3 455 open Partial ordering and non-deduced arguments
13.3.3 495 review Overload resolution with template and non-template conversion functions
13.3.3.1 84 TC1 Overloading and conversion loophole used by auto_ptr
13.3.3.1.2 243 NAD Weighting of conversion functions in direct-initialization
13.3.3.1.4 60 CD1 Reference binding and valid conversion sequences
13.3.3.2 83 TC1 Overloading and deprecated conversion of string literal
13.3.3.2 153 TC1 Misleading wording (rank of conversion)
13.3.3.2 702 drafting Preferring conversion to std::initializer_list
13.4 61 NAD Address of static member function "&p->f"
13.4 115 CD1 Address of template-id
13.4 202 TC1 Use of overloaded function name
13.4 247 NAD Pointer-to-member casts and function overload resolution
13.4 250 TC1 Address of function template specialization with non-deduced template arguments
13.5.3 221 CD1 Must compound assignment operators be member functions?
13.5.6 420 CD1 postfixexpression->scalar_type_dtor() inconsistent
13.6 27 NAD Overload ambiguities for builtin ?: prototypes
13.6 260 drafting User-defined conversions and built-in operator=
13.6 425 CD1 Set of candidates for overloaded built-in operator with float operand
13.6 507 open Ambiguity assigning class object to built-in type
14 32 TC1 Clarification of explicit instantiation of non-exported templates
14 72 dup Linkage and storage class specifiers for templates
14 105 TC1 Meaning of "template function"
14 110 open Can template functions and classes be declared in the same scope?
14 134 TC1 Template classes and declarator-ids
14 204 CD1 Exported class templates
14 205 drafting Templates and static data members
14 323 CD1 Where must export appear?
14 335 CD1 Allowing export on template members of nontemplate classes
14 534 CD1 template-names and operator-function-ids
14 728 open Restrictions on local classes
14.1 21 TC1 Can a default argument for a template parameter appear in a friend declaration?
14.1 49 TC1 Restriction on non-type, non-value template arguments
14.1 184 CD1 Default arguments in template template-parameters
14.1 187 TC1 Scope of template parameter names
14.1 215 CD1 Template parameters are not allowed in nested-name-specifiers
14.1 226 CD1 Default template arguments for function templates
14.1 401 CD1 When is access for template parameter default arguments checked?
14.1 691 drafting Template parameter packs in class template partial specializations
14.2 30 TC1 Valid uses of "::template"
14.2 38 TC1 Explicit template arguments and operator functions
14.2 96 drafting Syntactic disambiguation using the template keyword
14.2 228 CD1 Use of template keyword with non-member templates
14.2 301 CD1 Syntax for template-name
14.2 314 drafting template in base class specifier
14.2 343 open Make template optional in contexts that require a type
14.2 431 drafting Defect in wording in 14.2
14.2 468 CD1 Allow ::template outside of templates
14.2 552 NAD Use of typename in the type in a non-type parameter-declaration
14.2 579 open What is a “nested” > or >>?
14.3 246 CD1 Jumps in function-try-block handlers
14.3 372 CD1 Is access granted by base class specifiers available in following base class specifiers?
14.3 440 open Allow implicit pointer-to-member conversion on nontype template argument
14.3.1 62 CD1 Unnamed members of classes used as type parameters
14.3.2 100 TC1 Clarify why string literals are not allowed as template arguments
14.3.2 354 CD1 Null as nontype template argument
14.3.3 150 open Template template parameters and default arguments
14.3.3 744 open Matching template arguments with template template parameters with parameter packs
14.4 603 CD1 Type equivalence and unsigned overflow
14.4 679 CD1 Equivalence of template-ids and operator function templates
14.5.1.1 249 TC1 What is a member function template?
14.5.1.3 408 drafting sizeof applied to unknown-bound array static data member of template
14.5.2 114 NAD Virtual overriding by template member function specializations
14.5.2 582 CD1 Template conversion functions
14.5.4 47 NAD Template friend issues
14.5.4 329 CD1 Evaluation of friends of templates
14.5.4 410 CD1 Paragraph missed in changes for issue 166
14.5.4 638 open Explicit specialization and friendship
14.5.4 674 drafting “matching specialization” for a friend declaration
14.5.5 229 NAD Partial specialization of function templates
14.5.5 286 CD1 Incorrect example in partial specialization
14.5.5 517 CD1 Partial specialization following explicit instantiation
14.5.5 708 open Partial specialization of member templates of class templates
14.5.5.1 549 drafting Non-deducible parameters in partial specializations
14.5.6.1 116 TC1 Equivalent and functionally-equivalent function templates
14.5.6.1 310 open Can function templates differing only in parameter cv-qualifiers be overloaded?
14.5.6.2 23 open Some questions regarding partial ordering of function templates
14.5.6.2 200 dup Partial ordering and explicit arguments
14.5.6.2 214 CD1 Partial ordering of function templates is underspecified
14.5.6.2 402 open More on partial ordering of function templates
14.5.6.2 532 drafting Member/nonmember operator template partial ordering
14.6 120 TC1 Nonexistent non-terminal qualified-name
14.6 121 TC1 Dependent type names with non-dependent nested-name-specifiers
14.6 180 CD1 typename and elaborated types
14.6 183 TC1 typename in explicit specializations
14.6 345 CD1 Misleading comment on example in templates chapter
14.6 375 dup Confusing example on lookup with typename
14.6 382 CD1 Allow typename outside of templates
14.6 409 CD1 Obsolete paragraph missed by changes for issue 224
14.6 559 CD1 Editing error in issue 382 resolution
14.6 560 drafting Use of the typename keyword in return types
14.6 666 CD1 Dependent qualified-ids without the typename keyword
14.6.1 186 open Name hiding and template template-parameters
14.6.1 316 NAD Injected-class-name of template used as template template parameter
14.6.1 448 drafting Set of template functions in call with dependent explicit argument
14.6.1 458 drafting Hiding of member template parameters by other members
14.6.1 459 open Hiding of template parameters by base class members
14.6.1 602 open When is the injected-class-name of a class template a template?
14.6.2 213 TC1 Lookup in dependent base classes
14.6.2 515 CD1 Non-dependent references to base class members
14.6.2 524 CD1 Can function-notation calls to operator functions be dependent?
14.6.2 544 NAD Base class lookup in explicit specialization
14.6.2 588 ready Searching dependent bases of classes local to function templates
14.6.2 591 open When a dependent base class is the current instantiation
14.6.2.1 108 TC1 Are classes nested in templates dependent?
14.6.2.1 224 CD1 Definition of dependent names
14.6.2.1 502 open Dependency of nested enumerations and enumerators
14.6.2.1 590 open Nested classes and the “current instantiation”
14.6.2.2 334 NAD Is a comma-expression dependent if its first operand is?
14.6.2.2 541 drafting Dependent function types
14.6.2.3 447 CD1 Is offsetof type-dependent?
14.6.3 206 TC1 Semantic constraints on non-dependent names
14.6.4 2 drafting How can dependent names be used in member declarations that appear outside of the class template definition?
14.6.4 22 TC1 Template parameter with a default argument that refers to itself
14.6.4.1 287 drafting Order dependencies in template instantiation
14.6.4.2 197 CD1 Issues with two-stage lookup of dependent names
14.6.4.2 561 drafting Internal linkage functions in dependent name lookup
14.6.5 387 CD1 Errors in example in 14.6.5
14.7 259 CD1 Restrictions on explicit specialization and instantiation
14.7.1 34 NAD Argument dependent lookup and points of instantiation
14.7.1 63 CD1 Class instantiation from pointer conversion to void*, null and self
14.7.1 212 drafting Implicit instantiation is not described clearly enough
14.7.1 489 NAD Must member function templates be instantiated during overload resolution?
14.7.1 525 CD1 Missing * in example
14.7.2 46 NAD Explicit instantiation of member templates
14.7.2 237 CD1 Explicit instantiation and base class members
14.7.2 293 open Syntax of explicit instantiation/specialization too permissive
14.7.2 470 CD1 Instantiation of members of an explicitly-instantiated class template
14.7.2 546 drafting Explicit instantiation of class template members
14.7.2 551 CD1 When is inline permitted in an explicit instantiation?
14.7.3 3 NAD The template compilation model rules render some explicit specialization declarations not visible during instantiation
14.7.3 24 TC1 Errors in examples in 14.7.3
14.7.3 44 CD1 Member specializations
14.7.3 64 TC1 Partial ordering to disambiguate explicit specialization
14.7.3 88 NAD Specialization of member constant templates
14.7.3 182 NAD Access checking on explicit specializations
14.7.3 275 CD1 Explicit instantiation/specialization and using-directives
14.7.3 285 NAD Identifying a function template being specialized
14.7.3 336 CD1 Explicit specialization examples are still incorrect
14.7.3 529 drafting Use of template<> with “explicitly-specialized” class templates
14.7.3 531 drafting Defining members of explicit specializations
14.7.3 605 drafting Linkage of explicit specializations
14.7.3 621 drafting Template argument deduction from function return types
14.7.3 727 open In-class explicit specializations
14.7.3 730 open Explicit specializations of members of non-template classes
14.8.1 241 TC1 Error in example in 14.8.1
14.8.1 264 open Unusable template constructors and conversion functions
14.8.2 271 open Explicit instantiation and template argument deduction
14.8.2 297 open Which template does an explicit specialization specialize?
14.8.2 337 CD1 Attempt to create array of abtract type should cause deduction to fail
14.8.2 368 CD1 Uses of non-type parameters that should cause deduction to fail
14.8.2 398 CD1 Ambiguous wording on naming a type in deduction
14.8.2 486 CD1 Invalid return types and template argument deduction
14.8.2 488 CD1 Local types, overload resolution, and template argument deduction
14.8.2 575 drafting Criteria for deduction failure
14.8.2 657 review Abstract class parameter in synthesized declaration
14.8.2 662 NAD Forming a pointer to a reference type
14.8.2 697 open Deduction rules apply to more than functions
14.8.2 709 drafting Enumeration names as nested-name-specifiers in deduction failure
14.8.2.1 99 NAD Partial ordering, references and cv-qualifiers
14.8.2.1 352 CD1 Nondeduced contexts
14.8.2.1 503 open Cv-qualified function types in template argument deduction
14.8.2.1 522 CD1 Array-to-pointer decay in template argument deduction
14.8.2.1 606 CD1 Template argument deduction for rvalue references
14.8.2.3 322 CD1 Deduction of reference conversions
14.8.2.3 349 CD1 Template argument deduction for conversion functions and qualification conversions
14.8.2.3 493 drafting Type deduction from a bool context
14.8.2.5 70 CD1 Is an array bound a nondeduced context?
14.8.2.5 181 TC1 Errors in template template-parameter example
14.8.2.5 300 CD1 References to functions in template argument deduction
14.8.2.5 469 open Const template specializations and reference arguments
14.8.2.5 526 CD1 Confusing aspects in the specification of non-deduced contexts
14.8.2.5 586 drafting Default template-arguments and template argument deduction
14.8.2.5 692 review Partial ordering of variadic class template partial specializations
14.8.3 415 CD1 Template deduction does not cause instantiation
14.10.2.1 748 open Always-complete archetypes
15 98 TC1 Branching into try block
15 211 NAD Constructors should not be allowed to return normally after an exception
15.1 104 NAD Destroying the exception temp when no handler is found
15.1 208 CD1 Rethrowing exceptions in nested handlers
15.1 428 CD1 Mention of expression with reference type
15.1 479 CD1 Copy elision in exception handling
15.1 499 ready Throwing an array of unknown size
15.2 592 CD1 Exceptions during construction of local static objects
15.3 210 TC1 What is the type matched by an exception handler?
15.3 308 NAD Catching exceptions with ambiguous base classes
15.3 388 open Catching base*& from a throw of derived*
15.3 593 NAD Falling off the end of a destructor's function-try-block handler
15.3 729 open Qualification conversions and handlers of reference-to-pointer type
15.4 25 TC1 Exception specifications and pointers to members
15.4 87 CD1 Exception specifications on function parameters
15.4 92 open Should exception specifications be part of the type system?
15.4 126 TC1 Exception specifications and const
15.4 133 dup Exception specifications and checking
15.4 346 NAD Typo in 15.4
15.4 595 open Exception specifications in templates instantiated from class bodies
15.5.1 219 open Cannot defend against destructors that throw exceptions
15.5.1 668 ready Throwing an exception from the destructor of a local static object
15.5.2 596 open Replacing an exception object
15.5.3 37 NAD When is uncaught_exception() true?
15.5.3 475 drafting When is std::uncaught_exception() true? (take 2)
16 394 CD1 identifier-list is never defined
16.1 601 review Type of literals in preprocessing expressions
16.1 618 drafting Casts in preprocessor conditional expressions
16.2 370 CD1 Can #include <...> form be used other than for standard C++ headers?
16.2 533 NAD Special treatment for C-style header names
16.3.2 626 review Preprocessor string literals
16.3.4 268 open Macro name suppression in rescanned replacement text
16.5 745 open Effect of ill-formedness resulting from #error
18.5.1.3 79 dup Alignment and placement new
A 266 NAD No grammar sentence symbol
C 81 NAD Null pointers and C compatability
D 223 open The meaning of deprecation
D.1 145 TC1 Deprecation of prefix ++
D.2 167 NAD Deprecating static functions
D.2 174 NAD Undeprecating global static
unknown 106 CD1 Creating references to references during template deduction/instantiation