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
WG21 N3376.
Section |
Issue |
Status |
Title |
_N2691_.E |
131 |
TC1 |
Typo in Lao characters
|
_N2691_.E |
248 |
FDIS |
Identifier characters
|
_N2691_.E |
663 |
CD1 |
Valid Cyrillic identifier characters
|
_N2914_.14.10.1.1 |
889 |
concepts |
Default implementations of associated functions
|
_N2914_.14.10.2 |
780 |
concepts |
Questions regarding the point of definition of a concept map
|
_N2914_.14.10.2 |
911 |
concepts |
late_check and concept map templates
|
_N2914_.14.10.2.1 |
870 |
concepts |
Context of expression when satisfying an associated function requirement
|
_N2914_.14.10.2.1 |
871 |
concepts |
Satisfying associated functions with built-in operators
|
_N2914_.14.10.2.1 |
916 |
open |
Does a reference type have a destructor?
|
_N2914_.14.10.2.1 |
918 |
concepts |
Declaration/expression ambiguity in associated function expressions
|
_N2914_.14.10.2.2 |
907 |
concepts |
Default types in requirements in auto concepts
|
_N2914_.14.10.3.2 |
841 |
concepts |
Ill-formed concept refinement example
|
_N2914_.14.10.4 |
825 |
concepts |
TriviallyCopyableType concept
|
_N2914_.14.11 |
848 |
concepts |
Unconstrained template template parameters in constrained contexts
|
_N2914_.14.11.1 |
826 |
concepts |
Accept boolean constant expressions as constraints
|
_N2914_.14.11.1 |
827 |
concepts |
Use of && as requirement separator
|
_N2914_.14.11.1.1 |
890 |
concepts |
Missing requirement in example
|
_N2914_.14.11.1.2 |
857 |
concepts |
Implying requirements from enclosing scopes
|
_N2914_.14.11.2 |
781 |
concepts |
Missing requirement in constrained function example
|
_N2914_.14.11.2.1 |
748 |
concepts |
Always-complete archetypes
|
_N2914_.14.11.2.1 |
895 |
concepts |
Missing destructor requirements
|
_N2914_.14.11.4 |
894 |
concepts |
Incorrect example for constrained overload resolution
|
_N2960_.3.3.9 |
856 |
concepts |
Overlapping concept and requirements scopes
|
_N2960_.6.9 |
859 |
concepts |
Incomplete comment in late_check example
|
_N3225_.7.6.4 |
816 |
CD2 |
Diagnosing violations of [[final]]
|
_N3225_.7.6.4 |
817 |
CD2 |
Meaning of [[final]] applied to a class definition
|
_N3225_.7.6.5 |
1063 |
FDIS |
[[hiding]] with non-attribute declarations
|
_N3225_.7.6.5 |
1065 |
FDIS |
[[hiding]] with [[override]]
|
_N3225_.7.6.5 |
1067 |
NAD |
[[hiding]], using-declarations, and multiple inheritance
|
_N3225_.7.6.5 |
1133 |
FDIS |
Keywords vs attributes for control of hiding and overriding
|
_N3225_.11.3 |
1144 |
FDIS |
Remove access declarations
|
_N3225_.D.2 |
167 |
NAD |
Deprecating static functions
|
_N3225_.D.2 |
174 |
NAD |
Undeprecating global static
|
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 |
ready |
Definition of “indeterminate value”
|
1.3 |
690 |
CD2 |
The dynamic type of an rvalue reference
|
1.3 |
783 |
open |
Definition of “argument”
|
1.3 |
1476 |
ready |
Definition of user-defined type
|
1.3 |
1509 |
drafting |
Definition of “non-template function”
|
1.3 |
1531 |
drafting |
Definition of “access” (verb)
|
1.4 |
949 |
open |
Requirements for freestanding implementations
|
1.5 |
784 |
FDIS |
List of incompatibilities with the previous Standard
|
1.8 |
513 |
CD1 |
Non-class “most-derived” objects
|
1.8 |
1189 |
FDIS |
Address of distinct base class subobjects
|
1.9 |
129 |
ready |
Stability of uninitialized auto variables
|
1.9 |
612 |
CD2 |
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.9 |
785 |
CD2 |
“Execution sequence” is inappropriate phraseology
|
1.9 |
1102 |
FDIS |
Better example of undefined behavior
|
1.9 |
1173 |
FDIS |
Unclear specification of effects of signal handling
|
1.9 |
1343 |
drafting |
Sequencing of non-class initialization
|
1.9 |
1441 |
concurrency |
Unclear wording for signal handler restrictions
|
1.10 |
726 |
CD2 |
Atomic and non-atomic objects in the memory model
|
1.10 |
740 |
CD2 |
Incorrect note on data races
|
1.10 |
786 |
CD2 |
Definition of “thread”
|
1.10 |
1040 |
NAD |
Memory model issues
|
1.10 |
1176 |
FDIS |
Definition of release sequence
|
1.10 |
1177 |
FDIS |
Intra-thread dependency-ordered-before
|
1.10 |
1466 |
concurrency |
Visible sequences of side effects are redundant
|
1.10 |
1470 |
concurrency |
Thread migration
|
2.2 |
362 |
CD1 |
Order of initialization in instantiation units
|
2.2 |
578 |
open |
Phase 1 replacement of characters with universal-character-names
|
2.2 |
787 |
CD2 |
Unnecessary lexical undefined behavior
|
2.2 |
1103 |
FDIS |
Reversion of phase 1 and 2 transformations in raw string literals
|
2.3 |
173 |
TC1 |
Constraints on execution character set
|
2.3 |
558 |
CD1 |
Excluded characters in universal character names
|
2.3 |
630 |
CD2 |
Equality of narrow and wide character values in the basic character set
|
2.3 |
788 |
CD2 |
Relationship between locale and values of the execution character set
|
2.3 |
1332 |
drafting |
Handling of invalid universal-character-names
|
2.4 |
789 |
CD2 |
Deprecating trigraphs
|
2.5 |
369 |
drafting |
Are new/delete identifiers or preprocessing-op-or-punc?
|
2.6 |
985 |
FDIS |
Alternative tokens and user-defined literals
|
2.6 |
1104 |
FDIS |
Global-scope template arguments vs the <: digraph
|
2.8 |
1403 |
open |
Universal-character-names in comments
|
2.10 |
832 |
CD2 |
Value of preprocessing numbers
|
2.11 |
1105 |
FDIS |
Issues relating to TR 10176:2003
|
2.13 |
189 |
drafting |
Definition of operator and punctuator
|
2.14.3 |
505 |
CD1 |
Conditionally-supported behavior for unknown character escapes
|
2.14.3 |
912 |
DR |
Character literals and universal-character-names
|
2.14.3 |
933 |
CD2 |
32-bit UCNs with 16-bit wchar_t
|
2.14.3 |
1024 |
DR |
Limits on multicharacter literals
|
2.14.3 |
1422 |
dup |
Type of character literals containing universal-character-names
|
2.14.5 |
411 |
open |
Use of universal-character-name in character versus string literals
|
2.14.5 |
790 |
CD2 |
Concatenation of raw and non-raw string literals
|
2.14.5 |
834 |
CD2 |
What is an “ordinary string literal”?
|
2.14.5 |
872 |
CD2 |
Lexical issues with raw strings
|
2.14.5 |
932 |
CD2 |
UCNs in closing delimiters of raw string literals
|
2.14.7 |
1106 |
FDIS |
Need more detail in nullptr keyword description
|
2.14.8 |
931 |
CD2 |
Confusing reference to the length of a user-defined string literal
|
2.14.8 |
937 |
NAD |
Restrictions on values of template arguments in user-defined literals
|
2.14.8 |
1107 |
FDIS |
Overload resolution for user-defined integer literals
|
2.14.8 |
1108 |
NAD |
User-defined literals have not been implemented
|
2.14.8 |
1175 |
FDIS |
Disambiguating user-defined literals
|
2.14.8 |
1239 |
FDIS |
Hexadecimal floating-point literals vs user-defined literals
|
2.14.8 |
1266 |
open |
user-defined-integer-literal overflow
|
2.14.8 |
1474 |
extension |
User-defined literals and <inttypes.h> format macros
|
3 |
309 |
CD1 |
Linkage of entities whose names are not simply identifiers, in introduction
|
3 |
485 |
CD1 |
What is a “name”?
|
3 |
633 |
CD2 |
Specifications for variables that should also apply to references
|
3 |
719 |
CD2 |
Specifications for operator-function-id that should also apply to literal-operator-id
|
3 |
942 |
CD2 |
Is this an entity?
|
3 |
1529 |
drafting |
Nomenclature for variable vs reference non-static data member
|
3.1 |
676 |
FDIS |
static_assert-declarations and general requirements for declarations
|
3.1 |
758 |
FDIS |
Missing cases of declarations that are not definitions
|
3.1 |
1201 |
FDIS |
Are deleted and defaulted functions 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 |
CD2 |
Are references subject to the ODR?
|
3.2 |
678 |
FDIS |
Language linkage of member function parameter types and the ODR
|
3.2 |
712 |
DRWP |
Are integer constant operands of a conditional-expression “used?”
|
3.2 |
1109 |
FDIS |
When is “use” a reference to the ODR meaning?
|
3.2 |
1110 |
NAD |
Incomplete return type should be allowed in decltype operand
|
3.2 |
1174 |
FDIS |
When is a pure virtual function “used?”
|
3.2 |
1192 |
FDIS |
Inadvertent change to ODR and templates
|
3.2 |
1209 |
open |
Is a potentially-evaluated expression in a template definition a “use?”
|
3.2 |
1254 |
NAD |
odr-use vs template arguments and constexpr functions
|
3.2 |
1260 |
DRWP |
Incorrect use of term “overloaded” in description of odr-use
|
3.2 |
1362 |
DRWP |
Complete type required for implicit conversion to T&
|
3.2 |
1472 |
ready |
odr-use of reference variables
|
3.2 |
1511 |
ready |
const volatile variables and the one-definition rule
|
3.3 |
481 |
CD2 |
Scope of template parameters
|
3.3 |
554 |
drafting |
Definition of “declarative region” and “scope”
|
3.3.2 |
433 |
CD1 |
Do elaborated type specifiers in templates inject into enclosing namespace scope?
|
3.3.2 |
1044 |
FDIS |
Point of declaration for an alias-declaration
|
3.3.2 |
1210 |
FDIS |
Injection of elaborated-type-specifier in enumeration scope
|
3.3.2 |
1433 |
extension |
trailing-return-type and point of declaration
|
3.3.2 |
1482 |
drafting |
Point of declaration of enumeration
|
3.3.3 |
642 |
CD2 |
Definition and use of “block scope” and “local scope”
|
3.3.7 |
42 |
NAD |
Redefining names from base classes
|
3.3.7 |
432 |
CD1 |
Is injected class name visible in base class specifier list?
|
3.3.7 |
1352 |
DRWP |
Inconsistent class scope and completeness rules
|
3.3.9 |
1429 |
NAD |
Scope of a member template's template parameter
|
3.4 |
555 |
drafting |
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 |
drafting |
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 |
CD2 |
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.1 |
1200 |
open |
Lookup rules for template parameters
|
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 |
NAD |
Koenig lookup and fundamental types
|
3.4.2 |
321 |
dup |
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 |
CD2 |
Associated namespaces of overloaded functions and function templates
|
3.4.2 |
705 |
CD2 |
Suppressing argument-dependent lookup via parentheses
|
3.4.2 |
997 |
FDIS |
Argument-dependent lookup and dependent function template parameter types
|
3.4.2 |
1015 |
FDIS |
Template arguments and argument-dependent lookup
|
3.4.3 |
724 |
concepts |
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.1 |
1000 |
CD2 |
Mistaking member typedefs for constructors
|
3.4.3.1 |
1310 |
ready |
What is an “acceptable lookup result?”
|
3.4.3.2 |
400 |
CD1 |
Using-declarations and the "struct hack"
|
3.4.3.2 |
861 |
CD2 |
Unintended ambiguity in inline namespace lookup
|
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.5 |
1089 |
drafting |
Template parameters in member selections
|
3.4.5 |
1111 |
FDIS |
Remove dual-scope lookup of member template names
|
3.4.5 |
1220 |
FDIS |
Looking up conversion-type-ids
|
3.4.5 |
1291 |
drafting |
Looking up a conversion-type-id
|
3.4.6 |
373 |
FDIS |
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 |
CD2 |
Problems with linkage of types
|
3.5 |
571 |
CD2 |
References declared const
|
3.5 |
757 |
CD2 |
Types without linkage in declarations
|
3.5 |
791 |
concepts |
Linkage of concept names
|
3.5 |
966 |
CD2 |
Nested types without linkage
|
3.5 |
1112 |
FDIS |
constexpr variables should have internal linkage like const
|
3.5 |
1113 |
FDIS |
Linkage of namespace member of unnamed namespace
|
3.5 |
1415 |
DR |
Missing prohibition of block-scope definition of extern object
|
3.6.1 |
792 |
CD2 |
Effects of std::quick_exit
|
3.6.1 |
882 |
CD2 |
Defining main as deleted
|
3.6.1 |
1003 |
DRWP |
Acceptable definitions of main
|
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.2 |
1187 |
FDIS |
Problems in initialization example
|
3.6.2 |
1294 |
drafting |
Side effects in dynamic/static initialization
|
3.6.2 |
1489 |
ready |
Is value-initialization of an array constant 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.6.3 |
776 |
CD2 |
Delegating constructors, destructors, and std::exit
|
3.6.3 |
946 |
CD2 |
Order of destruction of local static objects and calls to std::atexit
|
3.7 |
365 |
open |
Storage duration and temporaries
|
3.7.4 |
967 |
open |
Exception specification of replacement allocation function
|
3.7.4.1 |
521 |
CD1 |
Requirements for exceptions thrown by allocation functions
|
3.7.4.1 |
1338 |
open |
Aliasing and allocation functions
|
3.7.4.2 |
220 |
CD1 |
All deallocation functions should be required not to throw
|
3.7.4.2 |
312 |
ready |
“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 |
CD2 |
Missing case in specification of safely-derived pointers
|
3.7.4.3 |
853 |
CD2 |
Support for relaxed pointer safety
|
3.7.4.3 |
1190 |
FDIS |
Operations on non-safely-derived pointers
|
3.7.4.3 |
1438 |
DR |
Non-dereference use of invalid 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 |
DRWP |
Conversions applied to out-of-lifetime non-POD lvalues
|
3.8 |
793 |
CD2 |
Use of class members during destruction
|
3.8 |
1027 |
drafting |
Type consistency and reallocation of scalar types
|
3.8 |
1050 |
NAD |
Effects of thread support on object lifetime
|
3.8 |
1114 |
FDIS |
Incorrect use of placement new in example
|
3.8 |
1116 |
drafting |
Aliasing of union members
|
3.8 |
1280 |
NAD |
Object reallocation and reference members
|
3.8 |
1284 |
drafting |
Should the lifetime of an array be independent of that of its elements?
|
3.8 |
1285 |
open |
Trivial destructors and object lifetime
|
3.8 |
1530 |
drafting |
Member access in out-of-lifetime objects
|
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 |
open |
signed char underlying representation for objects
|
3.9 |
496 |
ready |
Is a volatile-qualified type really a POD?
|
3.9 |
619 |
FDIS |
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 |
883 |
CD2 |
std::memcpy vs std::memmove
|
3.9 |
981 |
FDIS |
Constexpr constructor templates and literal types
|
3.9 |
1071 |
FDIS |
Literal class types and trivial default constructors
|
3.9 |
1181 |
FDIS |
What is a “built-in type?”
|
3.9 |
1198 |
FDIS |
Literal types and copy constructors
|
3.9 |
1219 |
FDIS |
Non-static data member initializers in constant expressions
|
3.9 |
1334 |
NAD |
Layout compatibility and cv-qualification
|
3.9 |
1361 |
drafting |
Requirement on brace-or-equal-initializers of literal types
|
3.9 |
1405 |
ready |
constexpr and mutable members of literal types
|
3.9 |
1453 |
DR |
Volatile members in literal classes?
|
3.9.1 |
146 |
open |
Floating-point zero
|
3.9.1 |
251 |
open |
How many signed integer types are there?
|
3.9.1 |
483 |
DRWP |
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.9.1 |
1055 |
FDIS |
Permissible uses of void
|
3.9.1 |
1276 |
NAD |
Reference to stdint.h
|
3.9.1 |
1302 |
DR |
noexcept applied to expression of type void
|
3.9.1 |
1448 |
NAD |
Integral values of type bool
|
3.9.1 |
1515 |
ready |
Modulo 2n arithmetic for implicitly-unsigned types
|
3.9.1 |
1539 |
ready |
Definition of “character type”
|
3.9.3 |
1059 |
DR |
Cv-qualified array types (with rvalues)
|
3.9.3 |
1428 |
DR |
Dynamic const objects
|
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.10 |
846 |
CD2 |
Rvalue references to functions
|
3.10 |
964 |
FDIS |
Incorrect description of when the lvalue-to-rvalue conversion applies
|
3.10 |
1026 |
NAD |
Cv-qualified non-class rvalues
|
3.10 |
1076 |
open |
Value categories and lvalue temporaries
|
3.10 |
1534 |
dup |
cv-qualification of prvalue of type “array of class”
|
3.11 |
649 |
CD1 |
Optionally ill-formed extended alignment requests
|
3.11 |
1090 |
FDIS |
Alignment of subobjects
|
3.11 |
1115 |
FDIS |
C-compatible alignment specification
|
3.11 |
1180 |
FDIS |
Over-aligned class types
|
3.11 |
1211 |
drafting |
Misaligned lvalues
|
4 |
572 |
FDIS |
Standard conversions for non-built-in types
|
4.1 |
240 |
ready |
Uninitialized values and undefined behavior
|
4.1 |
617 |
drafting |
Lvalue-to-rvalue conversions of uninitialized char objects
|
4.1 |
1013 |
ready |
Uninitialized std::nullptr_t objects
|
4.2 |
693 |
CD2 |
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 |
CD2 |
Integral promotion of enumeration ignores fixed underlying type
|
4.9 |
566 |
NAD |
Conversion of negative floating point values to integer type
|
4.9 |
707 |
CD2 |
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.10 |
917 |
concepts |
Pointer conversions between archetypes
|
4.11 |
170 |
drafting |
Pointer-to-member conversions
|
4.11 |
480 |
CD1 |
Is a base of a virtual base also virtual?
|
4.11 |
794 |
extension |
Base-derived conversion in member type of pointer-to-member conversion
|
4.12 |
1423 |
DR |
Convertibility of nullptr to bool
|
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 |
CD2 |
Possible flaw in wording for multiple accesses to object between sequence points
|
5 |
451 |
CD1 |
Expressions with invalid results and ill-formedness
|
5 |
695 |
CD2 |
Compile-time calculation errors in constexpr functions
|
5 |
835 |
CD2 |
Scoped enumerations and the “usual arithmetic conversions”
|
5 |
858 |
CD2 |
Example binding an rvalue reference to an lvalue
|
5 |
1117 |
FDIS |
Incorrect note about xvalue member access expressions
|
5 |
1261 |
DR |
Explicit handling of cv-qualification with non-class prvalues
|
5 |
1383 |
DR |
Clarifying discarded-value expressions
|
5.1.1 |
122 |
CD1 |
template-ids as unqualified-ids
|
5.1.1 |
123 |
TC1 |
Bad cross-reference
|
5.1.1 |
125 |
CD1 |
Ambiguity in friend declaration syntax
|
5.1.1 |
147 |
TC1 |
Naming the constructor
|
5.1.1 |
536 |
drafting |
Problems in the description of id-expressions
|
5.1.1 |
687 |
extension |
template keyword with unqualified-ids
|
5.1.1 |
743 |
CD2 |
Use of decltype in a nested-name-specifier
|
5.1.1 |
760 |
CD2 |
this inside a nested class of a non-static member function
|
5.1.1 |
850 |
CD2 |
Restrictions on use of non-static data members
|
5.1.1 |
945 |
FDIS |
Use of this in a late-specified return type
|
5.1.1 |
1440 |
DR |
Acceptable decltype-specifiers used as nested-name-specifiers
|
5.1.2 |
720 |
CD2 |
Need examples of lambda-expressions
|
5.1.2 |
750 |
CD2 |
Implementation constraints on reference-only closure objects
|
5.1.2 |
751 |
CD2 |
Deriving from closure classes
|
5.1.2 |
752 |
CD2 |
Name lookup in nested lambda-expressions
|
5.1.2 |
753 |
CD2 |
Array names in lambda capture sets
|
5.1.2 |
754 |
CD2 |
Lambda expressions in default arguments of block-scope function declarations
|
5.1.2 |
755 |
extension |
Generalized lambda-captures
|
5.1.2 |
756 |
CD2 |
Dropping cv-qualification on members of closure objects
|
5.1.2 |
759 |
CD2 |
Destruction of closure objects
|
5.1.2 |
761 |
CD2 |
Inferred return type of closure object call operator
|
5.1.2 |
762 |
CD2 |
Name lookup in the compound-statement of a lambda expression
|
5.1.2 |
763 |
CD2 |
Is a closure object's operator() inline?
|
5.1.2 |
764 |
CD2 |
Capturing unused variables in a lambda expression
|
5.1.2 |
766 |
CD2 |
Where may lambda expressions appear?
|
5.1.2 |
767 |
CD2 |
void and other unnamed lambda-parameters
|
5.1.2 |
768 |
CD2 |
Ellipsis in a lambda parameter list
|
5.1.2 |
769 |
CD2 |
Initialization of closure objects
|
5.1.2 |
771 |
CD2 |
Move-construction of reference members of closure objects
|
5.1.2 |
772 |
CD2 |
capture-default in lambdas in local default arguments
|
5.1.2 |
774 |
CD2 |
Can a closure class be a POD?
|
5.1.2 |
775 |
CD2 |
Capturing references to functions
|
5.1.2 |
779 |
CD2 |
Rvalue reference members of closure objects?
|
5.1.2 |
782 |
CD2 |
Lambda expressions and argument-dependent lookup
|
5.1.2 |
795 |
NAD |
Dependency of lambdas on <functional>
|
5.1.2 |
796 |
CD2 |
Lifetime of a closure object with members captured by reference
|
5.1.2 |
797 |
CD2 |
Converting a no-capture lambda to a function type
|
5.1.2 |
904 |
CD2 |
Parameter packs in lambda-captures
|
5.1.2 |
955 |
CD2 |
Can a closure type's operator() be virtual?
|
5.1.2 |
958 |
NAD |
Lambdas and decltype
|
5.1.2 |
974 |
review |
Default arguments for lambdas
|
5.1.2 |
975 |
review |
Restrictions on return type deduction for lambdas
|
5.1.2 |
1034 |
FDIS |
Attributes for return statements in lambdas
|
5.1.2 |
1048 |
extension |
auto deduction and lambda return type deduction.
|
5.1.2 |
1062 |
FDIS |
Syntax of attribute-specifiers in lambdas
|
5.1.2 |
1118 |
NAD |
Implicit lambda capture via explicit copy constructor
|
5.1.2 |
1249 |
drafting |
Cv-qualification of nested lambda capture
|
5.1.2 |
1468 |
drafting |
typeid, overload resolution, and implicit lambda capture
|
5.1.2 |
1557 |
ready |
Language linkage of converted lambda function pointer
|
5.2 |
863 |
CD2 |
Rvalue reference cast to incomplete type
|
5.2.1 |
798 |
FDIS |
Overloaded subscript operator described in clause 5
|
5.2.1 |
1213 |
drafting |
Array subscripting and xvalues
|
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 |
CD2 |
Can nullptr be passed to an ellipsis?
|
5.2.2 |
1083 |
FDIS |
Passing an object to ellipsis with non-trivial move constructor
|
5.2.2 |
1516 |
ready |
Definition of “virtual function call”
|
5.2.2 |
1555 |
extension |
Language linkage and function type compatibility
|
5.2.3 |
914 |
extension |
Value-initialization of array types
|
5.2.3 |
943 |
open |
Is T() a temporary?
|
5.2.3 |
1300 |
extension |
T() for array types
|
5.2.3 |
1521 |
drafting |
T{expr} with reference types
|
5.2.3 |
1525 |
NAD |
Array bound inference in temporary array
|
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 |
CD2 |
Omitted reference qualification of member function type
|
5.2.5 |
1119 |
FDIS |
Missing case in description of member access ambiguity
|
5.2.6 |
742 |
open |
Postfix increment/decrement with long bit-field operands
|
5.2.7 |
665 |
CD2 |
Problems in the specification of dynamic_cast
|
5.2.7 |
1269 |
DR |
dynamic_cast of an xvalue operand
|
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.8 |
1416 |
DR |
Function cv-qualifiers and 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.9 |
833 |
CD2 |
Explicit conversion of a scoped enumeration value to a floating type
|
5.2.9 |
1011 |
FDIS |
Standard conversions that cannot be inverted
|
5.2.9 |
1094 |
FDIS |
Converting floating-point values to scoped enumeration types
|
5.2.9 |
1320 |
ready |
Converting scoped enumerations to bool
|
5.2.9 |
1376 |
drafting |
static_cast of temporary to rvalue reference
|
5.2.9 |
1412 |
ready |
Problems in specifying pointer conversions
|
5.2.9 |
1447 |
DR |
static_cast of bit-field lvalue to rvalue reference
|
5.2.10 |
195 |
CD1 |
Converting between function and object pointers
|
5.2.10 |
463 |
CD1 |
reinterpret_cast<T*>(0)
|
5.2.10 |
573 |
FDIS |
Conversions between function pointers and void*
|
5.2.10 |
658 |
CD2 |
Defining reinterpret_cast for pointer types
|
5.2.10 |
734 |
CD2 |
Are unique addresses required for namespace-scope variables?
|
5.2.10 |
799 |
CD2 |
Can reinterpret_cast be used to cast an operand to its own type?
|
5.2.10 |
800 |
NAD |
Safely-derived pointers and object pointers converted from function pointers
|
5.2.10 |
842 |
CD2 |
Casting to rvalue reference type
|
5.2.10 |
944 |
open |
reinterpret_cast for all types with the same size and alignment
|
5.2.10 |
1120 |
FDIS |
reinterpret_cast and void*
|
5.2.10 |
1268 |
DR |
reinterpret_cast of an xvalue operand
|
5.2.11 |
801 |
CD2 |
Casting away constness in a cast to rvalue reference type
|
5.2.11 |
891 |
CD2 |
const_cast to rvalue reference from objectless rvalue
|
5.2.11 |
1086 |
FDIS |
const_cast to rvalue reference to function type
|
5.3 |
342 |
DR |
Terminology: "indirection" versus "dereference"
|
5.3.1 |
203 |
extension |
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.1 |
802 |
concepts |
Problems with restrictions on taking the address of a member of a concept map
|
5.3.1 |
983 |
CD2 |
Ambiguous pointer-to-member constant
|
5.3.1 |
1121 |
FDIS |
Unnecessary ambiguity error in formation of pointer to member
|
5.3.1 |
1230 |
open |
Confusing description of ambiguity of destructor name
|
5.3.1 |
1458 |
DR |
Address of incomplete type vs operator&()
|
5.3.3 |
803 |
CD2 |
sizeof an enumeration type with a fixed underlying type
|
5.3.3 |
839 |
dup |
sizeof with opaque enumerations
|
5.3.3 |
1122 |
FDIS |
Circular definition of std::size_t
|
5.3.3 |
1553 |
ready |
sizeof and xvalue bit-fields
|
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 |
DRWP |
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 |
extension |
Determining the buffer size for placement new
|
5.3.4 |
624 |
CD1 |
Overflow in calculating size of allocation
|
5.3.4 |
672 |
CD2 |
Sequencing of initialization in new-expressions
|
5.3.4 |
804 |
CD2 |
Deducing the type in new auto(x)
|
5.3.4 |
805 |
CD2 |
Which exception to throw for overflow in array size calculation
|
5.3.4 |
901 |
drafting |
Deleted operator delete
|
5.3.4 |
1061 |
FDIS |
Negative array bounds in a new-expression
|
5.3.4 |
1464 |
ready |
Negative array bound in a new-expression
|
5.3.4 |
1469 |
drafting |
Omitted bound in array new-expression
|
5.3.4 |
1559 |
ready |
String too long in initializer list of new-expression
|
5.3.4 |
1566 |
drafting |
Should new std::initializer_list<T> be ill-formed?
|
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 |
CD2 |
Deleting a null function pointer
|
5.3.5 |
1037 |
FDIS |
Requirements for operands of delete-expressions and deallocation functions
|
5.3.5 |
1259 |
extension |
Deleting a POD via a pointer to base
|
5.3.6 |
659 |
CD1 |
Alignment of function types
|
5.3.6 |
930 |
CD2 |
alignof with incomplete array type
|
5.3.6 |
1008 |
extension |
Querying the alignment of an object
|
5.3.6 |
1305 |
DRWP |
alignof applied to array of unknown size
|
5.3.7 |
1123 |
FDIS |
Destructors should be noexcept by default
|
5.3.7 |
1354 |
DR |
Destructor exceptions for temporaries in noexcept expressions
|
5.3.7 |
1465 |
tentatively ready |
noexcept and std::bad_array_new_length
|
5.4 |
242 |
open |
Interpretation of old-style casts
|
5.4 |
520 |
CD1 |
Old-style casts between incomplete class types
|
5.4 |
909 |
NAD |
Old-style casts with conversion functions
|
5.5 |
497 |
CD1 |
Missing required initialization in example
|
5.5 |
1091 |
FDIS |
Inconsistent use of the term “object expression”
|
5.5 |
1124 |
NAD |
Error in description of value category of pointer-to-member expression
|
5.5 |
1340 |
DRWP |
Complete type in member pointer expressions
|
5.6 |
614 |
CD1 |
Results of integer / and %
|
5.6 |
1450 |
DR |
INT_MIN % -1
|
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.7 |
1314 |
NAD |
Pointer arithmetic within standard-layout objects
|
5.7 |
1504 |
ready |
Pointer arithmetic after derived-base conversion
|
5.8 |
854 |
CD2 |
Left shift and unsigned extended types
|
5.8 |
1457 |
DR |
Undefined behavior in left-shift
|
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.9 |
963 |
CD2 |
Comparing nullptr with 0
|
5.9 |
1512 |
review |
Pointer comparison vs qualification conversions
|
5.10 |
73 |
TC1 |
Pointer equality
|
5.10 |
1400 |
NAD |
Function pointer equality
|
5.16 |
446 |
CD1 |
Does an lvalue-to-rvalue conversion on the "?" operator produce a temporary?
|
5.16 |
587 |
CD2 |
Lvalue operands of a conditional expression differing only in cv-qualification
|
5.16 |
1550 |
ready |
Parenthesized throw-expression operand of conditional-expression
|
5.16 |
1560 |
ready |
Gratuitous lvalue-to-rvalue conversion in conditional-expression with throw-expression operand
|
5.17 |
556 |
CD2 |
Conflicting requirements for acceptable aliasing
|
5.17 |
855 |
CD2 |
Incorrect comments in braced-init-list assignment example
|
5.17 |
1527 |
ready |
Assignment from braced-init-list
|
5.17 |
1538 |
ready |
C-style cast in braced-init-list assignment
|
5.17 |
1542 |
drafting |
Compound assignment of braced-init-list
|
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 |
NAD |
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 |
CD2 |
Compile-time evaluation of floating-point expressions
|
5.19 |
684 |
CD1 |
Constant expressions involving the address of an automatic variable
|
5.19 |
715 |
CD2 |
Class member access constant expressions
|
5.19 |
721 |
CD2 |
Where must a variable be initialized to be used in a constant expression?
|
5.19 |
806 |
CD2 |
Enumeration types in integral constant expressions
|
5.19 |
807 |
NAD |
typeid expressions in constant expressions
|
5.19 |
1010 |
CD2 |
Address of object with dynamic storage duration in constant expression
|
5.19 |
1060 |
FDIS |
Scoped enumerators in integral constant expressions
|
5.19 |
1098 |
FDIS |
Pointer conversions in constant expressions
|
5.19 |
1099 |
FDIS |
Infinite recursion in constexpr functions
|
5.19 |
1100 |
FDIS |
constexpr conversion functions and non-type template arguments
|
5.19 |
1125 |
FDIS |
Unclear definition of “potential constant expression”
|
5.19 |
1126 |
FDIS |
constexpr functions in const initializers
|
5.19 |
1127 |
FDIS |
Overload resolution in constexpr functions
|
5.19 |
1188 |
FDIS |
Type punning in constant expressions
|
5.19 |
1193 |
FDIS |
Use of address-constant pointers in constant expressions
|
5.19 |
1197 |
FDIS |
Constexpr arrays
|
5.19 |
1255 |
drafting |
Definition problems with constexpr functions
|
5.19 |
1256 |
open |
Unevaluated operands are not necessarily constant expressions
|
5.19 |
1264 |
DRWP |
Use of this in constexpr constructor
|
5.19 |
1293 |
DRWP |
String literals in constant expressions
|
5.19 |
1311 |
DRWP |
Volatile lvalues in constant expressions
|
5.19 |
1312 |
DR |
Simulated reinterpret_cast in constant expressions
|
5.19 |
1313 |
DRWP |
Undefined pointer arithmetic in constant expressions
|
5.19 |
1364 |
DRWP |
constexpr function parameters
|
5.19 |
1365 |
DRWP |
Calling undefined constexpr functions
|
5.19 |
1367 |
DRWP |
Use of this in a constant expression
|
5.19 |
1384 |
NAD |
reinterpret_cast in constant expressions
|
5.19 |
1407 |
NAD |
Integral to bool conversion in converted constant expressions
|
5.19 |
1452 |
drafting |
Value-initialized objects may be constants
|
5.19 |
1454 |
DR |
Passing constants through constexpr functions via references
|
5.19 |
1455 |
DR |
Lvalue converted constant expressions
|
5.19 |
1456 |
ready |
Address constant expression designating the one-past-the-end address
|
5.19 |
1480 |
drafting |
Constant initialization via non-constant temporary
|
5.19 |
1535 |
ready |
typeid in core constant expressions
|
5.19 |
1537 |
ready |
Optional compile-time evaluation of constant expressions
|
5.19 |
1540 |
NAD |
Use of address constants in constant expressions
|
6.2 |
1054 |
FDIS |
Lvalue-to-rvalue conversions in expression statements
|
6.4 |
227 |
TC1 |
How many scopes in an if statement?
|
6.4 |
948 |
FDIS |
constexpr in conditions
|
6.4.1 |
631 |
DR |
Jumping into a “then” clause
|
6.5 |
1204 |
FDIS |
Specifiers in a for-range-declaration
|
6.5.4 |
864 |
FDIS |
braced-init-list in the range-based for statement
|
6.5.4 |
866 |
concepts |
Concept maps and the range-based for
|
6.5.4 |
1274 |
drafting |
Common nonterminal for expression and braced-init-list
|
6.5.4 |
1442 |
ready |
Argument-dependent lookup in the range-based for
|
6.5.4 |
1445 |
dup |
Argument-dependent lookup of begin and end
|
6.5.4 |
1498 |
dup |
Lifetime of temporaries in range-based for
|
6.5.4 |
1523 |
open |
Point of declaration in range-based for
|
6.6 |
276 |
CD1 |
Order of destruction of parameters and temporaries
|
6.6 |
378 |
CD1 |
Wording that says temporaries are declared
|
6.6.3 |
1541 |
ready |
cv void return types
|
6.7 |
467 |
NAD |
Jump past initialization of local static variable
|
6.7 |
723 |
concepts |
Archetypes in skipped declarations
|
6.8 |
1223 |
drafting |
Syntactic disambiguation and trailing-return-types
|
7 |
157 |
open |
Omitted typedef declarator
|
7 |
435 |
NAD |
Change "declararation or definition" to "declaration"
|
7 |
569 |
CD2 |
Spurious semicolons at namespace scope should be allowed
|
7 |
1018 |
FDIS |
Ambiguity between simple-declaration and attribute-declaration
|
7 |
1042 |
FDIS |
Attributes in alias-declarations
|
7 |
1325 |
drafting |
Omitted declarator in friend declarations
|
7.1 |
808 |
CD2 |
Non-type decl-specifiers versus max-munch
|
7.1 |
1128 |
FDIS |
attribute-specifiers in decl-specifier-seqs
|
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 |
CD2 |
Unintentional restrictions on the use of thread_local
|
7.1.1 |
809 |
CD2 |
Deprecation of the register keyword
|
7.1.1 |
810 |
CD2 |
Block-scope thread_local variables should be implicitly static
|
7.1.1 |
940 |
CD2 |
Global anonymous unions
|
7.1.1 |
1544 |
ready |
Linkage of member of unnamed namespace
|
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 |
CD2 |
Local types in inline functions with external linkage
|
7.1.3 |
56 |
TC1 |
Redeclaring typedefs within classes
|
7.1.3 |
407 |
FDIS |
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 |
CD2 |
Typedefs in function definitions
|
7.1.3 |
1247 |
drafting |
Restriction on alias name appearing in type-id
|
7.1.3 |
1437 |
ready |
alignas in alias-declaration
|
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 |
CD2 |
Must constexpr member functions be defined in the class member-specification?
|
7.1.5 |
700 |
FDIS |
Constexpr member functions of class templates
|
7.1.5 |
837 |
FDIS |
Constexpr functions and return braced-init-list
|
7.1.5 |
860 |
FDIS |
Explicit qualification of constexpr member functions
|
7.1.5 |
892 |
FDIS |
Missing requirements for constexpr constructors
|
7.1.5 |
898 |
FDIS |
Declarations in constexpr functions
|
7.1.5 |
991 |
CD2 |
Reference parameters of constexpr functions and constructors
|
7.1.5 |
1129 |
FDIS |
Default nothrow for constexpr functions
|
7.1.5 |
1186 |
FDIS |
Non-dependent constexpr violations in function templates
|
7.1.5 |
1194 |
FDIS |
Constexpr references
|
7.1.5 |
1195 |
FDIS |
References to non-literal types in constexpr functions
|
7.1.5 |
1199 |
FDIS |
Deleted constexpr functions
|
7.1.5 |
1225 |
FDIS |
constexpr constructors and virtual bases
|
7.1.5 |
1316 |
NAD |
constexpr function requirements and class scope
|
7.1.5 |
1358 |
ready |
Unintentionally ill-formed constexpr function template instances
|
7.1.5 |
1359 |
DR |
constexpr union constructors
|
7.1.5 |
1366 |
DRWP |
Deleted constexpr constructors and virtual base classes
|
7.1.5 |
1369 |
DRWP |
Function invocation substitution of this
|
7.1.6 |
539 |
DRWP |
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.1 |
811 |
CD2 |
Unclear implications of const-qualification
|
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.2 |
950 |
CD2 |
Use of decltype as a class-name
|
7.1.6.2 |
988 |
CD2 |
Reference-to-reference collapsing with decltype
|
7.1.6.2 |
1075 |
FDIS |
Grammar does not allow template alias in type-name
|
7.1.6.2 |
1130 |
FDIS |
Function parameter type adjustments and decltype
|
7.1.6.2 |
1212 |
FDIS |
Non-function-call xvalues and 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.3 |
962 |
CD2 |
Attributes appertaining to class and enum types
|
7.1.6.3 |
1131 |
FDIS |
Template aliases in elaborated-type-specifiers
|
7.1.6.4 |
625 |
CD2 |
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 |
CD2 |
auto with braced-init-list
|
7.1.6.4 |
746 |
CD2 |
Use of auto in new-expressions
|
7.1.6.4 |
984 |
CD2 |
“Deduced type” is unclear in auto type deduction
|
7.1.6.4 |
1265 |
DRWP |
Mixed use of the auto specifier
|
7.1.6.4 |
1346 |
DRWP |
expression-list initializers and the auto specifier
|
7.1.6.4 |
1347 |
DRWP |
Consistency of auto in multiple-declarator declarations
|
7.1.6.4 |
1348 |
drafting |
Use of auto in a trailing-return-type
|
7.1.6.4 |
1564 |
extension |
Template argument deduction from an initializer list
|
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 |
CD2 |
The values of an enumeration with no enumerator
|
7.2 |
660 |
CD1 |
Unnamed scoped enumerations
|
7.2 |
862 |
CD2 |
Undefined behavior with enumerator value overflow
|
7.2 |
893 |
NAD |
Brace syntax for enumerator-definitions
|
7.2 |
977 |
open |
When is an enumeration type complete?
|
7.2 |
1022 |
FDIS |
Can an enumeration variable have values outside the values of the enumeration?
|
7.2 |
1317 |
NAD |
Unnamed scoped enumerations
|
7.2 |
1485 |
drafting |
Out-of-class definition of member unscoped opaque enumeration
|
7.3 |
171 |
TC1 |
Global namespace scope
|
7.3 |
987 |
open |
Which declarations introduce namespace members?
|
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 |
812 |
CD2 |
Duplicate names in inline namespaces
|
7.3.1 |
919 |
CD2 |
Contradictions regarding inline namespaces
|
7.3.1 |
921 |
CD2 |
Unclear specification of inline namespaces
|
7.3.1.1 |
926 |
CD2 |
Inline unnamed namespaces
|
7.3.1.1 |
1012 |
FDIS |
Undeprecating static
|
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 |
NAD |
Injection of names from elaborated-type-specifiers in friend declarations
|
7.3.1.2 |
1021 |
open |
Definitions of namespace members
|
7.3.1.2 |
1077 |
extension |
Explicit specializations in non-containing namespaces
|
7.3.1.2 |
1439 |
DR |
Lookup and friend template declarations
|
7.3.1.2 |
1477 |
tentatively ready |
Definition of a friend outside its namespace
|
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 |
drafting |
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 |
DRWP |
Conflict rules for using-declarations naming function templates
|
7.3.3 |
813 |
open |
typename in a using-declaration with a non-dependent name
|
7.3.3 |
852 |
open |
using-declarations and dependent base classes
|
7.3.3 |
1551 |
review |
Wording problems in using-declaration specification
|
7.3.4 |
103 |
TC1 |
Is it extended-namespace-definition or extension-namespace-definition ?
|
7.3.4 |
986 |
CD2 |
Transitivity of using-directives versus qualified lookup
|
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 |
FDIS |
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 |
CD2 |
Agreement of language linkage or linkage-specifications?
|
7.5 |
1185 |
FDIS |
Misleading description of language linkage and member function types
|
7.6 |
814 |
CD2 |
Attribute to indicate that a function throws nothing
|
7.6 |
951 |
CD2 |
Problems with attribute-specifiers
|
7.6 |
970 |
CD2 |
Consistent use of “appertain” and “apply”
|
7.6.1 |
815 |
CD2 |
Parameter pack expansion inside attributes
|
7.6.1 |
957 |
CD2 |
Alternative tokens and attribute-tokens
|
7.6.1 |
968 |
CD2 |
Syntactic ambiguity of the attribute notation
|
7.6.1 |
972 |
FDIS |
Allowing multiple attribute-specifiers
|
7.6.1 |
1031 |
FDIS |
Optional elements in attributes
|
7.6.1 |
1323 |
NAD |
Nonexistent nonterminal in alignment-specifier grammar
|
7.6.2 |
959 |
CD2 |
Alignment attribute for class and enumeration types
|
7.6.2 |
1033 |
FDIS |
Restrictions on alignment attributes
|
7.6.2 |
1036 |
FDIS |
Alignment attribute in an exception-declaration
|
7.6.2 |
1039 |
dup |
Coordinating C and C++ alignment specifications
|
7.6.3 |
836 |
NAD |
[[noreturn]] applied to function types
|
7.6.3 |
1132 |
NAD |
Keyword vs attribute for noreturn
|
7.6.4 |
965 |
CD2 |
Limiting the applicability of the carries_dependency attribute
|
7.6.4 |
1475 |
ready |
Errors in [[carries_dependency]] example
|
8 |
736 |
NAD |
Is the & ref-qualifier needed?
|
8 |
770 |
CD2 |
Ambiguity in late-specified return type
|
8 |
979 |
CD2 |
Position of attribute-specifier in declarator syntax
|
8 |
1243 |
FDIS |
Misleading footnote regarding multiple-declarator declarations
|
8 |
1297 |
DRWP |
Misplaced function attribute-specifier
|
8 |
1342 |
drafting |
Order of initialization with multiple declarators
|
8 |
1382 |
DR |
Dead code for constructor names
|
8 |
1528 |
ready |
Repeated cv-qualifiers in declarators
|
8.1 |
686 |
CD1 |
Type declarations/definitions in type-specifier-seqs and type-ids
|
8.1 |
1234 |
FDIS |
abstract-declarator does not permit ... after ptr-operator
|
8.1 |
1240 |
FDIS |
constexpr defaulted constructors
|
8.1 |
1488 |
drafting |
abstract-pack-declarators in 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 |
CD2 |
Can explicit specialization outside namespace use qualified name?
|
8.3 |
482 |
DRWP |
Qualified declarators in redeclarations
|
8.3 |
548 |
dup |
qualified-ids in declarations
|
8.3 |
920 |
CD2 |
Interaction of inline namespaces and using-declarations
|
8.3 |
1435 |
ready |
template-id as the declarator for a class template constructor
|
8.3.2 |
453 |
drafting |
References may only bind to “valid” objects
|
8.3.2 |
504 |
open |
Should use of a variable in its own initializer require a diagnostic?
|
8.3.2 |
1510 |
ready |
cv-qualified references via decltype
|
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 |
CD2 |
When is the array-to-pointer conversion applied?
|
8.3.4 |
1222 |
NAD |
Unnecessary restriction on auto array types
|
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 |
DRWP |
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 |
FDIS |
Partial specialization on member function types
|
8.3.5 |
550 |
open |
Pointer to array of unknown bound in parameter declarations
|
8.3.5 |
577 |
DRWP |
void in an empty parameter list
|
8.3.5 |
681 |
CD1 |
Restrictions on declarators with late-specified return types
|
8.3.5 |
713 |
CD2 |
Unclear note about cv-qualified function types
|
8.3.5 |
725 |
concepts |
When should the requirement for std::Returnable<T>, etc., apply?
|
8.3.5 |
818 |
CD2 |
Function parameter packs in non-final positions
|
8.3.5 |
956 |
CD2 |
Function prototype scope with late-specified return types
|
8.3.5 |
994 |
FDIS |
braced-init-list as a default argument
|
8.3.5 |
998 |
dup |
Function parameter transformations and template functions
|
8.3.5 |
1001 |
drafting |
Parameter type adjustment in dependent parameter types
|
8.3.5 |
1069 |
FDIS |
Incorrect function type with trailing-return-type
|
8.3.5 |
1183 |
FDIS |
Expansion of parameter packs in declarators
|
8.3.5 |
1380 |
DR |
Type definitions in template-parameter parameter-declarations
|
8.3.5 |
1389 |
NAD |
Recursive reference in trailing-return-type
|
8.3.5 |
1394 |
DR |
Incomplete types as parameters of deleted functions
|
8.3.5 |
1417 |
ready |
Pointers/references to functions with cv-qualifiers or ref-qualifier
|
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 |
drafting |
When are default arguments parsed?
|
8.3.6 |
361 |
drafting |
Forward reference to default argument
|
8.3.6 |
777 |
CD2 |
Default arguments and parameter packs
|
8.3.6 |
1226 |
DRWP |
Converting a braced-init-list default argument
|
8.3.6 |
1443 |
NAD |
Default arguments and non-static data members
|
8.4 |
732 |
CD2 |
Late-specified return types in function definitions
|
8.4 |
845 |
CD2 |
What is the “first declaration” of an explicit specialization?
|
8.4 |
906 |
CD2 |
Which special member functions can be defaulted?
|
8.4 |
908 |
CD2 |
Deleted global allocation and deallocation functions
|
8.4 |
915 |
CD2 |
Deleted specializations of member function templates
|
8.4 |
928 |
CD2 |
Defaulting a function that would be implicitly defined as deleted
|
8.4.2 |
1134 |
FDIS |
When is an explicitly-defaulted function defined?
|
8.4.2 |
1135 |
FDIS |
Explicitly-defaulted non-public special member functions
|
8.4.2 |
1136 |
FDIS |
Explicitly-defaulted explicit constructors
|
8.4.2 |
1137 |
FDIS |
Explicitly-defaulted virtual special member functions
|
8.4.2 |
1327 |
DRWP |
virt-specifier in a defaulted definition
|
8.4.2 |
1333 |
DRWP |
Omission of const in a defaulted copy constructor
|
8.4.2 |
1355 |
DRWP |
Aggregates and “user-provided” constructors
|
8.4.2 |
1426 |
extension |
Allowing additional parameter types in defaulted functions
|
8.4.2 |
1552 |
tentatively ready |
exception-specifications and defaulted special member functions
|
8.4.3 |
1217 |
NAD |
Are deleted functions implicitly noexcept?
|
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 |
drafting |
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 |
FDIS |
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 |
CD2 |
Zero-initializing references
|
8.5 |
615 |
FDIS |
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 |
FDIS |
Zero- and value-initialization of union objects
|
8.5 |
869 |
CD2 |
Uninitialized thread_local objects
|
8.5 |
1093 |
DRWP |
Value-initializing non-objects
|
8.5 |
1214 |
FDIS |
Kinds of initializers
|
8.5 |
1301 |
DRWP |
Value initialization of union
|
8.5 |
1324 |
DRWP |
Value initialization and defaulted constructors
|
8.5 |
1339 |
NAD |
Parenthesized braced-init-list and arrays
|
8.5 |
1368 |
DRWP |
Value initialization and defaulted constructors (part 2)
|
8.5 |
1434 |
NAD |
Parenthesized braced-init-list
|
8.5 |
1502 |
ready |
Value initialization of unions with member initializers
|
8.5 |
1507 |
drafting |
Value initialization with trivial inaccessible default constructor
|
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.1 |
886 |
CD2 |
Member initializers and aggregates
|
8.5.1 |
938 |
FDIS |
Initializer lists and array new
|
8.5.1 |
1030 |
FDIS |
Evaluation order in initializer-lists used in aggregate initialization
|
8.5.1 |
1070 |
FDIS |
Missing initializer clauses in aggregate initialization
|
8.5.1 |
1097 |
NAD |
Aggregate initialization of function parameters
|
8.5.1 |
1497 |
NAD |
Aggregate initialization with parenthesized string literal
|
8.5.1 |
1561 |
extension |
Aggregates with empty base classes
|
8.5.2 |
737 |
CD2 |
Uninitialized trailing characters in string initialization
|
8.5.2 |
936 |
CD2 |
Array initialization with new string literals
|
8.5.2 |
1304 |
drafting |
Omitted array bound with 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 |
CD2 |
Direct binding of class and array rvalues in reference initialization
|
8.5.3 |
656 |
CD2 |
Direct binding to the result of a conversion operator
|
8.5.3 |
664 |
CD2 |
Direct binding of references to non-class rvalue references
|
8.5.3 |
896 |
CD2 |
Rvalue references and rvalue-reference conversion functions
|
8.5.3 |
1058 |
NAD |
Reference binding of incompatible array types
|
8.5.3 |
1138 |
FDIS |
Rvalue-ness check for rvalue reference binding is wrong
|
8.5.3 |
1139 |
FDIS |
Rvalue reference binding to scalar xvalues
|
8.5.3 |
1236 |
FDIS |
Inconsistently-interrelated examples
|
8.5.3 |
1263 |
NAD |
Mismatch between rvalue reference binding and overload resolution
|
8.5.3 |
1287 |
review |
Direct initialization vs “implicit” conversion in reference binding
|
8.5.3 |
1295 |
DRWP |
Binding a reference to an rvalue bit-field
|
8.5.3 |
1328 |
ready |
Conflict in reference binding vs overload resolution
|
8.5.3 |
1401 |
DR |
Similar types and reference compatibility
|
8.5.3 |
1414 |
drafting |
Binding an rvalue reference to a reference-unrelated lvalue
|
8.5.4 |
703 |
CD2 |
Narrowing for literals that cannot be exactly represented
|
8.5.4 |
865 |
CD2 |
Initializing a std::initializer_list
|
8.5.4 |
934 |
CD2 |
List-initialization of references
|
8.5.4 |
982 |
NAD |
Initialization with an empty initializer list
|
8.5.4 |
989 |
CD2 |
Misplaced list-initialization example
|
8.5.4 |
990 |
CD2 |
Value initialization with multiple initializer-list constructors
|
8.5.4 |
1078 |
NAD |
Narrowing and the usual arithmetic conversions
|
8.5.4 |
1095 |
FDIS |
List-initialization of references
|
8.5.4 |
1232 |
FDIS |
Creation of array temporaries using a braced-init-list
|
8.5.4 |
1270 |
DR |
Brace elision in array temporary initialization
|
8.5.4 |
1288 |
DRWP |
Reference list initialization
|
8.5.4 |
1290 |
DR |
Lifetime of the underlying array of an initializer_list member
|
8.5.4 |
1379 |
NAD |
Is std::initializer_list an aggregate?
|
8.5.4 |
1418 |
DR |
Type of initializer_list backing array |
8.5.4 |
1419 |
NAD |
Evaluation order in aggregate initialization
|
8.5.4 |
1421 |
NAD |
Full expressions and aggregate initialization
|
8.5.4 |
1449 |
DR |
Narrowing conversion of negative value to unsigned type
|
8.5.4 |
1461 |
extension |
Narrowing conversions to bit-fields
|
8.5.4 |
1467 |
drafting |
List-initialization of aggregate from same-type object
|
8.5.4 |
1490 |
drafting |
List-initialization from a string literal
|
8.5.4 |
1494 |
drafting |
Temporary initialization for reference binding in list-initialization
|
8.5.4 |
1501 |
NAD |
Nested braces in list-initialization
|
8.5.4 |
1505 |
dup |
Direct binding of reference to temporary in list-initialization
|
8.5.4 |
1506 |
ready |
Value category of initializer_list object
|
8.5.4 |
1508 |
tentatively ready |
Template initializer-list constructors
|
8.5.4 |
1518 |
drafting |
Explicit default constructors and copy-list-initialization
|
8.5.4 |
1522 |
ready |
Access checking for initializer_list array initialization
|
8.5.4 |
1565 |
drafting |
Copy elision and lifetime of initializer_list underlying array
|
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 |
FDIS |
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 |
905 |
CD2 |
Explicit defaulted copy constructors and trivial copyability
|
9 |
1140 |
FDIS |
Incorrect redefinition of POD class
|
9 |
1215 |
FDIS |
Definition of POD struct
|
9 |
1318 |
ready |
Syntactic ambiguities with final
|
9 |
1363 |
DR |
Triviality vs multiple default constructors
|
9 |
1411 |
ready |
More on global scope :: in nested-name-specifier
|
9.1 |
417 |
CD1 |
Using derived-class qualified name in out-of-class nested class definition
|
9.1 |
1496 |
drafting |
Triviality with deleted and missing default constructors
|
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 |
CD2 |
Are bit-field and non-bit-field members layout compatible?
|
9.2 |
844 |
concepts |
Is a constrained member function a template?
|
9.2 |
874 |
CD2 |
Class-scope definitions of enumeration types
|
9.2 |
924 |
FDIS |
alias-declaration as a class member
|
9.2 |
1035 |
FDIS |
Omitted and required decl-specifiers
|
9.2 |
1041 |
dup |
alias-declarations as class members
|
9.2 |
1072 |
FDIS |
Scoped enumerator with the same name as its containing class
|
9.2 |
1141 |
NAD |
Non-static data member initializers have not been implemented
|
9.2 |
1308 |
DRWP |
Completeness of class type within an exception-specification
|
9.2 |
1341 |
drafting |
Bit-field initializers
|
9.2 |
1357 |
DRWP |
brace-or-equal-initializers for function and typedef members
|
9.2 |
1397 |
open |
Class completeness in non-static data member initializers
|
9.2 |
1425 |
ready |
Base-class subobjects of standard-layout structs
|
9.3 |
1142 |
FDIS |
friend declaration of member function of containing class
|
9.3.1 |
1005 |
NAD |
Qualified name resolution in member functions of class templates
|
9.3.1 |
1017 |
FDIS |
Member access transformation in unevaluated operands
|
9.3.1 |
1143 |
NAD |
Move semantics for *this have not been implemented
|
9.3.1 |
1207 |
FDIS |
Type of class member in trailing-return-type
|
9.3.1 |
1208 |
FDIS |
Explicit noexcept in defaulted definition
|
9.3.2 |
452 |
CD1 |
Wording nit on description of this
|
9.3.2 |
1306 |
DRWP |
Modifying an object within a const member function
|
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 |
CD2 |
Static const data members and braced-init-lists
|
9.4.2 |
902 |
NAD |
In-class initialization of non-constant static data members
|
9.4.2 |
1101 |
FDIS |
Non-integral initialized static data members
|
9.4.2 |
1203 |
dup |
Misleading note regarding initialized static data members
|
9.4.2 |
1272 |
extension |
Implicit definition of static data member of const literal type
|
9.4.2 |
1283 |
drafting |
Static data members of classes with typedef name for linkage purposes
|
9.5 |
57 |
open |
Empty unions
|
9.5 |
359 |
NAD |
Type definition in anonymous union
|
9.5 |
512 |
NAD |
Union members with user-declared non-default constructors
|
9.5 |
716 |
CD2 |
Specifications that should apply only to non-static union data members
|
9.5 |
1375 |
DR |
Reference to anonymous union?
|
9.5 |
1404 |
drafting |
Object reallocation in unions
|
9.5 |
1460 |
drafting |
What is an empty union?
|
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 |
DR |
Signedness of bit-field with typedef or template parameter type
|
9.6 |
739 |
DR |
Signedness of plain bit-fields
|
9.6 |
741 |
FDIS |
“plain” long long bit-fields
|
9.6 |
1514 |
tentatively ready |
Ambiguity between enumeration definition and zero-length bit-field
|
9.7 |
347 |
NAD |
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 |
FDIS |
Use of block-scope constants in local classes
|
10 |
484 |
CD1 |
Can a base-specifier name a cv-qualified class type?
|
10 |
1019 |
dup |
Dependent simple-template-ids in base-specifiers and mem-initializers
|
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 |
CD2 |
Determining the final overrider of a virtual function
|
10.3 |
939 |
CD2 |
Explicitly checking virtual function overriding
|
10.3 |
960 |
CD2 |
Covariant functions and lvalue/rvalue references
|
10.3 |
1250 |
DRWP |
Cv-qualification of incomplete virtual function return types
|
10.4 |
230 |
extension |
Calls to pure virtual functions
|
10.4 |
390 |
CD1 |
Pure virtual must be defined when implicitly called
|
10.4 |
1420 |
NAD |
Abstract final classes
|
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 |
FDIS |
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 |
dup |
Access of protected base classes
|
11.2 |
952 |
drafting |
Insufficient description of “naming class”
|
11.3 |
77 |
CD1 |
The definition of friend does not allow nested classes to be friends
|
11.3 |
209 |
NAD |
Must friend declaration names be
accessible? |
11.3 |
445 |
NAD |
Wording issue on friend declarations
|
11.3 |
500 |
CD1 |
Access in base-specifiers of friend and nested classes
|
11.3 |
501 |
NAD |
Visibility of friend declarations within the befriending class
|
11.3 |
585 |
NAD |
Friend template template parameters
|
11.3 |
718 |
open |
Non-class, non-function friend declarations
|
11.4 |
19 |
NAD |
Clarify protected member access
|
11.4 |
161 |
TC1 |
Access to protected nested type
|
11.4 |
385 |
CD1 |
How does protected member check of 11.5 interact with using-declarations?
|
11.4 |
472 |
drafting |
Casting across protected inheritance
|
11.4 |
1007 |
NAD |
Protected access and pointers to members
|
11.7 |
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.7 |
45 |
CD1 |
Access to nested classes
|
12 |
819 |
NAD |
Access control and deleted implicitly-declared special member functions
|
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 |
FDIS |
constexpr not permitted by the syntax of constructor declarations
|
12.1 |
922 |
CD2 |
Implicit default constructor definitions and const variant members
|
12.1 |
927 |
CD2 |
Implicitly-deleted default constructors and member initializers
|
12.1 |
1145 |
FDIS |
Defaulting and triviality
|
12.1 |
1191 |
FDIS |
Deleted subobject destructors and implicitly-defined constructors
|
12.1 |
1353 |
drafting |
Array and variant members and deleted special member functions
|
12.1 |
1360 |
drafting |
constexpr defaulted default constructors
|
12.1 |
1427 |
NAD |
Default constructor and deleted or inaccessible destructors
|
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 |
DRWP |
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 |
CD2 |
Order of destruction for temporaries bound to the returned value of a function
|
12.2 |
900 |
NAD |
Lifetime of temporaries in range-based for
|
12.2 |
1237 |
FDIS |
Deprecated implicit copy assignment in example
|
12.2 |
1299 |
open |
“Temporary objects” vs “temporary expressions”
|
12.2 |
1568 |
open |
Temporary lifetime extension with intervening cast
|
12.3.1 |
152 |
TC1 |
explicit copy constructors
|
12.3.1 |
1336 |
DRWP |
Definition of “converting constructor”
|
12.3.2 |
296 |
CD1 |
Can conversion functions be static?
|
12.3.2 |
395 |
NAD |
Conversion operator template syntax
|
12.3.2 |
875 |
concepts |
Associated conversion functions converting to the same type
|
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.4 |
1029 |
FDIS |
Type of a destructor call
|
12.4 |
1081 |
FDIS |
Defaulted destructor and unusable operator delete
|
12.4 |
1146 |
FDIS |
exception-specifications of defaulted functions
|
12.4 |
1147 |
FDIS |
Destructors should be default nothrow
|
12.4 |
1241 |
FDIS |
Which members does a destructor destroy?
|
12.4 |
1492 |
tentatively ready |
Exception specifications on template destructors
|
12.5 |
255 |
drafting |
Placement deallocation functions and lookup ambiguity
|
12.6 |
510 |
CD1 |
Default initialization of POD classes?
|
12.6 |
542 |
CD2 |
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 |
CD2 |
Abstract base constructors and virtual base initialization
|
12.6.2 |
607 |
open |
Lookup of mem-initializer-ids
|
12.6.2 |
655 |
FDIS |
Initialization not specified for forwarding constructors
|
12.6.2 |
838 |
FDIS |
Use of this in a brace-or-equal-initializer
|
12.6.2 |
888 |
CD2 |
Union member initializers
|
12.6.2 |
1242 |
FDIS |
Initializing variant class members
|
12.6.2 |
1345 |
DRWP |
Initialization of anonymous union class members
|
12.6.2 |
1562 |
drafting |
Non-static data member initializers and union ctor-initializer
|
12.7 |
307 |
NAD |
Initialization of a virtual base class subobject
|
12.7 |
710 |
CD2 |
Data races during construction
|
12.7 |
1202 |
FDIS |
Calling virtual functions during destruction
|
12.7 |
1517 |
drafting |
Unclear/missing description of behavior during construction/destruction
|
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 |
NAD |
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 |
DRWP |
Copy construction without a copy constructor
|
12.8 |
574 |
NAD |
Definition of “copy assignment operator”
|
12.8 |
653 |
CD2 |
Copy assignment of unions
|
12.8 |
667 |
CD2 |
Trivial special member functions that cannot be implicitly defined
|
12.8 |
680 |
CD2 |
What is a move constructor?
|
12.8 |
683 |
CD1 |
Requirements for trivial subobject special functions
|
12.8 |
733 |
NAD |
Reference qualification of copy assignment operators
|
12.8 |
887 |
CD2 |
Move construction of thrown object
|
12.8 |
910 |
CD2 |
Move constructors and implicitly-declared copy constructors
|
12.8 |
992 |
NAD |
Inheriting explicitness
|
12.8 |
1020 |
FDIS |
Implicitly-defined copy constructors and explicit base class constructors
|
12.8 |
1049 |
open |
Copy elision through reference parameters of inline functions
|
12.8 |
1051 |
FDIS |
Reference members and generated copy constructors
|
12.8 |
1052 |
dup |
const non-static data member and PODness
|
12.8 |
1064 |
FDIS |
Defaulted move constructor for a union
|
12.8 |
1066 |
FDIS |
When is a copy/move assignment operator implicitly defined?
|
12.8 |
1080 |
FDIS |
Confusing relationship between templates and copy constructors
|
12.8 |
1082 |
FDIS |
Implicit copy function if subobject has none?
|
12.8 |
1084 |
NAD |
Conditions for a deleted move function
|
12.8 |
1085 |
NAD |
Move assignment operators and virtual bases
|
12.8 |
1092 |
drafting |
Cycles in overload resolution during instantiation
|
12.8 |
1148 |
FDIS |
Copy elision and move construction of function parameters
|
12.8 |
1149 |
FDIS |
Trivial non-public copy operators in subobjects
|
12.8 |
1224 |
FDIS |
constexpr defaulted copy constructors
|
12.8 |
1331 |
extension |
const mismatch with defaulted copy constructor
|
12.8 |
1344 |
drafting |
Adding new special member functions to a class via default arguments
|
12.8 |
1402 |
review |
Move functions too often deleted
|
12.8 |
1491 |
drafting |
Move construction and rvalue reference members
|
12.8 |
1493 |
drafting |
Criteria for move-construction
|
12.8 |
1499 |
drafting |
Missing case for deleted move assignment operator
|
12.8 |
1548 |
drafting |
Copy/move construction and conversion functions
|
12.9 |
1150 |
NAD |
Inheriting constructors have not been implemented
|
12.9 |
1350 |
DRWP |
Incorrect exception specification for inherited constructors
|
12.9 |
1487 |
drafting |
When are inheriting constructors declared?
|
12.9 |
1567 |
review |
Inheriting constructors and copy/move constructors
|
13 |
1016 |
FDIS |
Overloadable declarations, function templates, and references
|
13.1 |
1252 |
drafting |
Overloading member function templates based on dependent return type
|
13.3 |
999 |
CD2 |
“Implicit” or “implied” object argument/parameter?
|
13.3.1.1 |
162 |
CD1 |
(&C::f)() with nonstatic members
|
13.3.1.1 |
704 |
CD2 |
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.1 |
1278 |
drafting |
Incorrect treatment of contrived 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.2 |
1385 |
DR |
Syntactic forms of conversion functions for surrogate call functions
|
13.3.1.3 |
604 |
CD2 |
Argument list for overload resolution in copy-initialization
|
13.3.1.4 |
59 |
TC1 |
Clarification of overloading and UDC to reference type
|
13.3.1.4 |
899 |
CD2 |
Explicit conversion functions in direct class initialization
|
13.3.1.4 |
1087 |
FDIS |
Additional applications of issue 899
|
13.3.1.4 |
1556 |
ready |
Constructors and explicit conversion functions in direct initialization
|
13.3.1.6 |
1373 |
dup |
Overload resolution changes matching reference-binding changes
|
13.3.1.6 |
1392 |
DR |
Explicit conversion functions for references and non-references
|
13.3.1.7 |
1151 |
FDIS |
Overload resolution with initializer-list and non-list constructors
|
13.3.1.7 |
1228 |
NAD |
Copy-list-initialization and explicit constructors
|
13.3.1.7 |
1229 |
FDIS |
Overload resolution with empty braced-init-list argument
|
13.3.2 |
641 |
CD2 |
Overload resolution and conversion-to-same-type operators
|
13.3.2 |
877 |
CD2 |
Viable functions and binding references to rvalues
|
13.3.2 |
1152 |
FDIS |
Rules for determining existence of implicit conversion sequence
|
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 |
drafting |
Partial ordering and non-deduced arguments
|
13.3.3 |
495 |
CD2 |
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 |
978 |
CD2 |
Incorrect specification for copy initialization
|
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.1.4 |
953 |
CD2 |
Rvalue references and function viability
|
13.3.3.1.4 |
1205 |
dup |
Lvalue reference binding and function viability
|
13.3.3.1.5 |
1307 |
drafting |
Overload resolution based on size of array initializer-list
|
13.3.3.1.5 |
1409 |
DR |
What is the second standard conversion sequence of a list-initialization sequence?
|
13.3.3.1.5 |
1536 |
drafting |
Overload resolution with temporary from initializer list
|
13.3.3.1.5 |
1543 |
ready |
Implicit conversion sequence for empty initializer list
|
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 |
CD2 |
Preferring conversion to std::initializer_list
|
13.3.3.2 |
961 |
CD2 |
Overload resolution and conversion of std::nullptr_t to bool
|
13.3.3.2 |
1079 |
FDIS |
Overload resolution involving aggregate initialization
|
13.3.3.2 |
1238 |
FDIS |
Overloading ambiguity binding reference to function
|
13.3.3.2 |
1298 |
DRWP |
Incorrect example in overload resolution
|
13.3.3.2 |
1374 |
ready |
Qualification conversion vs difference in reference binding
|
13.3.3.2 |
1408 |
DR |
What is “the same aggregate initialization?”
|
13.3.3.2 |
1410 |
DR |
Reference overload tiebreakers should apply to rvalue references
|
13.3.3.2 |
1459 |
open |
Reference-binding tiebreakers in overload resolution
|
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.4 |
1038 |
open |
Overload resolution of &x.static_func
|
13.4 |
1153 |
FDIS |
Type matching in address of overloaded function
|
13.4 |
1563 |
drafting |
List-initialization and overloaded function disambiguation
|
13.5.2 |
1549 |
open |
Overloaded comma operator with void operand
|
13.5.3 |
221 |
CD1 |
Must compound assignment operators be member functions?
|
13.5.6 |
420 |
CD1 |
postfixexpression->scalar_type_dtor() inconsistent
|
13.5.7 |
1481 |
ready |
Increment/decrement operators with reference parameters
|
13.5.8 |
935 |
CD2 |
Missing overloads for character types for user-defined literals
|
13.5.8 |
1473 |
tentatively ready |
Syntax of literal-operator-id
|
13.5.8 |
1479 |
ready |
Literal operators and default arguments
|
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 |
dup |
Ambiguity assigning class object to built-in type
|
13.6 |
749 |
CD2 |
References to function types with a cv-qualifier or ref-qualifier
|
13.6 |
878 |
concepts |
Effective class types in built-in pointer-to-member operator
|
13.6 |
879 |
CD2 |
Missing built-in comparison operators for pointer types
|
13.6 |
880 |
CD2 |
Built-in conditional operator for scoped enumerations
|
13.6 |
954 |
open |
Overload resolution of conversion operator templates with built-in types
|
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 |
extension |
Restrictions on local classes
|
14 |
820 |
CD2 |
Deprecation of export
|
14 |
821 |
concepts |
Exported concept map templates?
|
14 |
822 |
extension |
Additional contexts for template aliases
|
14 |
1009 |
FDIS |
Missing cases in the declarator-id of a function template declaration
|
14 |
1096 |
FDIS |
Missing requirement for template definitions
|
14 |
1303 |
NAD |
C language linkage for template with internal linkage
|
14 |
1463 |
open |
extern "C" alias templates
|
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 |
FDIS |
Template parameter packs in class template partial specializations
|
14.1 |
778 |
FDIS |
Template parameter packs in non-type template parameters
|
14.1 |
840 |
CD2 |
Rvalue references as nontype template parameters
|
14.1 |
881 |
concepts |
Inconsistent requirement for naming template parameters
|
14.1 |
1006 |
FDIS |
std::nullptr_t as a non-type template parameter
|
14.1 |
1068 |
FDIS |
Template aliases with default arguments and template parameter packs
|
14.1 |
1179 |
NAD |
Cv-qualification of non-type template parameters
|
14.1 |
1246 |
FDIS |
Non-deduced non-final parameter packs
|
14.1 |
1275 |
DRWP |
Incorrect comment in example of template parameter pack restriction
|
14.1 |
1319 |
NAD |
Error in pack expansion example
|
14.1 |
1444 |
drafting |
Type adjustments of non-type template parameters
|
14.2 |
30 |
TC1 |
Valid uses of "::template"
|
14.2 |
38 |
TC1 |
Explicit template arguments and operator functions
|
14.2 |
96 |
FDIS |
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 |
FDIS |
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.2 |
867 |
concepts |
Naming a specialization of a constrained template
|
14.2 |
868 |
concepts |
Specifying a concept map in the name of a specialization
|
14.2 |
1478 |
drafting |
template keyword for dependent template template arguments
|
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.2 |
773 |
FDIS |
Parentheses in address non-type template arguments
|
14.3.2 |
823 |
CD2 |
Literal types with constexpr conversions as non-type template arguments
|
14.3.2 |
1023 |
dup |
thread_local objects as non-type template arguments
|
14.3.2 |
1025 |
FDIS |
Use of a reference as a non-type template argument
|
14.3.2 |
1154 |
FDIS |
Address of thread_local variable as non-type template argument
|
14.3.2 |
1155 |
FDIS |
Internal-linkage non-type template arguments
|
14.3.2 |
1398 |
DR |
Non-type template parameters of type std::nullptr_t
|
14.3.2 |
1451 |
extension |
Objects with no linkage in non-type template arguments
|
14.3.3 |
150 |
open |
Template template parameters and default arguments
|
14.3.3 |
744 |
CD2 |
Matching template arguments with template template parameters with parameter packs
|
14.3.3 |
849 |
concepts |
Constraints and template template parameters
|
14.4 |
603 |
CD1 |
Type equivalence and unsigned overflow
|
14.4 |
679 |
CD1 |
Equivalence of template-ids and operator function templates
|
14.4 |
1244 |
FDIS |
Equivalence of alias templates and class templates
|
14.5.1 |
824 |
concepts |
Constrained special member functions
|
14.5.1 |
843 |
concepts |
Unclear interaction of constraints and special member functions
|
14.5.1 |
1206 |
FDIS |
Defining opaque enumeration members of class templates
|
14.5.1.1 |
249 |
TC1 |
What is a member function template?
|
14.5.1.1 |
1245 |
FDIS |
Matching declarations involving decltype
|
14.5.1.3 |
408 |
CD2 |
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.3 |
1002 |
NAD |
Pack expansion for function arguments
|
14.5.3 |
1032 |
FDIS |
Empty pack expansions
|
14.5.3 |
1182 |
FDIS |
Incorrect description of pack expansion syntax
|
14.5.3 |
1231 |
FDIS |
Variadic templates requiring an empty pack expansion
|
14.5.3 |
1393 |
extension |
Pack expansions in using-declarations
|
14.5.3 |
1432 |
drafting |
Newly-ambiguous variadic template expansions
|
14.5.3 |
1519 |
extension |
Conflicting default and variadic constructors
|
14.5.3 |
1533 |
ready |
Function pack expansion for member initialization
|
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 |
CD2 |
Explicit specialization and friendship
|
14.5.4 |
674 |
FDIS |
“matching specialization” for a friend declaration
|
14.5.4 |
1545 |
drafting |
friend function templates defined in class templates
|
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 |
996 |
FDIS |
Ambiguous partial specializations of member class templates
|
14.5.5 |
1315 |
drafting |
Restrictions on non-type template arguments in partial specializations
|
14.5.5 |
1495 |
ready |
Partial specialization of variadic class template
|
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.1 |
1321 |
DR |
Equivalency of dependent calls
|
14.5.6.2 |
23 |
NAD |
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 |
FDIS |
Member/nonmember operator template partial ordering
|
14.5.6.2 |
1156 |
FDIS |
Partial ordering in a non-call context
|
14.5.6.2 |
1157 |
open |
Partial ordering of function templates is still underspecified
|
14.5.6.2 |
1235 |
FDIS |
“Unused” ellipsis and default arguments in partial ordering
|
14.5.6.2 |
1406 |
DR |
ref-qualifiers and added parameters of non-static member function templates
|
14.5.6.2 |
1446 |
drafting |
Member function with no ref-qualifier and non-member function with rvalue reference
|
14.5.7 |
851 |
concepts |
Constraints and template aliases
|
14.5.7 |
929 |
CD2 |
What is a template alias?
|
14.5.7 |
1056 |
FDIS |
Template aliases, member definitions, and the current instantiation
|
14.5.7 |
1158 |
FDIS |
Recursive instantiation via alias template
|
14.5.7 |
1159 |
FDIS |
Class and enumeration definitions in template aliases
|
14.5.7 |
1286 |
drafting |
Equivalence of alias templates
|
14.5.7 |
1349 |
drafting |
Consistency of alias template redeclarations
|
14.5.7 |
1430 |
drafting |
Pack expansion into fixed alias template parameter list
|
14.5.7 |
1520 |
NAD |
Alias template specialization vs pack expansion
|
14.5.7 |
1554 |
drafting |
Access and alias templates
|
14.5.7 |
1558 |
drafting |
Unused arguments in alias template specializations
|
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 |
1161 |
FDIS |
Dependent nested-name-specifier in a pointer-to-member declarator
|
14.6 |
1162 |
NAD |
Dependent elaborated-type-specifiers in non-deduced contexts
|
14.6 |
1257 |
open |
Instantiation via non-dependent references in uninstantiated templates
|
14.6 |
1271 |
drafting |
Imprecise wording regarding dependent types
|
14.6 |
1296 |
DRWP |
Ill-formed template declarations (not just definitions)
|
14.6 |
1483 |
NAD |
Non-dependent static_assert-declarations
|
14.6 |
1547 |
NAD |
typename keyword in alias-declarations
|
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 |
FDIS |
Set of template functions in call with dependent explicit argument
|
14.6.1 |
458 |
FDIS |
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 |
FDIS |
When is the injected-class-name of a class template a template?
|
14.6.1 |
1004 |
FDIS |
Injected-class-names as arguments for template template parameters
|
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 |
CD2 |
Searching dependent bases of classes local to function templates
|
14.6.2 |
591 |
drafting |
When a dependent base class is the current instantiation
|
14.6.2 |
1233 |
FDIS |
Pack expansions and dependent calls
|
14.6.2 |
1292 |
drafting |
Dependent calls with braced-init-lists containing a pack expansion
|
14.6.2 |
1526 |
dup |
Dependent-class lookup in 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 |
FDIS |
Dependency of nested enumerations and enumerators
|
14.6.2.1 |
590 |
FDIS |
Nested classes and the “current instantiation”
|
14.6.2.1 |
1043 |
FDIS |
Qualified name lookup in the current instantiation
|
14.6.2.1 |
1057 |
FDIS |
decltype and the current instantiation
|
14.6.2.1 |
1160 |
FDIS |
Definitions of template members and the current instantiation
|
14.6.2.1 |
1281 |
NAD |
Virtual and dependent base classes
|
14.6.2.1 |
1289 |
NAD |
Can an alias template name the current instantiation?
|
14.6.2.1 |
1309 |
drafting |
Incorrect note regarding lookup of a member of the current instantiation
|
14.6.2.1 |
1390 |
drafting |
Dependency of alias template specializations
|
14.6.2.1 |
1471 |
tentatively ready |
Nested type of non-dependent base
|
14.6.2.1 |
1524 |
drafting |
Incompletely-defined class template base
|
14.6.2.2 |
334 |
NAD |
Is a comma-expression dependent if its first operand is?
|
14.6.2.2 |
541 |
CD2 |
Dependent function types
|
14.6.2.3 |
447 |
CD1 |
Is offsetof type-dependent?
|
14.6.2.3 |
903 |
ready |
Value-dependent integral null pointer constants
|
14.6.2.3 |
1047 |
FDIS |
When is typeid value-dependent?
|
14.6.2.3 |
1074 |
FDIS |
Value-dependent noexcept-expressions
|
14.6.2.3 |
1088 |
FDIS |
Dependent non-type template arguments
|
14.6.2.3 |
1413 |
ready |
Missing cases of value-dependency
|
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 |
1028 |
open |
Dependent names in non-defining declarations
|
14.6.4.1 |
287 |
drafting |
Order dependencies in template instantiation
|
14.6.4.1 |
993 |
FDIS |
Freedom to perform instantiation at the end of the translation unit
|
14.6.4.1 |
1258 |
drafting |
“Instantiation context” differs from dependent lookup rules
|
14.6.4.2 |
197 |
CD1 |
Issues with two-stage lookup of dependent names
|
14.6.4.2 |
561 |
CD2 |
Internal linkage functions in dependent name lookup
|
14.6.4.2 |
1500 |
open |
Name lookup of dependent conversion function
|
14.6.5 |
387 |
CD1 |
Errors in example in 14.6.5
|
14.7 |
259 |
CD1 |
Restrictions on explicit specialization and instantiation
|
14.7 |
1253 |
drafting |
Generic non-template members
|
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.1 |
1378 |
open |
When is an instantiation required?
|
14.7.1 |
1396 |
drafting |
Deferred instantiation and checking of non-static data member initializers
|
14.7.1 |
1484 |
tentatively ready |
Unused local classes of function templates
|
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 |
FDIS |
Explicit instantiation of class template members
|
14.7.2 |
551 |
CD1 |
When is inline permitted in an explicit instantiation?
|
14.7.2 |
969 |
CD2 |
Explicit instantiation declarations of class template specializations
|
14.7.2 |
980 |
CD2 |
Explicit instantiation of a member of a class template
|
14.7.2 |
995 |
CD2 |
Incorrect example for using-declaration and explicit instantiation
|
14.7.2 |
1045 |
NAD |
Requiring explicit instantiation declarations
|
14.7.2 |
1046 |
open |
What is a “use” of a class specialization?
|
14.7.2 |
1163 |
NAD |
extern template prevents inlining functions not marked inline
|
14.7.2 |
1196 |
FDIS |
Definition required for explicit instantiation after explicit specialization?
|
14.7.2 |
1532 |
ready |
Explicit instantiation and member templates
|
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 |
FDIS |
Defining members of explicit specializations
|
14.7.3 |
605 |
FDIS |
Linkage of explicit specializations
|
14.7.3 |
621 |
FDIS |
Template argument deduction from function return types
|
14.7.3 |
727 |
extension |
In-class explicit specializations
|
14.7.3 |
730 |
CD2 |
Explicit specializations of members of non-template classes
|
14.7.3 |
884 |
CD2 |
Defining an explicitly-specialized static data member
|
14.7.3 |
923 |
CD2 |
Inline explicit specializations
|
14.7.3 |
941 |
FDIS |
Explicit specialization of deleted function template
|
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.1 |
1386 |
open |
Explicitly-specified partial argument list with multiple parameter packs
|
14.8.1 |
1391 |
open |
Conversions to parameter types with non deduced template arguments
|
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 |
FDIS |
Criteria for deduction failure
|
14.8.2 |
657 |
CD2 |
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 |
FDIS |
Enumeration names as nested-name-specifiers in deduction failure
|
14.8.2 |
1170 |
FDIS |
Access checking during template argument deduction
|
14.8.2 |
1172 |
drafting |
“instantiation-dependent” constructs
|
14.8.2 |
1227 |
DR |
Mixing immediate and non-immediate contexts in deduction failure
|
14.8.2 |
1262 |
DRWP |
Default template arguments and deduction failure
|
14.8.2 |
1273 |
NAD |
Accessibility and function signatures
|
14.8.2 |
1322 |
drafting |
Function parameter type decay in templates
|
14.8.2 |
1330 |
ready |
Delayed instantiation of noexcept specifiers
|
14.8.2 |
1462 |
tentatively ready |
Deduction failure vs “ill-formed, no diagnostic required”
|
14.8.2 |
1546 |
NAD |
Errors in function template default arguments
|
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.1 |
847 |
CD2 |
Error in rvalue reference deduction example
|
14.8.2.1 |
876 |
CD2 |
Type references in rvalue reference deduction specification
|
14.8.2.1 |
1014 |
NAD |
Overload resolution between const T& and T&&
|
14.8.2.1 |
1164 |
FDIS |
Partial ordering of f(T&) and f(T&&)
|
14.8.2.1 |
1184 |
FDIS |
Argument conversions to nondeduced parameter types
|
14.8.2.1 |
1326 |
extension |
Deducing an array bound from an initializer-list
|
14.8.2.1 |
1388 |
DR |
Missing non-deduced context following a function parameter pack
|
14.8.2.1 |
1399 |
DR |
Deduction with multiple function parameter packs
|
14.8.2.1 |
1513 |
drafting |
initializer_list deduction failure
|
14.8.2.2 |
1486 |
drafting |
Base-derived conversion in member pointer deduction
|
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 |
CD2 |
Type deduction from a bool context
|
14.8.2.3 |
913 |
CD2 |
Deduction rules for array- and function-type conversion functions
|
14.8.2.3 |
976 |
CD2 |
Deduction for const T& conversion operators
|
14.8.2.3 |
1372 |
DR |
Cross-references incorrect in conversion function template argument deduction
|
14.8.2.4 |
885 |
NAD |
Partial ordering of function templates with unordered parameter pairs
|
14.8.2.4 |
1221 |
open |
Partial ordering and reference collapsing
|
14.8.2.4 |
1337 |
dup |
Partial ordering and non-deduced parameters
|
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 |
NAD |
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 |
NAD |
Default template-arguments and template argument deduction
|
14.8.2.5 |
692 |
FDIS |
Partial ordering of variadic class template partial specializations
|
14.8.2.5 |
873 |
FDIS |
Deducing rvalue references in declarative contexts
|
14.8.2.5 |
1371 |
NAD |
Deduction from T&& in return types
|
14.8.2.5 |
1387 |
DR |
Missing non-deduced context for decltype
|
14.8.2.5 |
1395 |
drafting |
Partial ordering of variadic templates reconsidered
|
14.8.2.6 |
1178 |
FDIS |
Deduction failure matching placement new
|
14.8.3 |
415 |
CD1 |
Template deduction does not cause instantiation
|
14.8.3 |
947 |
extension |
Deducing type template arguments from default function arguments
|
15 |
98 |
TC1 |
Branching into try block
|
15 |
211 |
NAD |
Constructors should not be allowed to return normally after an exception
|
15 |
1431 |
DR |
Exceptions from other than throw-expressions
|
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 |
CD2 |
Throwing an array of unknown size
|
15.1 |
828 |
CD2 |
Destruction of exception objects
|
15.1 |
1503 |
ready |
Exceptions during copy to exception object
|
15.2 |
592 |
CD1 |
Exceptions during construction of local static objects
|
15.2 |
1165 |
FDIS |
Exceptions when destroying array elements
|
15.2 |
1424 |
drafting |
When must sub-object destructors be accessible?
|
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 |
DRWP |
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 |
DRWP |
Qualification conversions and handlers of reference-to-pointer type
|
15.3 |
971 |
FDIS |
Incorrect treatment of exception-declarations
|
15.3 |
1166 |
FDIS |
exception-declarations that do not declare objects
|
15.3 |
1218 |
FDIS |
What is the “currently-handled exception” in a multi-threaded program?
|
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.4 |
829 |
NAD |
At what point is std::unexpected called?
|
15.4 |
830 |
CD2 |
Deprecating exception specifications
|
15.4 |
973 |
CD2 |
Function types in exception-specifications
|
15.4 |
1053 |
NAD |
Terminate vs undefined behavior for noexcept violation
|
15.4 |
1073 |
FDIS |
Merging dynamic-exception-specifications and noexcept-specifications
|
15.4 |
1167 |
FDIS |
function-try-blocks for destructors
|
15.4 |
1216 |
FDIS |
Exceptions “allowed” by a noexcept-specification
|
15.4 |
1267 |
DR |
Rvalue reference types in exception-specifications
|
15.4 |
1282 |
DRWP |
Underspecified destructor exception-specification
|
15.4 |
1351 |
review |
Problems with implicitly-declared exception-specifications
|
15.4 |
1356 |
tentatively ready |
Exception specifications of copy assignment operators with virtual bases
|
15.4 |
1381 |
DR |
Implicitly-declared special member functions and default nothrow
|
15.5.1 |
219 |
NAD |
Cannot defend against destructors that throw exceptions
|
15.5.1 |
668 |
CD2 |
Throwing an exception from the destructor of a local static object
|
15.5.1 |
1168 |
FDIS |
Additional reasons to call std::terminate
|
15.5.1 |
1171 |
FDIS |
Partial stack unwinding with noexcept violation
|
15.5.2 |
596 |
open |
Replacing an exception object
|
15.5.3 |
37 |
NAD |
When is uncaught_exception() true?
|
15.5.3 |
475 |
FDIS |
When is std::uncaught_exception() true? (take 2)
|
16 |
394 |
CD1 |
identifier-list is never defined
|
16.1 |
601 |
CD2 |
Type of literals in preprocessing expressions
|
16.1 |
618 |
CD2 |
Casts in preprocessor conditional expressions
|
16.1 |
925 |
open |
Type of character literals in preprocessor expressions
|
16.1 |
1436 |
drafting |
Interaction of constant expression changes with preprocessor 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 |
1370 |
DR |
identifier-list cannot contain ellipsis
|
16.3.2 |
626 |
CD2 |
Preprocessor string literals
|
16.3.2 |
1335 |
drafting |
Stringizing, extended characters, and universal-character-names
|
16.3.4 |
268 |
open |
Macro name suppression in rescanned replacement text
|
16.5 |
745 |
open |
Effect of ill-formedness resulting from #error
|
16.8 |
1169 |
FDIS |
Missing feature macro for strict pointer safety
|
16.9 |
897 |
open |
_Pragma and extended string-literals
|
18.4.1 |
1277 |
NAD |
Lax definition of intmax_t and uintmax_t
|
18.6.1.3 |
79 |
dup |
Alignment and placement new
|
A |
266 |
NAD |
No grammar sentence symbol
|
B |
831 |
CD2 |
Limit on recursively nested template instantiations
|
B |
1329 |
DRWP |
Recursive deduction substitutions
|
C |
81 |
NAD |
Null pointers and C compatability
|
C.1 |
1248 |
open |
Updating Annex C to C99
|
C.1.3 |
1251 |
DRWP |
C compatibility: casting to unqualified void*
|
C.2 |
1279 |
drafting |
Additional differences between C++ 2003 and C++ 2011
|
C.2 |
1377 |
dup |
Access declarations not mentioned in Annex C
|
D |
223 |
ready |
The meaning of deprecation
|
D.1 |
145 |
TC1 |
Deprecation of prefix ++
|
unknown |
106 |
CD1 |
Creating references to references during template deduction/instantiation
|