@@ -9,10 +9,10 @@ and higher-ranked types.
9
9
We use the notation ` ?T ` to refer to inference variables, also called
10
10
existential variables.
11
11
12
- We use the term "region" and "lifetime" interchangeably. Both refer to
12
+ We use the terms "region" and "lifetime" interchangeably. Both refer to
13
13
the ` 'a ` in ` &'a T ` .
14
14
15
- The term "bound region" refers to regions bound in a function
15
+ The term "bound region" refers to a region bound in a function
16
16
signature, such as the ` 'a ` in ` for<'a> fn(&'a u32) ` . A region is
17
17
"free" if it is not bound.
18
18
@@ -158,7 +158,7 @@ is to first "generalize" `&'a i32` into a type with a region variable:
158
158
relate this new variable with the original bound:
159
159
160
160
&'?b i32 <: &'a i32
161
-
161
+
162
162
This will result in a region constraint (see below) of ` '?b: 'a ` .
163
163
164
164
One final interesting case is relating two unbound type variables,
@@ -175,7 +175,7 @@ make (almost) no attempt to solve regions. These constraints have the
175
175
form of an outlives constraint:
176
176
177
177
'a: 'b
178
-
178
+
179
179
Actually the code tends to view them as a subregion relation, but it's the same
180
180
idea:
181
181
@@ -188,7 +188,7 @@ There is one case where we do some amount of eager unification. If you have an e
188
188
between two regions
189
189
190
190
'a = 'b
191
-
191
+
192
192
we will record that fact in a unification table. You can then use
193
193
` opportunistic_resolve_var ` to convert ` 'b ` to ` 'a ` (or vice
194
194
versa). This is sometimes needed to ensure termination of fixed-point
0 commit comments