summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs')
-rw-r--r--src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs b/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs
new file mode 100644
index 000000000..d54b09c5d
--- /dev/null
+++ b/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs
@@ -0,0 +1,14 @@
+// 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
+ });
+}