summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/borrowck-reborrow-from-shorter-lived-andmut.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/borrowck-reborrow-from-shorter-lived-andmut.rs')
-rw-r--r--src/test/ui/borrowck/borrowck-reborrow-from-shorter-lived-andmut.rs22
1 files changed, 0 insertions, 22 deletions
diff --git a/src/test/ui/borrowck/borrowck-reborrow-from-shorter-lived-andmut.rs b/src/test/ui/borrowck/borrowck-reborrow-from-shorter-lived-andmut.rs
deleted file mode 100644
index 779cb3bbe..000000000
--- a/src/test/ui/borrowck/borrowck-reborrow-from-shorter-lived-andmut.rs
+++ /dev/null
@@ -1,22 +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,'b>(p: &'a mut S<'b>) -> S<'b> {
- S { pointer: &mut *p.pointer }
- //~^ ERROR lifetime may not live long enough
-}
-
-fn main() {
- let mut x = 1;
-
- {
- let mut y = S { pointer: &mut x };
- let z = copy_borrowed_ptr(&mut y);
- *y.pointer += 1;
- *z.pointer += 1;
- }
-}