diff --git a/rustbyexample/hello/print_display2.rs b/rustbyexample/hello/print_display2.rs index 4bb58ee..0260116 100644 --- a/rustbyexample/hello/print_display2.rs +++ b/rustbyexample/hello/print_display2.rs @@ -21,6 +21,18 @@ impl fmt::Display for Point2D { } } +#[derive(Debug)] +struct Complex { + real: f64, + imag: f64, +} + +impl fmt::Display for Complex { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{} + {}i", self.real, self.imag) + } +} + fn main() { let minmax = MinMax(0, 14); @@ -42,4 +54,13 @@ fn main() { println!("Compare points:"); println!("Display: {}", point); println!("Debug: {:?}", point); + + let cmplx = Complex { + real: 3.3, + imag: 7.2, + }; + + println!("Compare complexes:"); + println!("Display: {}", cmplx); + println!("Debug: {:?}", cmplx); }