//@ run-pass const FOO: isize = 10; const BAR: isize = 3; const ZST: &() = unsafe { std::mem::transmute(1usize) }; const ZST_ARR: &[u8; 0] = unsafe { std::mem::transmute(1usize) }; const fn foo() -> isize { 4 } const BOO: isize = foo(); pub fn main() { let x: isize = 3; let y = match x { FOO => 1, BAR => 2, BOO => 4, _ => 3 }; assert_eq!(y, 2); let z = match &() { ZST => 9, }; assert_eq!(z, 9); let z = match b"" { ZST_ARR => 10, }; assert_eq!(z, 10); }