@@ -289,14 +289,6 @@ pub(crate) enum UndoLog<'tcx> {
289289
290290    /// We added a GLB/LUB "combination variable". 
291291AddCombination ( CombineMapType ,  TwoRegions < ' tcx > ) , 
292- 
293-     /// During freshening, we sometimes purge entries from the undo 
294- /// log in a kind of minisnapshot (unlike other snapshots, this 
295- /// purging actually takes place *on success*). In that case, we 
296- /// replace the corresponding entry with `Noop` so as to avoid the 
297- /// need to do a bunch of swapping. (We can't use `swap_remove` as 
298- /// the order of the vector is important.) 
299- Purged , 
300292} 
301293
302294#[ derive( Copy ,  Clone ,  PartialEq ) ]  
@@ -357,9 +349,6 @@ impl<'tcx> RegionConstraintStorage<'tcx> {
357349
358350    fn  rollback_undo_entry ( & mut  self ,  undo_entry :  UndoLog < ' tcx > )  { 
359351        match  undo_entry { 
360-             Purged  => { 
361-                 // nothing to do here 
362-             } 
363352            AddVar ( vid)  => { 
364353                self . var_infos . pop ( ) . unwrap ( ) ; 
365354                assert_eq ! ( self . var_infos. len( ) ,  vid. index( )  as  usize ) ; 
@@ -488,62 +477,6 @@ impl<'tcx> RegionConstraintCollector<'_, 'tcx> {
488477        self . var_infos [ vid] . origin 
489478    } 
490479
491-     /// Removes all the edges to/from the placeholder regions that are 
492- /// in `placeholders`. This is used after a higher-ranked operation 
493- /// completes to remove all trace of the placeholder regions 
494- /// created in that time. 
495- pub  fn  pop_placeholders ( & mut  self ,  placeholders :  & FxHashSet < ty:: Region < ' tcx > > )  { 
496-         debug ! ( "pop_placeholders(placeholders={:?})" ,  placeholders) ; 
497- 
498-         assert ! ( UndoLogs :: <super :: UndoLog <' _>>:: in_snapshot( & self . undo_log) ) ; 
499- 
500-         let  constraints_to_kill:  Vec < usize >  = self 
501-             . undo_log 
502-             . iter ( ) 
503-             . enumerate ( ) 
504-             . rev ( ) 
505-             . filter ( |& ( _,  undo_entry) | match  undo_entry { 
506-                 super :: UndoLog :: RegionConstraintCollector ( undo_entry)  => { 
507-                     kill_constraint ( placeholders,  undo_entry) 
508-                 } 
509-                 _ => false , 
510-             } ) 
511-             . map ( |( index,  _) | index) 
512-             . collect ( ) ; 
513- 
514-         for  index in  constraints_to_kill { 
515-             let  undo_entry = match  & mut  self . undo_log [ index]  { 
516-                 super :: UndoLog :: RegionConstraintCollector ( undo_entry)  => { 
517-                     mem:: replace ( undo_entry,  Purged ) 
518-                 } 
519-                 _ => unreachable ! ( ) , 
520-             } ; 
521-             self . rollback_undo_entry ( undo_entry) ; 
522-         } 
523- 
524-         return ; 
525- 
526-         fn  kill_constraint < ' tcx > ( 
527-             placeholders :  & FxHashSet < ty:: Region < ' tcx > > , 
528-             undo_entry :  & UndoLog < ' tcx > , 
529-         )  -> bool  { 
530-             match  undo_entry { 
531-                 & AddConstraint ( Constraint :: VarSubVar ( ..) )  => false , 
532-                 & AddConstraint ( Constraint :: RegSubVar ( a,  _) )  => placeholders. contains ( & a) , 
533-                 & AddConstraint ( Constraint :: VarSubReg ( _,  b) )  => placeholders. contains ( & b) , 
534-                 & AddConstraint ( Constraint :: RegSubReg ( a,  b) )  => { 
535-                     placeholders. contains ( & a)  || placeholders. contains ( & b) 
536-                 } 
537-                 & AddGiven ( ..)  => false , 
538-                 & AddVerify ( _)  => false , 
539-                 & AddCombination ( _,  ref  two_regions)  => { 
540-                     placeholders. contains ( & two_regions. a )  || placeholders. contains ( & two_regions. b ) 
541-                 } 
542-                 & AddVar ( ..)  | & Purged  => false , 
543-             } 
544-         } 
545-     } 
546- 
547480    fn  add_constraint ( & mut  self ,  constraint :  Constraint < ' tcx > ,  origin :  SubregionOrigin < ' tcx > )  { 
548481        // cannot add constraints once regions are resolved 
549482        debug ! ( "RegionConstraintCollector: add_constraint({:?})" ,  constraint) ; 
0 commit comments