From Jason Turner

[temp.point]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp50v4rkx4/{from.md → to.md} +10 -11
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 an *exception-specification* of a function template specialization
21
- or specialization of a member function of a class template, if the
22
- *exception-specification* is implicitly instantiated because it is
23
- needed by another template specialization and the context that requires
24
- it depends on a template parameter, the point of instantiation of the
25
- *exception-specification* is the point of instantiation of the
26
- specialization that requires it. Otherwise, the point of instantiation
27
- for such an *exception-specification* immediately follows the namespace
28
- scope declaration or definition that requires the
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 definition rule (
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