@@ -228,7 +228,7 @@ struct TransformVisitor<'tcx> {
228
228
suspension_points : Vec < SuspensionPoint < ' tcx > > ,
229
229
230
230
// The set of locals that have no `StorageLive`/`StorageDead` annotations.
231
- always_live_locals : storage :: AlwaysLiveLocals ,
231
+ always_live_locals : BitSet < Local > ,
232
232
233
233
// The original RETURN_PLACE local
234
234
new_ret_local : Local ,
@@ -450,7 +450,7 @@ struct LivenessInfo {
450
450
fn locals_live_across_suspend_points < ' tcx > (
451
451
tcx : TyCtxt < ' tcx > ,
452
452
body : & Body < ' tcx > ,
453
- always_live_locals : & storage :: AlwaysLiveLocals ,
453
+ always_live_locals : & BitSet < Local > ,
454
454
movable : bool ,
455
455
) -> LivenessInfo {
456
456
let body_ref: & Body < ' _ > = & body;
@@ -615,7 +615,7 @@ impl ops::Deref for GeneratorSavedLocals {
615
615
fn compute_storage_conflicts < ' mir , ' tcx > (
616
616
body : & ' mir Body < ' tcx > ,
617
617
saved_locals : & GeneratorSavedLocals ,
618
- always_live_locals : storage :: AlwaysLiveLocals ,
618
+ always_live_locals : BitSet < Local > ,
619
619
requires_storage : rustc_mir_dataflow:: Results < ' tcx , MaybeRequiresStorage < ' mir , ' tcx > > ,
620
620
) -> BitMatrix < GeneratorSavedLocal , GeneratorSavedLocal > {
621
621
assert_eq ! ( body. local_decls. len( ) , saved_locals. domain_size( ) ) ;
@@ -625,7 +625,7 @@ fn compute_storage_conflicts<'mir, 'tcx>(
625
625
626
626
// Locals that are always live or ones that need to be stored across
627
627
// suspension points are not eligible for overlap.
628
- let mut ineligible_locals = always_live_locals. into_inner ( ) ;
628
+ let mut ineligible_locals = always_live_locals;
629
629
ineligible_locals. intersect ( & * * saved_locals) ;
630
630
631
631
// Compute the storage conflicts for all eligible locals.
@@ -1300,7 +1300,7 @@ impl<'tcx> MirPass<'tcx> for StateTransform {
1300
1300
} ,
1301
1301
) ;
1302
1302
1303
- let always_live_locals = storage:: AlwaysLiveLocals :: new ( & body) ;
1303
+ let always_live_locals = storage:: always_live_locals ( & body) ;
1304
1304
1305
1305
let liveness_info =
1306
1306
locals_live_across_suspend_points ( tcx, body, & always_live_locals, movable) ;
0 commit comments