]> git.proxmox.com Git - rustc.git/blame - src/test/ui/issues/issue-44333.rs
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / src / test / ui / issues / issue-44333.rs
CommitLineData
b7449926 1// run-pass
1b1a35ee
XL
2
3#![warn(pointer_structural_match)]
4
94b46f34 5type Func = fn(usize, usize) -> usize;
83c7162d 6
94b46f34
XL
7fn foo(a: usize, b: usize) -> usize { a + b }
8fn bar(a: usize, b: usize) -> usize { a * b }
9fn test(x: usize) -> Func {
10 if x % 2 == 0 { foo }
11 else { bar }
12}
13
14const FOO: Func = foo;
15const BAR: Func = bar;
041b39d2 16
7453a54e 17fn main() {
94b46f34 18 match test(std::env::consts::ARCH.len()) {
1b1a35ee
XL
19 FOO => println!("foo"), //~ WARN pointers in patterns behave unpredictably
20 //~^ WARN will become a hard error
21 BAR => println!("bar"), //~ WARN pointers in patterns behave unpredictably
22 //~^ WARN will become a hard error
94b46f34
XL
23 _ => unreachable!(),
24 }
223e47cc 25}