diff options
Diffstat (limited to 'src/test/ui/borrowck/borrowck-reborrow-from-mut.rs')
-rw-r--r-- | src/test/ui/borrowck/borrowck-reborrow-from-mut.rs | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/src/test/ui/borrowck/borrowck-reborrow-from-mut.rs b/src/test/ui/borrowck/borrowck-reborrow-from-mut.rs deleted file mode 100644 index eef83c5ac..000000000 --- a/src/test/ui/borrowck/borrowck-reborrow-from-mut.rs +++ /dev/null @@ -1,99 +0,0 @@ -struct Foo { - bar1: Bar, - bar2: Bar -} - -struct Bar { - int1: isize, - int2: isize, -} - -fn borrow_same_field_twice_mut_mut(foo: &mut Foo) { - let _bar1 = &mut foo.bar1; - let _bar2 = &mut foo.bar1; //~ ERROR cannot borrow - use_mut(_bar1); -} -fn borrow_same_field_twice_mut_imm(foo: &mut Foo) { - let _bar1 = &mut foo.bar1; - let _bar2 = &foo.bar1; //~ ERROR cannot borrow - use_mut(_bar1); -} -fn borrow_same_field_twice_imm_mut(foo: &mut Foo) { - let _bar1 = &foo.bar1; - let _bar2 = &mut foo.bar1; //~ ERROR cannot borrow - use_imm(_bar1); -} -fn borrow_same_field_twice_imm_imm(foo: &mut Foo) { - let _bar1 = &foo.bar1; - let _bar2 = &foo.bar1; - use_imm(_bar1); -} -fn borrow_both_mut(foo: &mut Foo) { - let _bar1 = &mut foo.bar1; - let _bar2 = &mut foo.bar2; - use_mut(_bar1); -} -fn borrow_both_mut_pattern(foo: &mut Foo) { - match *foo { - Foo { bar1: ref mut _bar1, bar2: ref mut _bar2 } => - { use_mut(_bar1); use_mut(_bar2); } - } -} -fn borrow_var_and_pattern(foo: &mut Foo) { - let _bar1 = &mut foo.bar1; - match *foo { - Foo { bar1: ref mut _bar1, bar2: _ } => {} - //~^ ERROR cannot borrow - } - use_mut(_bar1); -} -fn borrow_mut_and_base_imm(foo: &mut Foo) { - let _bar1 = &mut foo.bar1.int1; - let _foo1 = &foo.bar1; //~ ERROR cannot borrow - let _foo2 = &*foo; //~ ERROR cannot borrow - use_mut(_bar1); -} -fn borrow_mut_and_base_mut(foo: &mut Foo) { - let _bar1 = &mut foo.bar1.int1; - let _foo1 = &mut foo.bar1; //~ ERROR cannot borrow - use_mut(_bar1); -} -fn borrow_mut_and_base_mut2(foo: &mut Foo) { - let _bar1 = &mut foo.bar1.int1; - let _foo2 = &mut *foo; //~ ERROR cannot borrow - use_mut(_bar1); -} -fn borrow_imm_and_base_mut(foo: &mut Foo) { - let _bar1 = &foo.bar1.int1; - let _foo1 = &mut foo.bar1; //~ ERROR cannot borrow - use_imm(_bar1); -} -fn borrow_imm_and_base_mut2(foo: &mut Foo) { - let _bar1 = &foo.bar1.int1; - let _foo2 = &mut *foo; //~ ERROR cannot borrow - use_imm(_bar1); -} -fn borrow_imm_and_base_imm(foo: &mut Foo) { - let _bar1 = &foo.bar1.int1; - let _foo1 = &foo.bar1; - let _foo2 = &*foo; - use_imm(_bar1); -} -fn borrow_mut_and_imm(foo: &mut Foo) { - let _bar1 = &mut foo.bar1; - let _foo1 = &foo.bar2; - use_mut(_bar1); -} -fn borrow_mut_from_imm(foo: &Foo) { - let _bar1 = &mut foo.bar1; //~ ERROR cannot borrow -} - -fn borrow_long_path_both_mut(foo: &mut Foo) { - let _bar1 = &mut foo.bar1.int1; - let _foo1 = &mut foo.bar2.int2; - use_mut(_bar1); -} -fn main() {} - -fn use_mut<T>(_: &mut T) { } -fn use_imm<T>(_: &T) { } |