You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// This is a new allocation, add the allocation it points to `todo`.
960
-
let info = self.get_alloc_info(id);
958
+
if !done.insert(id){
959
+
continue;
960
+
}
961
+
// This is a new allocation, add the allocations it points to to `todo`.
962
+
let info = self.get_alloc_info(id);
961
963
962
-
// If there is no data behind this pointer, skip this.
963
-
if !matches!(info.kind,AllocKind::LiveData){
964
-
continue;
965
-
}
964
+
// If there is no data behind this pointer, skip this.
965
+
if !matches!(info.kind,AllocKind::LiveData){
966
+
continue;
967
+
}
966
968
967
-
let alloc = self.get_alloc_raw(id)?;
968
-
for prov in alloc.provenance().provenances(){
969
-
//M::expose_provenance(self, prov)?; // TODO: Is this the right way to expose provenance? + mutable borrow here gives issues due to provenances iterator lifetime...
970
-
ifletSome(id) = prov.get_alloc_id(){
971
-
todo.push(id);
972
-
}
969
+
let alloc = self.get_alloc_raw(id)?;
970
+
for prov in alloc.provenance().provenances(){
971
+
//M::expose_provenance(self, prov)?; // TODO: mutable borrow here gives issues due to provenances iterator lifetime...
972
+
ifletSome(id) = prov.get_alloc_id(){
973
+
todo.push(id);
973
974
}
975
+
}
974
976
975
-
// Prepare for possible write from native code if mutable.
976
-
if info.mutbl.is_mut(){
977
-
let tcx = self.tcx;
978
-
self.get_alloc_raw_mut(id)?
979
-
.0
980
-
.prepare_for_native_call(&tcx)
981
-
.map_err(|e| e.to_interp_error(id))?;
982
-
}
977
+
// Prepare for possible write from native code if mutable.
0 commit comments