@@ -77,17 +77,14 @@ pub trait Interner: Sized {
77
77
type ClosureKind : Copy + Debug + Hash + Eq ;
78
78
79
79
// Required method
80
- fn mk_canonical_var_infos (
81
- self ,
82
- infos : & [ CanonicalVarInfo < Self > ]
83
- ) -> Self :: CanonicalVars ;
80
+ fn mk_canonical_var_infos ( self , infos : & [ CanonicalVarInfo < Self > ] ) -> Self :: CanonicalVars ;
84
81
}
85
82
86
83
pub trait DebugWithInfcx < I : Interner > : Debug {
87
84
// Required method
88
85
fn fmt < Infcx : InferCtxtLike < Interner = I > > (
89
86
this : WithInfcx < ' _ , Infcx , & Self > ,
90
- f : & mut Formatter < ' _ >
87
+ f : & mut Formatter < ' _ > ,
91
88
) -> std:: fmt:: Result ;
92
89
}
93
90
@@ -130,11 +127,7 @@ pub struct TypeFlags;
130
127
131
128
pub trait Ty < I : Interner < Ty = Self > > {
132
129
// Required method
133
- fn new_anon_bound (
134
- interner : I ,
135
- debruijn : DebruijnIndex ,
136
- var : BoundVar
137
- ) -> Self ;
130
+ fn new_anon_bound ( interner : I , debruijn : DebruijnIndex , var : BoundVar ) -> Self ;
138
131
}
139
132
140
133
pub trait PlaceholderLike {
@@ -152,12 +145,7 @@ pub struct BoundVar;
152
145
pub struct ConstKind < I > ( std:: marker:: PhantomData < I > ) ;
153
146
pub trait Const < I : Interner < Const = Self > > {
154
147
// Required method
155
- fn new_anon_bound (
156
- interner : I ,
157
- debruijn : DebruijnIndex ,
158
- var : BoundVar ,
159
- ty : I :: Ty
160
- ) -> Self ;
148
+ fn new_anon_bound ( interner : I , debruijn : DebruijnIndex , var : BoundVar , ty : I :: Ty ) -> Self ;
161
149
}
162
150
163
151
pub trait ConstTy < I : Interner > {
@@ -170,25 +158,28 @@ pub struct DebruijnIndex;
170
158
pub struct RegionKind < I > ( std:: marker:: PhantomData < I > ) ;
171
159
pub trait Region < I : Interner < Region = Self > > {
172
160
// Required method
173
- fn new_anon_bound (
174
- interner : I ,
175
- debruijn : DebruijnIndex ,
176
- var : BoundVar
177
- ) -> Self ;
161
+ fn new_anon_bound ( interner : I , debruijn : DebruijnIndex , var : BoundVar ) -> Self ;
178
162
}
179
163
180
164
pub trait TypeVisitor < I : Interner > : Sized {
181
165
type Result : VisitorResult = ( ) ;
182
166
183
167
// Provided methods
184
- fn visit_binder < T : TypeVisitable < I > > (
185
- & mut self ,
186
- t : & I :: Binder < T >
187
- ) -> Self :: Result { unimplemented ! ( ) }
188
- fn visit_ty ( & mut self , t : I :: Ty ) -> Self :: Result { unimplemented ! ( ) }
189
- fn visit_region ( & mut self , _r : I :: Region ) -> Self :: Result { unimplemented ! ( ) }
190
- fn visit_const ( & mut self , c : I :: Const ) -> Self :: Result { unimplemented ! ( ) }
191
- fn visit_predicate ( & mut self , p : I :: Predicate ) -> Self :: Result { unimplemented ! ( ) }
168
+ fn visit_binder < T : TypeVisitable < I > > ( & mut self , t : & I :: Binder < T > ) -> Self :: Result {
169
+ unimplemented ! ( )
170
+ }
171
+ fn visit_ty ( & mut self , t : I :: Ty ) -> Self :: Result {
172
+ unimplemented ! ( )
173
+ }
174
+ fn visit_region ( & mut self , _r : I :: Region ) -> Self :: Result {
175
+ unimplemented ! ( )
176
+ }
177
+ fn visit_const ( & mut self , c : I :: Const ) -> Self :: Result {
178
+ unimplemented ! ( )
179
+ }
180
+ fn visit_predicate ( & mut self , p : I :: Predicate ) -> Self :: Result {
181
+ unimplemented ! ( )
182
+ }
192
183
}
193
184
194
185
pub trait VisitorResult {
@@ -206,7 +197,9 @@ impl VisitorResult for () {
206
197
fn output ( ) -> Self { }
207
198
fn from_residual ( _: Self :: Residual ) -> Self { }
208
199
fn from_branch ( _: ControlFlow < Self :: Residual > ) -> Self { }
209
- fn branch ( self ) -> ControlFlow < Self :: Residual > { ControlFlow :: Continue ( ( ) ) }
200
+ fn branch ( self ) -> ControlFlow < Self :: Residual > {
201
+ ControlFlow :: Continue ( ( ) )
202
+ }
210
203
}
211
204
212
205
pub struct WithInfcx < ' a , Infcx : InferCtxtLike , T > {
@@ -221,24 +214,18 @@ pub trait InferCtxtLike {
221
214
fn interner ( & self ) -> Self :: Interner ;
222
215
fn universe_of_ty ( & self , ty : TyVid ) -> Option < UniverseIndex > ;
223
216
fn root_ty_var ( & self , vid : TyVid ) -> TyVid ;
224
- fn probe_ty_var (
225
- & self ,
226
- vid : TyVid
227
- ) -> Option < <Self :: Interner as Interner >:: Ty > ;
217
+ fn probe_ty_var ( & self , vid : TyVid ) -> Option < <Self :: Interner as Interner >:: Ty > ;
228
218
fn universe_of_lt (
229
219
& self ,
230
- lt : <Self :: Interner as Interner >:: InferRegion
220
+ lt : <Self :: Interner as Interner >:: InferRegion ,
231
221
) -> Option < UniverseIndex > ;
232
222
fn opportunistic_resolve_lt_var (
233
223
& self ,
234
- vid : <Self :: Interner as Interner >:: InferRegion
224
+ vid : <Self :: Interner as Interner >:: InferRegion ,
235
225
) -> Option < <Self :: Interner as Interner >:: Region > ;
236
226
fn universe_of_ct ( & self , ct : ConstVid ) -> Option < UniverseIndex > ;
237
227
fn root_ct_var ( & self , vid : ConstVid ) -> ConstVid ;
238
- fn probe_ct_var (
239
- & self ,
240
- vid : ConstVid
241
- ) -> Option < <Self :: Interner as Interner >:: Const > ;
228
+ fn probe_ct_var ( & self , vid : ConstVid ) -> Option < <Self :: Interner as Interner >:: Const > ;
242
229
}
243
230
244
231
pub struct TyVid ;
0 commit comments