summaryrefslogtreecommitdiffstats
path: root/src/test/ui/pattern/bindings-after-at/borrowck-pat-at-and-box.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/pattern/bindings-after-at/borrowck-pat-at-and-box.rs')
-rw-r--r--src/test/ui/pattern/bindings-after-at/borrowck-pat-at-and-box.rs69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/test/ui/pattern/bindings-after-at/borrowck-pat-at-and-box.rs b/src/test/ui/pattern/bindings-after-at/borrowck-pat-at-and-box.rs
deleted file mode 100644
index 45aa65e67..000000000
--- a/src/test/ui/pattern/bindings-after-at/borrowck-pat-at-and-box.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-// Test `@` patterns combined with `box` patterns.
-
-#![feature(box_patterns)]
-
-#[derive(Copy, Clone)]
-struct C;
-
-fn c() -> C {
- C
-}
-
-struct NC;
-
-fn nc() -> NC {
- NC
-}
-
-fn main() {
- let a @ box &b = Box::new(&C);
-
- let a @ box b = Box::new(C);
-
- fn f1(a @ box &b: Box<&C>) {}
-
- fn f2(a @ box b: Box<C>) {}
-
- match Box::new(C) {
- a @ box b => {}
- }
-
- let ref a @ box b = Box::new(NC); //~ ERROR cannot move out of value because it is borrowed
- //~| ERROR borrow of moved value
-
- let ref a @ box ref mut b = Box::new(nc());
- //~^ ERROR cannot borrow value as mutable because it is also borrowed as immutable
- let ref a @ box ref mut b = Box::new(NC);
- //~^ ERROR cannot borrow value as mutable because it is also borrowed as immutable
- let ref a @ box ref mut b = Box::new(NC);
- //~^ ERROR cannot borrow value as mutable because it is also borrowed as immutable
- //~| ERROR cannot borrow value as immutable because it is also borrowed as mutable
- *b = NC;
- let ref a @ box ref mut b = Box::new(NC);
- //~^ ERROR cannot borrow value as mutable because it is also borrowed as immutable
- //~| ERROR cannot borrow value as immutable because it is also borrowed as mutable
- *b = NC;
- drop(a);
-
- let ref mut a @ box ref b = Box::new(NC);
- //~^ ERROR cannot borrow value as immutable because it is also borrowed as mutable
- //~| ERROR cannot borrow value as mutable because it is also borrowed as immutable
- *a = Box::new(NC);
- drop(b);
-
- fn f5(ref mut a @ box ref b: Box<NC>) {
- //~^ ERROR cannot borrow value as immutable because it is also borrowed as mutable
- //~| ERROR cannot borrow value as mutable because it is also borrowed as immutable
- *a = Box::new(NC);
- drop(b);
- }
-
- match Box::new(nc()) {
- ref mut a @ box ref b => {
- //~^ ERROR cannot borrow value as immutable because it is also borrowed as mutable
- //~| ERROR cannot borrow value as mutable because it is also borrowed as immutable
- *a = Box::new(NC);
- drop(b);
- }
- }
-}