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 |
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.1 |
758 |
open |
Missing cases of declarations that are not definitions
|
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 |
review |
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 |
760 |
open |
this inside a nested class of a non-static member function
|
5.1.1 |
720 |
open |
Need examples of lambda-expressions
|
5.1.1 |
750 |
open |
Implementation constraints on reference-only closure objects
|
5.1.1 |
751 |
open |
Deriving from closure classes
|
5.1.1 |
752 |
open |
Name lookup in nested lambda-expressions
|
5.1.1 |
753 |
open |
Array names in lambda capture sets
|
5.1.1 |
754 |
open |
Lambda expressions in default arguments of block-scope function declarations
|
5.1.1 |
755 |
open |
Generalized lambda-captures
|
5.1.1 |
756 |
open |
Dropping cv-qualification on members of closure objects
|
5.1.1 |
757 |
open |
Types without linkage in declarations
|
5.1.1 |
759 |
open |
Destruction of closure objects
|
5.1.1 |
761 |
open |
Inferred return type of closure object call operator
|
5.1.1 |
762 |
open |
Name lookup in the compound-statement of a lambda expression
|
5.1.1 |
763 |
open |
Is a closure object's operator() inline?
|
5.1.1 |
764 |
open |
Capturing unused variables in a lambda expression
|
5.1.1 |
766 |
open |
Where may lambda expressions appear?
|
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.2 |
765 |
open |
Local types in inline functions with external linkage
|
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 |
review |
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
|
13.6 |
749 |
open |
References to function types with a cv-qualifier or ref-qualifier
|
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
|