diff options
Diffstat (limited to 'tests/ui/destructuring-assignment/note-unsupported.rs')
-rw-r--r-- | tests/ui/destructuring-assignment/note-unsupported.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/destructuring-assignment/note-unsupported.rs b/tests/ui/destructuring-assignment/note-unsupported.rs new file mode 100644 index 000000000..c69edd421 --- /dev/null +++ b/tests/ui/destructuring-assignment/note-unsupported.rs @@ -0,0 +1,22 @@ +struct S { x: u8, y: u8 } + +fn main() { + let (a, b) = (1, 2); + + (a, b) = (3, 4); + (a, b) += (3, 4); //~ ERROR invalid left-hand side of assignment + //~| ERROR binary assignment operation `+=` cannot be applied + + [a, b] = [3, 4]; + [a, b] += [3, 4]; //~ ERROR invalid left-hand side of assignment + //~| ERROR binary assignment operation `+=` cannot be applied + + let s = S { x: 3, y: 4 }; + + S { x: a, y: b } = s; + S { x: a, y: b } += s; //~ ERROR invalid left-hand side of assignment + //~| ERROR binary assignment operation `+=` cannot be applied + + S { x: a, ..s } = S { x: 3, y: 4 }; + //~^ ERROR functional record updates are not allowed in destructuring assignments +} |