tmp/tmp4tf8zct6/{from.md → to.md}
RENAMED
|
@@ -1,17 +1,16 @@
|
|
| 1 |
## Instantiation context <a id="module.context">[[module.context]]</a>
|
| 2 |
|
| 3 |
The *instantiation context* is a set of points within the program that
|
| 4 |
-
determines which
|
| 5 |
-
[[basic.lookup.argdep]] and which
|
| 6 |
-
|
| 7 |
-
instantiation.
|
| 8 |
|
| 9 |
-
During the implicit definition of a defaulted function
|
| 10 |
-
[[class.compare.default]]
|
| 11 |
-
the instantiation context from the definition of the class and
|
| 12 |
-
instantiation context of the program construct that resulted in the
|
| 13 |
implicit definition of the defaulted function.
|
| 14 |
|
| 15 |
During the implicit instantiation of a template whose point of
|
| 16 |
instantiation is specified as that of an enclosing specialization
|
| 17 |
[[temp.point]], the instantiation context is the union of the
|
|
@@ -83,11 +82,11 @@ comprises
|
|
| 83 |
|
| 84 |
- the point at the end of translation unit \#1,
|
| 85 |
- the point at the end of translation unit \#2, and
|
| 86 |
- the point of the call to `f(0)`,
|
| 87 |
|
| 88 |
-
so the definition of `X` is reachable
|
| 89 |
|
| 90 |
It is unspecified whether the call to `g(0)` is valid: the instantiation
|
| 91 |
context of `bar<int, X>` comprises
|
| 92 |
|
| 93 |
- the point at the end of translation unit \#1,
|
|
|
|
| 1 |
## Instantiation context <a id="module.context">[[module.context]]</a>
|
| 2 |
|
| 3 |
The *instantiation context* is a set of points within the program that
|
| 4 |
+
determines which declarations are found by argument-dependent name
|
| 5 |
+
lookup [[basic.lookup.argdep]] and which are reachable [[module.reach]]
|
| 6 |
+
in the context of a particular declaration or template instantiation.
|
|
|
|
| 7 |
|
| 8 |
+
During the implicit definition of a defaulted function
|
| 9 |
+
[[special]], [[class.compare.default]], the instantiation context is the
|
| 10 |
+
union of the instantiation context from the definition of the class and
|
| 11 |
+
the instantiation context of the program construct that resulted in the
|
| 12 |
implicit definition of the defaulted function.
|
| 13 |
|
| 14 |
During the implicit instantiation of a template whose point of
|
| 15 |
instantiation is specified as that of an enclosing specialization
|
| 16 |
[[temp.point]], the instantiation context is the union of the
|
|
|
|
| 82 |
|
| 83 |
- the point at the end of translation unit \#1,
|
| 84 |
- the point at the end of translation unit \#2, and
|
| 85 |
- the point of the call to `f(0)`,
|
| 86 |
|
| 87 |
+
so the definition of `X` is reachable [[module.reach]].
|
| 88 |
|
| 89 |
It is unspecified whether the call to `g(0)` is valid: the instantiation
|
| 90 |
context of `bar<int, X>` comprises
|
| 91 |
|
| 92 |
- the point at the end of translation unit \#1,
|