diff options
Diffstat (limited to 'tests/ui/precondition-checks/read_volatile.rs')
| -rw-r--r-- | tests/ui/precondition-checks/read_volatile.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/precondition-checks/read_volatile.rs b/tests/ui/precondition-checks/read_volatile.rs new file mode 100644 index 00000000000..e14881d0290 --- /dev/null +++ b/tests/ui/precondition-checks/read_volatile.rs @@ -0,0 +1,17 @@ +//@ run-fail +//@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes +//@ error-pattern: unsafe precondition(s) violated: ptr::read_volatile requires +//@ revisions: null misaligned + +use std::ptr; + +fn main() { + let src = [0u16; 2]; + let src = src.as_ptr(); + unsafe { + #[cfg(null)] + ptr::read_volatile(ptr::null::<u8>()); + #[cfg(misaligned)] + ptr::read_volatile(src.byte_add(1)); + } +} |
