mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-03 02:40:40 +00:00
31 lines
630 B
Rust
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));
|
|
}
|