tmp/tmp50v4rkx4/{from.md → to.md}
RENAMED
|
@@ -15,20 +15,19 @@ If a function template or member function of a class template is called
|
|
| 15 |
in a way which uses the definition of a default argument of that
|
| 16 |
function template or member function, the point of instantiation of the
|
| 17 |
default argument is the point of instantiation of the function template
|
| 18 |
or member function specialization.
|
| 19 |
|
| 20 |
-
For
|
| 21 |
-
|
| 22 |
-
*
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
*
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
*exception-specification*.
|
| 30 |
|
| 31 |
For a class template specialization, a class member template
|
| 32 |
specialization, or a specialization for a class member of a class
|
| 33 |
template, if the specialization is implicitly instantiated because it is
|
| 34 |
referenced from within another template specialization, if the context
|
|
@@ -61,8 +60,8 @@ specialization that has a point of instantiation within the translation
|
|
| 61 |
unit, the end of the translation unit is also considered a point of
|
| 62 |
instantiation. A specialization for a class template has at most one
|
| 63 |
point of instantiation within a translation unit. A specialization for
|
| 64 |
any template may have points of instantiation in multiple translation
|
| 65 |
units. If two different points of instantiation give a template
|
| 66 |
-
specialization different meanings according to the one
|
| 67 |
[[basic.def.odr]]), the program is ill-formed, no diagnostic required.
|
| 68 |
|
|
|
|
| 15 |
in a way which uses the definition of a default argument of that
|
| 16 |
function template or member function, the point of instantiation of the
|
| 17 |
default argument is the point of instantiation of the function template
|
| 18 |
or member function specialization.
|
| 19 |
|
| 20 |
+
For a *noexcept-specifier* of a function template specialization or
|
| 21 |
+
specialization of a member function of a class template, if the
|
| 22 |
+
*noexcept-specifier* is implicitly instantiated because it is needed by
|
| 23 |
+
another template specialization and the context that requires it depends
|
| 24 |
+
on a template parameter, the point of instantiation of the
|
| 25 |
+
*noexcept-specifier* is the point of instantiation of the specialization
|
| 26 |
+
that requires it. Otherwise, the point of instantiation for such a
|
| 27 |
+
*noexcept-specifier* immediately follows the namespace scope declaration
|
| 28 |
+
or definition that requires the *noexcept-specifier*.
|
|
|
|
| 29 |
|
| 30 |
For a class template specialization, a class member template
|
| 31 |
specialization, or a specialization for a class member of a class
|
| 32 |
template, if the specialization is implicitly instantiated because it is
|
| 33 |
referenced from within another template specialization, if the context
|
|
|
|
| 60 |
unit, the end of the translation unit is also considered a point of
|
| 61 |
instantiation. A specialization for a class template has at most one
|
| 62 |
point of instantiation within a translation unit. A specialization for
|
| 63 |
any template may have points of instantiation in multiple translation
|
| 64 |
units. If two different points of instantiation give a template
|
| 65 |
+
specialization different meanings according to the one-definition rule (
|
| 66 |
[[basic.def.odr]]), the program is ill-formed, no diagnostic required.
|
| 67 |
|