3 #![warn(pointer_structural_match)]
5 type Func = fn(usize, usize) -> usize;
7 fn foo(a: usize, b: usize) -> usize { a + b }
8 fn bar(a: usize, b: usize) -> usize { a * b }
9 fn test(x: usize) -> Func {
14 const FOO: Func = foo;
15 const BAR: Func = bar;
18 match test(std::env::consts::ARCH.len()) {
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