diff options
Diffstat (limited to 'tests/ui/borrowck/borrow-raw-address-of-deref-mutability.rs')
-rw-r--r-- | tests/ui/borrowck/borrow-raw-address-of-deref-mutability.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/borrowck/borrow-raw-address-of-deref-mutability.rs b/tests/ui/borrowck/borrow-raw-address-of-deref-mutability.rs new file mode 100644 index 000000000..712873528 --- /dev/null +++ b/tests/ui/borrowck/borrow-raw-address-of-deref-mutability.rs @@ -0,0 +1,17 @@ +// Check that `&raw mut` cannot be used to turn a `&T` into a `*mut T`. + +#![feature(raw_ref_op)] + +fn raw_reborrow() { + let x = &0; + + let q = &raw mut *x; //~ ERROR cannot borrow +} + +unsafe fn raw_reborrow_of_raw() { + let x = &0 as *const i32; + + let q = &raw mut *x; //~ ERROR cannot borrow +} + +fn main() {} |