summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/borrowck-assign-to-andmut-in-borrowed-loc.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/borrowck-assign-to-andmut-in-borrowed-loc.rs')
-rw-r--r--src/test/ui/borrowck/borrowck-assign-to-andmut-in-borrowed-loc.rs23
1 files changed, 0 insertions, 23 deletions
diff --git a/src/test/ui/borrowck/borrowck-assign-to-andmut-in-borrowed-loc.rs b/src/test/ui/borrowck/borrowck-assign-to-andmut-in-borrowed-loc.rs
deleted file mode 100644
index f7aee2b8a..000000000
--- a/src/test/ui/borrowck/borrowck-assign-to-andmut-in-borrowed-loc.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Test that assignments to an `&mut` pointer which is found in a
-// borrowed (but otherwise non-aliasable) location is illegal.
-
-struct S<'a> {
- pointer: &'a mut isize
-}
-
-fn copy_borrowed_ptr<'a>(p: &'a mut S<'a>) -> S<'a> {
- S { pointer: &mut *p.pointer }
-}
-
-fn main() {
- let mut x = 1;
-
- {
- let mut y = S { pointer: &mut x };
- let z = copy_borrowed_ptr(&mut y);
- *y.pointer += 1;
- //~^ ERROR cannot use `*y.pointer`
- //~| ERROR cannot assign to `*y.pointer`
- *z.pointer += 1;
- }
-}