@@ -8,7 +8,7 @@ use chalk_ir::interner::ChalkIr;
8
8
fn infer ( ) {
9
9
let interner = & ChalkIr ;
10
10
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
11
- let environment0 = Environment :: new ( ) ;
11
+ let environment0 = Environment :: new ( interner ) ;
12
12
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
13
13
let b = table. new_variable ( U0 ) . to_ty ( interner) ;
14
14
table
@@ -32,7 +32,7 @@ fn universe_error() {
32
32
// exists(A -> forall(X -> A = X)) ---> error
33
33
let interner = & ChalkIr ;
34
34
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
35
- let environment0 = Environment :: new ( ) ;
35
+ let environment0 = Environment :: new ( interner ) ;
36
36
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
37
37
table
38
38
. unify ( interner, & environment0, & a, & ty ! ( placeholder 1 ) )
@@ -44,7 +44,7 @@ fn cycle_error() {
44
44
// exists(A -> A = foo A) ---> error
45
45
let interner = & ChalkIr ;
46
46
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
47
- let environment0 = Environment :: new ( ) ;
47
+ let environment0 = Environment :: new ( interner ) ;
48
48
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
49
49
table
50
50
. unify ( interner, & environment0, & a, & ty ! ( apply ( item 0 ) ( expr a) ) )
@@ -61,7 +61,7 @@ fn cycle_indirect() {
61
61
// exists(A -> A = foo B, A = B) ---> error
62
62
let interner = & ChalkIr ;
63
63
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
64
- let environment0 = Environment :: new ( ) ;
64
+ let environment0 = Environment :: new ( interner ) ;
65
65
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
66
66
let b = table. new_variable ( U0 ) . to_ty ( interner) ;
67
67
table
@@ -75,7 +75,7 @@ fn universe_error_indirect_1() {
75
75
// exists(A -> forall(X -> exists(B -> B = X, A = B))) ---> error
76
76
let interner = & ChalkIr ;
77
77
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
78
- let environment0 = Environment :: new ( ) ;
78
+ let environment0 = Environment :: new ( interner ) ;
79
79
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
80
80
let b = table. new_variable ( U1 ) . to_ty ( interner) ;
81
81
table
@@ -89,7 +89,7 @@ fn universe_error_indirect_2() {
89
89
// exists(A -> forall(X -> exists(B -> B = A, B = X))) ---> error
90
90
let interner = & ChalkIr ;
91
91
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
92
- let environment0 = Environment :: new ( ) ;
92
+ let environment0 = Environment :: new ( interner ) ;
93
93
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
94
94
let b = table. new_variable ( U1 ) . to_ty ( interner) ;
95
95
table. unify ( interner, & environment0, & a, & b) . unwrap ( ) ;
@@ -103,7 +103,7 @@ fn universe_promote() {
103
103
// exists(A -> forall(X -> exists(B -> A = foo(B), A = foo(i32)))) ---> OK
104
104
let interner = & ChalkIr ;
105
105
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
106
- let environment0 = Environment :: new ( ) ;
106
+ let environment0 = Environment :: new ( interner ) ;
107
107
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
108
108
let b = table. new_variable ( U1 ) . to_ty ( interner) ;
109
109
table
@@ -124,7 +124,7 @@ fn universe_promote_bad() {
124
124
// exists(A -> forall(X -> exists(B -> A = foo(B), B = X))) ---> error
125
125
let interner = & ChalkIr ;
126
126
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
127
- let environment0 = Environment :: new ( ) ;
127
+ let environment0 = Environment :: new ( interner ) ;
128
128
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
129
129
let b = table. new_variable ( U1 ) . to_ty ( interner) ;
130
130
table
@@ -142,7 +142,7 @@ fn projection_eq() {
142
142
// we say no, but it's an interesting question.
143
143
let interner = & ChalkIr ;
144
144
let mut table: InferenceTable < ChalkIr > = InferenceTable :: new ( ) ;
145
- let environment0 = Environment :: new ( ) ;
145
+ let environment0 = Environment :: new ( interner ) ;
146
146
let a = table. new_variable ( U0 ) . to_ty ( interner) ;
147
147
148
148
// expect an error ("cycle during unification")
@@ -194,7 +194,7 @@ fn quantify_simple() {
194
194
fn quantify_bound ( ) {
195
195
let interner = & ChalkIr ;
196
196
let mut table = make_table ( ) ;
197
- let environment0 = Environment :: new ( ) ;
197
+ let environment0 = Environment :: new ( interner ) ;
198
198
199
199
let v0 = table. new_variable ( U0 ) . to_ty ( interner) ;
200
200
let v1 = table. new_variable ( U1 ) . to_ty ( interner) ;
@@ -237,7 +237,7 @@ fn quantify_ty_under_binder() {
237
237
let _r2 = table. new_variable ( U0 ) ;
238
238
239
239
// Unify v0 and v1.
240
- let environment0 = Environment :: new ( ) ;
240
+ let environment0 = Environment :: new ( interner ) ;
241
241
table
242
242
. unify (
243
243
interner,
@@ -274,7 +274,7 @@ fn lifetime_constraint_indirect() {
274
274
let _t_0 = table. new_variable ( U0 ) ;
275
275
let _l_1 = table. new_variable ( U1 ) ;
276
276
277
- let environment0 = Environment :: new ( ) ;
277
+ let environment0 = Environment :: new ( interner ) ;
278
278
279
279
// Here, we unify '?1 (the lifetime variable in universe 1) with
280
280
// '!1.
0 commit comments