summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs')
-rw-r--r--src/test/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs220
1 files changed, 0 insertions, 220 deletions
diff --git a/src/test/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs b/src/test/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs
deleted file mode 100644
index baf31bd89..000000000
--- a/src/test/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs
+++ /dev/null
@@ -1,220 +0,0 @@
-// Tests using a combination of pattern features has the expected borrow checking behavior
-#![feature(box_patterns)]
-
-enum Test {
- Foo,
- Bar,
- _Baz,
-}
-
-// bindings_after_at + slice_patterns
-
-fn bindings_after_at_slice_patterns_move_binding(x: [String; 4]) {
- match x {
- a @ [.., _] => (),
- _ => (),
- };
-
- &x;
- //~^ ERROR borrow of moved value
-}
-
-fn bindings_after_at_slice_patterns_borrows_binding_mut(mut x: [String; 4]) {
- let r = match x {
- ref mut foo @ [.., _] => Some(foo),
- _ => None,
- };
-
- &x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-fn bindings_after_at_slice_patterns_borrows_slice_mut1(mut x: [String; 4]) {
- let r = match x {
- ref foo @ [.., ref mut bar] => (),
- //~^ ERROR cannot borrow
- _ => (),
- };
-
- drop(r);
-}
-
-fn bindings_after_at_slice_patterns_borrows_slice_mut2(mut x: [String; 4]) {
- let r = match x {
- [ref foo @ .., ref bar] => Some(foo),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-fn bindings_after_at_slice_patterns_borrows_both(mut x: [String; 4]) {
- let r = match x {
- ref foo @ [.., ref bar] => Some(foo),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-// bindings_after_at + or_patterns
-
-fn bindings_after_at_or_patterns_move(x: Option<Test>) {
- match x {
- foo @ Some(Test::Foo | Test::Bar) => (),
- _ => (),
- }
-
- &x;
- //~^ ERROR borrow of moved value
-}
-
-fn bindings_after_at_or_patterns_borrows(mut x: Option<Test>) {
- let r = match x {
- ref foo @ Some(Test::Foo | Test::Bar) => Some(foo),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-fn bindings_after_at_or_patterns_borrows_mut(mut x: Option<Test>) {
- let r = match x {
- ref mut foo @ Some(Test::Foo | Test::Bar) => Some(foo),
- _ => None,
- };
-
- &x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-// bindings_after_at + box_patterns
-
-fn bindings_after_at_box_patterns_borrows_both(mut x: Option<Box<String>>) {
- let r = match x {
- ref foo @ Some(box ref s) => Some(foo),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-fn bindings_after_at_box_patterns_borrows_mut(mut x: Option<Box<String>>) {
- match x {
- ref foo @ Some(box ref mut s) => (),
- //~^ ERROR cannot borrow
- _ => (),
- };
-}
-
-// bindings_after_at + slice_patterns + or_patterns
-
-fn bindings_after_at_slice_patterns_or_patterns_moves(x: [Option<Test>; 4]) {
- match x {
- a @ [.., Some(Test::Foo | Test::Bar)] => (),
- _ => (),
- };
-
- &x;
- //~^ ERROR borrow of moved value
-}
-
-fn bindings_after_at_slice_patterns_or_patterns_borrows_binding(mut x: [Option<Test>; 4]) {
- let r = match x {
- ref a @ [ref b @ .., Some(Test::Foo | Test::Bar)] => Some(a),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-fn bindings_after_at_slice_patterns_or_patterns_borrows_slice(mut x: [Option<Test>; 4]) {
- let r = match x {
- ref a @ [ref b @ .., Some(Test::Foo | Test::Bar)] => Some(b),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-// bindings_after_at + slice_patterns + box_patterns
-
-fn bindings_after_at_slice_patterns_box_patterns_borrows(mut x: [Option<Box<String>>; 4]) {
- let r = match x {
- [_, ref a @ Some(box ref b), ..] => Some(a),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-// bindings_after_at + slice_patterns + or_patterns + box_patterns
-
-fn bindings_after_at_slice_patterns_or_patterns_box_patterns_borrows(
- mut x: [Option<Box<Test>>; 4]
-) {
- let r = match x {
- [_, ref a @ Some(box Test::Foo | box Test::Bar), ..] => Some(a),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-fn bindings_after_at_slice_patterns_or_patterns_box_patterns_borrows_mut(
- mut x: [Option<Box<Test>>; 4]
-) {
- let r = match x {
- [_, ref mut a @ Some(box Test::Foo | box Test::Bar), ..] => Some(a),
- _ => None,
- };
-
- &x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-fn bindings_after_at_slice_patterns_or_patterns_box_patterns_borrows_binding(
- mut x: [Option<Box<Test>>; 4]
-) {
- let r = match x {
- ref a @ [_, ref b @ Some(box Test::Foo | box Test::Bar), ..] => Some(a),
- _ => None,
- };
-
- &mut x;
- //~^ ERROR cannot borrow
-
- drop(r);
-}
-
-fn main() {}