summaryrefslogtreecommitdiffstats
path: root/src/test/ui/typeck/assign-non-lval-needs-deref.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/typeck/assign-non-lval-needs-deref.rs')
-rw-r--r--src/test/ui/typeck/assign-non-lval-needs-deref.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/typeck/assign-non-lval-needs-deref.rs b/src/test/ui/typeck/assign-non-lval-needs-deref.rs
new file mode 100644
index 000000000..c979d76b4
--- /dev/null
+++ b/src/test/ui/typeck/assign-non-lval-needs-deref.rs
@@ -0,0 +1,19 @@
+// issue #101376
+
+use std::ops::AddAssign;
+struct Foo;
+
+impl AddAssign<()> for Foo {
+ fn add_assign(&mut self, _: ()) {}
+}
+
+impl AddAssign<()> for &mut Foo {
+ fn add_assign(&mut self, _: ()) {}
+}
+
+fn main() {
+ (&mut Foo) += ();
+ //~^ ERROR invalid left-hand side of assignment
+ //~| NOTE cannot assign to this expression
+ //~| HELP consider dereferencing the left-hand side of this operation
+}