rust/src/test/ui/consts/const-eval/match-test-ptr-null.rs

17 lines
737 B
Rust
Raw Normal View History

2018-07-15 06:55:17 -05:00
fn main() {
// Make sure match uses the usual pointer comparison code path -- i.e., it should complain
// that pointer comparison is disallowed, not that parts of a pointer are accessed as raw
// bytes.
let _: [u8; 0] = [4; {
2019-04-10 18:40:12 -05:00
match &1 as *const i32 as usize {
//~^ ERROR casting pointers to integers in constants
2019-04-11 13:42:06 -05:00
//~| NOTE for more information, see
//~| ERROR constant contains unimplemented expression type
2018-07-15 06:55:17 -05:00
0 => 42, //~ ERROR constant contains unimplemented expression type
//~^ NOTE "pointer arithmetic or comparison" needs an rfc before being allowed
//~| ERROR evaluation of constant value failed
2018-07-15 06:55:17 -05:00
n => n,
}
}];
}