]> git.lizzy.rs Git - rust.git/blob - tests/ui/consts/consts-in-patterns.rs
Rollup merge of #106949 - compiler-errors:is-poly, r=BoxyUwU
[rust.git] / tests / ui / consts / consts-in-patterns.rs
1 // run-pass
2
3 const FOO: isize = 10;
4 const BAR: isize = 3;
5 const ZST: &() = unsafe { std::mem::transmute(1usize) };
6 const ZST_ARR: &[u8; 0] = unsafe { std::mem::transmute(1usize) };
7
8 const fn foo() -> isize { 4 }
9 const BOO: isize = foo();
10
11 pub fn main() {
12     let x: isize = 3;
13     let y = match x {
14         FOO => 1,
15         BAR => 2,
16         BOO => 4,
17         _ => 3
18     };
19     assert_eq!(y, 2);
20     let z = match &() {
21         ZST => 9,
22     };
23     assert_eq!(z, 9);
24     let z = match b"" {
25         ZST_ARR => 10,
26     };
27     assert_eq!(z, 10);
28 }