1747ad3c4Slazypassion //! Debug tracing helpers.
2747ad3c4Slazypassion use core::fmt;
3747ad3c4Slazypassion 
4747ad3c4Slazypassion /// Prefix added to the log file names, just before the thread name or id.
5747ad3c4Slazypassion pub static LOG_FILENAME_PREFIX: &str = "cranelift.dbg.";
6747ad3c4Slazypassion 
7747ad3c4Slazypassion /// Helper for printing lists.
8747ad3c4Slazypassion pub struct DisplayList<'a, T>(pub &'a [T])
9747ad3c4Slazypassion where
10747ad3c4Slazypassion     T: 'a + fmt::Display;
11747ad3c4Slazypassion 
12747ad3c4Slazypassion impl<'a, T> fmt::Display for DisplayList<'a, T>
13747ad3c4Slazypassion where
14747ad3c4Slazypassion     T: 'a + fmt::Display,
15747ad3c4Slazypassion {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result16747ad3c4Slazypassion     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
17747ad3c4Slazypassion         match self.0.split_first() {
18747ad3c4Slazypassion             None => write!(f, "[]"),
19747ad3c4Slazypassion             Some((first, rest)) => {
20*a0442ea0SHamir Mahal                 write!(f, "[{first}")?;
21747ad3c4Slazypassion                 for x in rest {
22*a0442ea0SHamir Mahal                     write!(f, ", {x}")?;
23747ad3c4Slazypassion                 }
24747ad3c4Slazypassion                 write!(f, "]")
25747ad3c4Slazypassion             }
26747ad3c4Slazypassion         }
27747ad3c4Slazypassion     }
28747ad3c4Slazypassion }
29