@@ -239,8 +239,7 @@ pub fn resolve_interior<'a, 'tcx>(
239
239
// typeck had previously found constraints that would cause them to be related.
240
240
241
241
let mut counter = 0 ;
242
- let mut mk_bound_region = |span| {
243
- let kind = ty:: BrAnon ( span) ;
242
+ let mut mk_bound_region = |kind| {
244
243
let var = ty:: BoundVar :: from_u32 ( counter) ;
245
244
counter += 1 ;
246
245
ty:: BoundRegion { var, kind }
@@ -252,24 +251,23 @@ pub fn resolve_interior<'a, 'tcx>(
252
251
let origin = fcx. region_var_origin ( vid) ;
253
252
match origin {
254
253
RegionVariableOrigin :: EarlyBoundRegion ( span, _) => {
255
- mk_bound_region ( Some ( span) )
254
+ mk_bound_region ( ty :: BrAnon ( Some ( span) ) )
256
255
}
257
- _ => mk_bound_region ( None ) ,
256
+ _ => mk_bound_region ( ty :: BrAnon ( None ) ) ,
258
257
}
259
258
}
260
- // FIXME: these should use `BrNamed`
261
259
ty:: ReEarlyBound ( region) => {
262
- mk_bound_region ( Some ( fcx . tcx . def_span ( region. def_id ) ) )
260
+ mk_bound_region ( ty :: BrNamed ( region. def_id , region . name ) )
263
261
}
264
262
ty:: ReLateBound ( _, ty:: BoundRegion { kind, .. } )
265
263
| ty:: ReFree ( ty:: FreeRegion { bound_region : kind, .. } ) => match kind {
266
- ty:: BoundRegionKind :: BrAnon ( span) => mk_bound_region ( span) ,
267
- ty:: BoundRegionKind :: BrNamed ( def_id, _ ) => {
268
- mk_bound_region ( Some ( fcx . tcx . def_span ( def_id) ) )
264
+ ty:: BoundRegionKind :: BrAnon ( span) => mk_bound_region ( ty :: BrAnon ( span) ) ,
265
+ ty:: BoundRegionKind :: BrNamed ( def_id, sym ) => {
266
+ mk_bound_region ( ty :: BrNamed ( def_id, sym ) )
269
267
}
270
- ty:: BoundRegionKind :: BrEnv => mk_bound_region ( None ) ,
268
+ ty:: BoundRegionKind :: BrEnv => mk_bound_region ( ty :: BrAnon ( None ) ) ,
271
269
} ,
272
- _ => mk_bound_region ( None ) ,
270
+ _ => mk_bound_region ( ty :: BrAnon ( None ) ) ,
273
271
} ;
274
272
let r = fcx. tcx . mk_re_late_bound ( current_depth, br) ;
275
273
r
@@ -293,10 +291,7 @@ pub fn resolve_interior<'a, 'tcx>(
293
291
type_causes,
294
292
FnMutDelegate {
295
293
regions : & mut |br| {
296
- let kind = match br. kind {
297
- ty:: BrAnon ( span) => ty:: BrAnon ( span) ,
298
- _ => br. kind ,
299
- } ;
294
+ let kind = br. kind ;
300
295
let var = ty:: BoundVar :: from_usize ( bound_vars. len ( ) ) ;
301
296
bound_vars. push ( ty:: BoundVariableKind :: Region ( kind) ) ;
302
297
counter += 1 ;
0 commit comments