diff options
Diffstat (limited to 'third_party/rust/cranelift-codegen/src/dbg.rs')
-rw-r--r-- | third_party/rust/cranelift-codegen/src/dbg.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/third_party/rust/cranelift-codegen/src/dbg.rs b/third_party/rust/cranelift-codegen/src/dbg.rs new file mode 100644 index 0000000000..1d814ceedb --- /dev/null +++ b/third_party/rust/cranelift-codegen/src/dbg.rs @@ -0,0 +1,28 @@ +//! Debug tracing helpers. +use core::fmt; + +/// Prefix added to the log file names, just before the thread name or id. +pub static LOG_FILENAME_PREFIX: &str = "cranelift.dbg."; + +/// Helper for printing lists. +pub struct DisplayList<'a, T>(pub &'a [T]) +where + T: 'a + fmt::Display; + +impl<'a, T> fmt::Display for DisplayList<'a, T> +where + T: 'a + fmt::Display, +{ + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0.split_first() { + None => write!(f, "[]"), + Some((first, rest)) => { + write!(f, "[{}", first)?; + for x in rest { + write!(f, ", {}", x)?; + } + write!(f, "]") + } + } + } +} |