summaryrefslogtreecommitdiffstats
path: root/tests/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs')
-rw-r--r--tests/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs b/tests/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs
new file mode 100644
index 000000000..4666b8a33
--- /dev/null
+++ b/tests/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs
@@ -0,0 +1,15 @@
+// run-rustfix
+// Test that a by-ref `FnMut` closure gets an error when it tries to
+// consume a value.
+
+fn call<F>(f: F) where F : Fn() {
+ f();
+}
+
+fn main() {
+ let y = vec![format!("World")];
+ call(|| {
+ y.into_iter();
+ //~^ ERROR cannot move out of `y`, a captured variable in an `Fn` closure
+ });
+}