rust/tests/ui/zero_offset.rs

29 lines
921 B
Rust
Raw Normal View History

#[allow(clippy::borrow_as_ptr)]
2019-11-14 13:18:24 -06:00
fn main() {
unsafe {
let m = &mut () as *mut ();
m.offset(0);
//~^ ERROR: offset calculation on zero-sized value
//~| NOTE: `#[deny(clippy::zst_offset)]` on by default
m.wrapping_add(0);
//~^ ERROR: offset calculation on zero-sized value
m.sub(0);
//~^ ERROR: offset calculation on zero-sized value
m.wrapping_sub(0);
//~^ ERROR: offset calculation on zero-sized value
2019-11-14 13:18:24 -06:00
let c = &() as *const ();
c.offset(0);
//~^ ERROR: offset calculation on zero-sized value
c.wrapping_add(0);
//~^ ERROR: offset calculation on zero-sized value
c.sub(0);
//~^ ERROR: offset calculation on zero-sized value
c.wrapping_sub(0);
//~^ ERROR: offset calculation on zero-sized value
let sized = &1 as *const i32;
sized.offset(0);
2019-11-14 13:18:24 -06:00
}
}