]> git.lizzy.rs Git - rust.git/blob - src/test/ui/issues/issue-3121.rs
Rollup merge of #99216 - duarten:master, r=joshtriplett
[rust.git] / src / test / ui / issues / issue-3121.rs
1 // run-pass
2 #![allow(dead_code)]
3 #![allow(non_camel_case_types)]
4
5 #[derive(Copy, Clone)]
6 enum side { mayo, catsup, vinegar }
7 #[derive(Copy, Clone)]
8 enum order { hamburger, fries(side), shake }
9 #[derive(Copy, Clone)]
10 enum meal { to_go(order), for_here(order) }
11
12 fn foo(m: Box<meal>, cond: bool) {
13     match *m {
14       meal::to_go(_) => { }
15       meal::for_here(_) if cond => {}
16       meal::for_here(order::hamburger) => {}
17       meal::for_here(order::fries(_s)) => {}
18       meal::for_here(order::shake) => {}
19     }
20 }
21
22 pub fn main() {
23     foo(Box::new(meal::for_here(order::hamburger)), true)
24 }