| //! Test that `#[derive(Debug)]` for enums correctly formats variant names. | |
| //@ run-pass | |
| #[derive(Debug)] | |
| enum Foo { | |
| A(usize), | |
| C, | |
| } | |
| #[derive(Debug)] | |
| enum Bar { | |
| D, | |
| } | |
| pub fn main() { | |
| // Test variant with data | |
| let foo_a = Foo::A(22); | |
| assert_eq!("A(22)".to_string(), format!("{:?}", foo_a)); | |
| if let Foo::A(value) = foo_a { | |
| println!("Value: {}", value); // This needs to remove #[allow(dead_code)] | |
| } | |
| // Test unit variant | |
| assert_eq!("C".to_string(), format!("{:?}", Foo::C)); | |
| // Test unit variant from different enum | |
| assert_eq!("D".to_string(), format!("{:?}", Bar::D)); | |
| } |