| //@ run-pass | |
| //@ compile-flags: -O | |
| // Regression test for issue #80309 | |
| pub fn zero(x: usize) -> usize { | |
| std::ptr::null::<i8>().wrapping_add(x) as usize - x | |
| } | |
| pub fn qux(x: &[i8]) -> i8 { | |
| x[zero(x.as_ptr() as usize)] | |
| } | |
| fn main() { | |
| let z = vec![42, 43]; | |
| println!("{}", qux(&z)); | |
| } |