tmp/tmpdqu8elhd/{from.md → to.md}
RENAMED
|
@@ -26,20 +26,19 @@ If a function template or member function of a class template is called
|
|
| 26 |
in a way which uses the definition of a default argument of that
|
| 27 |
function template or member function, the point of instantiation of the
|
| 28 |
default argument is the point of instantiation of the function template
|
| 29 |
or member function specialization.
|
| 30 |
|
| 31 |
-
For
|
| 32 |
-
|
| 33 |
-
*
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
*
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
*exception-specification*.
|
| 41 |
|
| 42 |
For a class template specialization, a class member template
|
| 43 |
specialization, or a specialization for a class member of a class
|
| 44 |
template, if the specialization is implicitly instantiated because it is
|
| 45 |
referenced from within another template specialization, if the context
|
|
@@ -72,11 +71,11 @@ specialization that has a point of instantiation within the translation
|
|
| 72 |
unit, the end of the translation unit is also considered a point of
|
| 73 |
instantiation. A specialization for a class template has at most one
|
| 74 |
point of instantiation within a translation unit. A specialization for
|
| 75 |
any template may have points of instantiation in multiple translation
|
| 76 |
units. If two different points of instantiation give a template
|
| 77 |
-
specialization different meanings according to the one
|
| 78 |
[[basic.def.odr]]), the program is ill-formed, no diagnostic required.
|
| 79 |
|
| 80 |
#### Candidate functions <a id="temp.dep.candidate">[[temp.dep.candidate]]</a>
|
| 81 |
|
| 82 |
For a function call where the *postfix-expression* is a dependent name,
|
|
|
|
| 26 |
in a way which uses the definition of a default argument of that
|
| 27 |
function template or member function, the point of instantiation of the
|
| 28 |
default argument is the point of instantiation of the function template
|
| 29 |
or member function specialization.
|
| 30 |
|
| 31 |
+
For a *noexcept-specifier* of a function template specialization or
|
| 32 |
+
specialization of a member function of a class template, if the
|
| 33 |
+
*noexcept-specifier* is implicitly instantiated because it is needed by
|
| 34 |
+
another template specialization and the context that requires it depends
|
| 35 |
+
on a template parameter, the point of instantiation of the
|
| 36 |
+
*noexcept-specifier* is the point of instantiation of the specialization
|
| 37 |
+
that requires it. Otherwise, the point of instantiation for such a
|
| 38 |
+
*noexcept-specifier* immediately follows the namespace scope declaration
|
| 39 |
+
or definition that requires the *noexcept-specifier*.
|
|
|
|
| 40 |
|
| 41 |
For a class template specialization, a class member template
|
| 42 |
specialization, or a specialization for a class member of a class
|
| 43 |
template, if the specialization is implicitly instantiated because it is
|
| 44 |
referenced from within another template specialization, if the context
|
|
|
|
| 71 |
unit, the end of the translation unit is also considered a point of
|
| 72 |
instantiation. A specialization for a class template has at most one
|
| 73 |
point of instantiation within a translation unit. A specialization for
|
| 74 |
any template may have points of instantiation in multiple translation
|
| 75 |
units. If two different points of instantiation give a template
|
| 76 |
+
specialization different meanings according to the one-definition rule (
|
| 77 |
[[basic.def.odr]]), the program is ill-formed, no diagnostic required.
|
| 78 |
|
| 79 |
#### Candidate functions <a id="temp.dep.candidate">[[temp.dep.candidate]]</a>
|
| 80 |
|
| 81 |
For a function call where the *postfix-expression* is a dependent name,
|