File tree Expand file tree Collapse file tree 1 file changed +7
-0
lines changed 
compiler/rustc_middle/src/mir/interpret Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -525,6 +525,13 @@ impl<'tcx> TyCtxt<'tcx> {
525525        self . alloc_map . lock ( ) . reserve ( ) 
526526    } 
527527
528+     /// Miri's provenance GC needs to see all live allocations. The interpreter manages most 
529+      /// allocations but some are managed by [`TyCtxt`] and without this method the interpreter 
530+      /// doesn't know their [`AllocId`]s are in use. 
531+      pub  fn  iter_allocs < F :  FnMut ( AllocId ) > ( self ,  func :  F )  { 
532+         self . alloc_map . lock ( ) . alloc_map . keys ( ) . copied ( ) . for_each ( func) 
533+     } 
534+ 
528535    /// Reserves a new ID *if* this allocation has not been dedup-reserved before. 
529536     /// Should only be used for "symbolic" allocations (function pointers, vtables, statics), we 
530537     /// don't want to dedup IDs for "real" memory! 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments