rust/tests/ui/derives/derive-Debug-enum-variants.rs
2025-06-30 11:16:18 +05:00

31 lines
630 B
Rust

//! 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));
}