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