diff options
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.rs | 44 |
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 -} |