summaryrefslogtreecommitdiffstats
path: root/tests/ui/borrowck/do-not-suggest-adding-move-when-closure-is-already-marked-as-move.stderr
blob: 78ca090feb72245bcef8d36e5e95b9de9b639eaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
error: captured variable cannot escape `FnMut` closure body
  --> $DIR/do-not-suggest-adding-move-when-closure-is-already-marked-as-move.rs:6:9
   |
LL |     let mut vec: Vec<i32> = Vec::new();
   |         ------- variable defined here
LL |     let closure = move || {
   |                         - inferred to be a `FnMut` closure
LL |         vec.clear();
   |         --- variable captured here
LL |         let mut iter = vec.iter();
LL |         move || { iter.next() }
   |         ^^^^^^^^^^^^^^^^^^^^^^^ returns a closure that contains a reference to a captured variable, which then escapes the closure body
   |
   = note: `FnMut` closures only have access to their captured variables while they are executing...
   = note: ...therefore, they cannot allow references to captured variables to escape

error: aborting due to previous error