blob: f2ab4bf080750d74595f20467a562eed2e8905f5 [file] [log] [blame]
//! Regression test for https://github.com/rust-lang/rust/issues/3121
//@ run-pass
#![allow(dead_code)]
#![allow(non_camel_case_types)]
#[derive(Copy, Clone)]
enum side {
mayo,
catsup,
vinegar,
}
#[derive(Copy, Clone)]
enum order {
hamburger,
fries(side),
shake,
}
#[derive(Copy, Clone)]
enum meal {
to_go(order),
for_here(order),
}
fn foo(m: Box<meal>, cond: bool) {
match *m {
meal::to_go(_) => {}
meal::for_here(_) if cond => {}
meal::for_here(order::hamburger) => {}
meal::for_here(order::fries(_s)) => {}
meal::for_here(order::shake) => {}
}
}
pub fn main() {
foo(Box::new(meal::for_here(order::hamburger)), true)
}