summaryrefslogtreecommitdiffstats
path: root/src/test/ui/pattern/bindings-after-at/borrowck-pat-by-copy-bindings-in-at.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/pattern/bindings-after-at/borrowck-pat-by-copy-bindings-in-at.rs')
-rw-r--r--src/test/ui/pattern/bindings-after-at/borrowck-pat-by-copy-bindings-in-at.rs49
1 files changed, 0 insertions, 49 deletions
diff --git a/src/test/ui/pattern/bindings-after-at/borrowck-pat-by-copy-bindings-in-at.rs b/src/test/ui/pattern/bindings-after-at/borrowck-pat-by-copy-bindings-in-at.rs
deleted file mode 100644
index 0108861cf..000000000
--- a/src/test/ui/pattern/bindings-after-at/borrowck-pat-by-copy-bindings-in-at.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-// check-pass
-
-// Test `Copy` bindings in the rhs of `@` patterns.
-
-#[derive(Copy, Clone)]
-struct C;
-
-fn mk_c() -> C { C }
-
-#[derive(Copy, Clone)]
-struct P<A, B>(A, B);
-
-enum E<A, B> { L(A), R(B) }
-
-fn main() {
- let a @ b @ c @ d = C;
- let a @ (b, c) = (C, mk_c());
- let a @ P(b, P(c, d)) = P(mk_c(), P(C, C));
- let a @ [b, c] = [C, C];
- let a @ [b, .., c] = [C, mk_c(), C];
- let a @ [b, mid @ .., c] = [C, mk_c(), C];
- let a @ &(b, c) = &(C, C);
- let a @ &(b, &P(c, d)) = &(mk_c(), &P(C, C));
-
- fn foo(a @ [b, mid @ .., c]: [C; 3]) {}
-
- use self::E::*;
- match L(C) {
- L(a) | R(a) => {
- let a: C = a;
- drop(a);
- drop(a);
- }
- }
- match R(&L(&mk_c())) {
- L(L(&a)) | L(R(&a)) | R(L(&a)) | R(R(&a)) => {
- let a: C = a;
- drop(a);
- drop(a);
- }
- }
-
- match Ok(mk_c()) {
- Ok(ref a @ b) | Err(b @ ref a) => {
- let _: &C = a;
- let _: C = b;
- }
- }
-}