#![allow(unused_assignments, unused_variables, while_true)] // This test confirms that (1) unexecuted infinite loops are handled correctly by the // InstrumentCoverage MIR pass; and (2) Counter Expressions that subtract from zero can be dropped. struct DebugTest; impl std::fmt::Debug for DebugTest { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { if true { if false { while true { } } write!(f, "cool")?; } else { } for i in 0..10 { if true { if false { while true {} } write!(f, "cool")?; } else { } } Ok(()) } } struct DisplayTest; impl std::fmt::Display for DisplayTest { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { if false { } else { if false { while true {} } write!(f, "cool")?; } for i in 0..10 { if false { } else { if false { while true {} } write!(f, "cool")?; } } Ok(()) } } fn main() { let debug_test = DebugTest; println!("{:?}", debug_test); let display_test = DisplayTest; println!("{}", display_test); }