diff options
| author | Ben Kimock <kimockb@gmail.com> | 2024-10-07 19:34:25 -0400 |
|---|---|---|
| committer | Ben Kimock <kimockb@gmail.com> | 2024-10-09 19:34:27 -0400 |
| commit | 84dacc18829e24ec5d61087a233de68ef57dfabc (patch) | |
| tree | dcafff34c26232cd7c2fddb27977e9060e221f31 /tests/ui/precondition-checks/write_volatile.rs | |
| parent | 0c41c3414c0e89ccb19310a4ec423ac83a48f039 (diff) | |
| download | rust-84dacc18829e24ec5d61087a233de68ef57dfabc.tar.gz rust-84dacc18829e24ec5d61087a233de68ef57dfabc.zip | |
Add more precondition check tests
Diffstat (limited to 'tests/ui/precondition-checks/write_volatile.rs')
| -rw-r--r-- | tests/ui/precondition-checks/write_volatile.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/precondition-checks/write_volatile.rs b/tests/ui/precondition-checks/write_volatile.rs new file mode 100644 index 00000000000..ac0b89b5ecf --- /dev/null +++ b/tests/ui/precondition-checks/write_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::write_volatile requires +//@ revisions: null misaligned + +use std::ptr; + +fn main() { + let mut dst = [0u16; 2]; + let mut dst = dst.as_mut_ptr(); + unsafe { + #[cfg(null)] + ptr::write_volatile(ptr::null_mut::<u8>(), 1u8); + #[cfg(misaligned)] + ptr::write_volatile(dst.byte_add(1), 1u16); + } +} |
