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