//@ run-pass | |
pub enum T { | |
T1(()), | |
T2(()) | |
} | |
pub enum V { | |
V1(isize), | |
V2(bool) | |
} | |
fn foo(x: (T, V)) -> String { | |
match x { | |
(T::T1(()), V::V1(i)) => format!("T1(()), V1({})", i), | |
(T::T2(()), V::V2(b)) => format!("T2(()), V2({})", b), | |
_ => String::new() | |
} | |
} | |
fn main() { | |
assert_eq!(foo((T::T1(()), V::V1(99))), "T1(()), V1(99)".to_string()); | |
assert_eq!(foo((T::T2(()), V::V2(true))), "T2(()), V2(true)".to_string()); | |
} |