summaryrefslogtreecommitdiffstats
path: root/src/test/ui/destructuring-assignment/tuple_struct_destructure_fail.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/destructuring-assignment/tuple_struct_destructure_fail.rs')
-rw-r--r--src/test/ui/destructuring-assignment/tuple_struct_destructure_fail.rs44
1 files changed, 0 insertions, 44 deletions
diff --git a/src/test/ui/destructuring-assignment/tuple_struct_destructure_fail.rs b/src/test/ui/destructuring-assignment/tuple_struct_destructure_fail.rs
deleted file mode 100644
index 845f867d7..000000000
--- a/src/test/ui/destructuring-assignment/tuple_struct_destructure_fail.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-struct TupleStruct<S, T>(S, T);
-
-enum Enum<S, T> {
- SingleVariant(S, T)
-}
-
-type Alias<S> = Enum<S, isize>;
-
-trait Test {
- fn test() -> TupleStruct<isize, isize> {
- TupleStruct(0, 0)
- }
-}
-
-impl Test for Alias<isize> {}
-
-fn test() -> TupleStruct<isize, isize> {
- TupleStruct(0, 0)
-}
-
-fn main() {
- let (mut a, mut b);
- TupleStruct(a, .., b, ..) = TupleStruct(0, 1);
- //~^ ERROR `..` can only be used once per tuple struct or variant pattern
- Enum::SingleVariant(a, .., b, ..) = Enum::SingleVariant(0, 1);
- //~^ ERROR `..` can only be used once per tuple struct or variant pattern
-
- TupleStruct(a, a, b) = TupleStruct(1, 2);
- //~^ ERROR this pattern has 3 fields, but the corresponding tuple struct has 2 fields
- TupleStruct(_) = TupleStruct(1, 2);
- //~^ ERROR this pattern has 1 field, but the corresponding tuple struct has 2 fields
- Enum::SingleVariant(a, a, b) = Enum::SingleVariant(1, 2);
- //~^ ERROR this pattern has 3 fields, but the corresponding tuple variant has 2 fields
- Enum::SingleVariant(_) = Enum::SingleVariant(1, 2);
- //~^ ERROR this pattern has 1 field, but the corresponding tuple variant has 2 fields
-
- // Check if `test` is recognized as not a tuple struct but a function call:
- test() = TupleStruct(0, 0);
- //~^ ERROR invalid left-hand side of assignment
- (test)() = TupleStruct(0, 0);
- //~^ ERROR invalid left-hand side of assignment
- <Alias::<isize> as Test>::test() = TupleStruct(0, 0);
- //~^ ERROR invalid left-hand side of assignment
-}