@@ -47,7 +47,7 @@ In terms of code, these types are defined in
47
47
[ traits_mod ] : https://github.com/rust-lang/rust/blob/master/compiler/rustc_middle/src/traits/mod.rs
48
48
[ chalk_ir ] : https://github.com/rust-lang/chalk/blob/master/chalk-ir/src/lib.rs
49
49
50
- <a name =" domain-goals " ></a >
50
+ <a id =" domain-goals " ></a >
51
51
52
52
## Domain goals
53
53
@@ -63,7 +63,7 @@ forall<K1, ..., Kn> { DomainGoal :- Goal }
63
63
hence domain goals are in fact clauses' LHS. That is, at the most granular level,
64
64
domain goals are what the trait solver will end up trying to prove.
65
65
66
- <a name =" trait-ref " ></a >
66
+ <a id =" trait-ref " ></a >
67
67
68
68
To define the set of domain goals in our system, we need to first
69
69
introduce a few simple formulations. A ** trait reference** consists of
@@ -78,7 +78,7 @@ IntoIterator`. Note that Rust surface syntax also permits some extra
78
78
things, like associated type bindings (`Vec<T >: IntoIterator<Item =
79
79
T>`), that are not part of a trait reference.
80
80
81
- <a name =" projection " ></a >
81
+ <a id =" projection " ></a >
82
82
83
83
A ** projection** consists of an associated item reference along with
84
84
its inputs P0..Pm:
@@ -205,7 +205,7 @@ e.g. `Outlives(&'a str: 'b)`, `Outlives('a: 'static)`
205
205
206
206
True if the given type or region on the left outlives the right-hand region.
207
207
208
- <a name =" coinductive " ></a >
208
+ <a id =" coinductive " ></a >
209
209
210
210
## Coinductive goals
211
211
0 commit comments