@@ -1679,7 +1679,7 @@ impl Region {
16791679/// A "free" region `fr` can be interpreted as "some region
16801680/// at least as big as the scope `fr.scope`".
16811681pub struct FreeRegion {
1682- pub scope : region:: DestructionScopeData ,
1682+ pub scope : region:: CodeExtent ,
16831683 pub bound_region : BoundRegion
16841684}
16851685
@@ -6610,7 +6610,7 @@ impl<'tcx> ctxt<'tcx> {
66106610 types. push ( def. space , self . mk_param_from_def ( def) ) ;
66116611 }
66126612
6613- let free_id_outlive = region :: DestructionScopeData :: new ( free_id) ;
6613+ let free_id_outlive = self . region_maps . item_extent ( free_id) ;
66146614
66156615 // map bound 'a => free 'a
66166616 let mut regions = VecPerParamSpace :: empty ( ) ;
@@ -6641,7 +6641,7 @@ impl<'tcx> ctxt<'tcx> {
66416641 //
66426642
66436643 let free_substs = self . construct_free_substs ( generics, free_id) ;
6644- let free_id_outlive = region :: DestructionScopeData :: new ( free_id) ;
6644+ let free_id_outlive = self . region_maps . item_extent ( free_id) ;
66456645
66466646 //
66476647 // Compute the bounds on Self and the type parameters.
@@ -6673,8 +6673,7 @@ impl<'tcx> ctxt<'tcx> {
66736673 let unnormalized_env = ty:: ParameterEnvironment {
66746674 tcx : self ,
66756675 free_substs : free_substs,
6676- implicit_region_bound : ty:: ReScope (
6677- free_id_outlive. to_code_extent ( & self . region_maps ) ) ,
6676+ implicit_region_bound : ty:: ReScope ( free_id_outlive) ,
66786677 caller_bounds : predicates,
66796678 selection_cache : traits:: SelectionCache :: new ( ) ,
66806679 free_id : free_id,
@@ -6838,7 +6837,7 @@ impl<'tcx> ctxt<'tcx> {
68386837 /// Replace any late-bound regions bound in `value` with free variants attached to scope-id
68396838 /// `scope_id`.
68406839 pub fn liberate_late_bound_regions < T > ( & self ,
6841- all_outlive_scope : region:: DestructionScopeData ,
6840+ all_outlive_scope : region:: CodeExtent ,
68426841 value : & Binder < T > )
68436842 -> T
68446843 where T : TypeFoldable < ' tcx >
0 commit comments