@@ -33,11 +33,10 @@ struct QualifCursor<'a, 'mir, 'tcx, Q: Qualif> {
33
33
}
34
34
35
35
impl < Q : Qualif > QualifCursor < ' a , ' mir , ' tcx , Q > {
36
- pub fn new ( q : Q , item : & ' a Item < ' mir , ' tcx > , dead_unwinds : & BitSet < BasicBlock > ) -> Self {
36
+ pub fn new ( q : Q , item : & ' a Item < ' mir , ' tcx > ) -> Self {
37
37
let analysis = FlowSensitiveAnalysis :: new ( q, item) ;
38
- let results =
39
- dataflow:: Engine :: new ( item. tcx , & item. body , item. def_id , dead_unwinds, analysis)
40
- . iterate_to_fixpoint ( ) ;
38
+ let results = dataflow:: Engine :: new_generic ( item. tcx , & item. body , item. def_id , analysis)
39
+ . iterate_to_fixpoint ( ) ;
41
40
let cursor = dataflow:: ResultsCursor :: new ( * item. body , results) ;
42
41
43
42
let mut in_any_value_of_ty = BitSet :: new_empty ( item. body . local_decls . len ( ) ) ;
@@ -146,12 +145,10 @@ impl Deref for Validator<'_, 'mir, 'tcx> {
146
145
147
146
impl Validator < ' a , ' mir , ' tcx > {
148
147
pub fn new ( item : & ' a Item < ' mir , ' tcx > ) -> Self {
149
- let dead_unwinds = BitSet :: new_empty ( item. body . basic_blocks ( ) . len ( ) ) ;
150
-
151
- let needs_drop = QualifCursor :: new ( NeedsDrop , item, & dead_unwinds) ;
152
-
153
- let has_mut_interior = QualifCursor :: new ( HasMutInterior , item, & dead_unwinds) ;
148
+ let needs_drop = QualifCursor :: new ( NeedsDrop , item) ;
149
+ let has_mut_interior = QualifCursor :: new ( HasMutInterior , item) ;
154
150
151
+ let dead_unwinds = BitSet :: new_empty ( item. body . basic_blocks ( ) . len ( ) ) ;
155
152
let indirectly_mutable = old_dataflow:: do_dataflow (
156
153
item. tcx ,
157
154
& * item. body ,
0 commit comments