]> git.lizzy.rs Git - rust.git/blobdiff - src/diagnostics.rs
pointer tag tracking: also show when tag is being created
[rust.git] / src / diagnostics.rs
index 81cd04921722762288be962f5a0ab1ca57cd4d57..12ad93a5289ee7524f4c4b19f779a5078dbde312 100644 (file)
@@ -1,5 +1,6 @@
 use std::cell::RefCell;
 use std::fmt;
+use std::num::NonZeroU64;
 
 use log::trace;
 
@@ -41,6 +42,7 @@ impl MachineStopType for TerminationInfo {}
 
 /// Miri specific diagnostics
 pub enum NonHaltingDiagnostic {
+    CreatedPointerTag(NonZeroU64),
     PoppedPointerTag(Item),
     CreatedCallId(CallId),
     CreatedAlloc(AllocId),
@@ -266,6 +268,8 @@ fn process_diagnostics(&self, info: TopFrameInfo<'tcx>) {
             for e in diagnostics.drain(..) {
                 use NonHaltingDiagnostic::*;
                 let msg = match e {
+                    CreatedPointerTag(tag) =>
+                        format!("created tag {:?}", tag),
                     PoppedPointerTag(item) =>
                         format!("popped tracked tag for item {:?}", item),
                     CreatedCallId(id) =>