about summary refs log tree commit diff
path: root/tests/ui/closures/moved-upvar-mut-rebind-11958.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/closures/moved-upvar-mut-rebind-11958.rs')
-rw-r--r--tests/ui/closures/moved-upvar-mut-rebind-11958.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/ui/closures/moved-upvar-mut-rebind-11958.rs b/tests/ui/closures/moved-upvar-mut-rebind-11958.rs
new file mode 100644
index 00000000000..701dc1a2cef
--- /dev/null
+++ b/tests/ui/closures/moved-upvar-mut-rebind-11958.rs
@@ -0,0 +1,13 @@
+//! Regression test for https://github.com/rust-lang/rust/issues/11958
+
+//@ run-pass
+
+// We shouldn't need to rebind a moved upvar as mut if it's already
+// marked as mut
+
+pub fn main() {
+    let mut x = 1;
+    let _thunk = Box::new(move|| { x = 2; });
+    //~^ WARN value assigned to `x` is never read
+    //~| WARN unused variable: `x`
+}