]> git.lizzy.rs Git - rust.git/blob - src/test/ui/async-await/issue-69446-fnmut-capture.stderr
Rollup merge of #105267 - compiler-errors:issue-104613, r=oli-obk
[rust.git] / src / test / ui / async-await / issue-69446-fnmut-capture.stderr
1 error: captured variable cannot escape `FnMut` closure body
2   --> $DIR/issue-69446-fnmut-capture.rs:19:17
3    |
4 LL |       let mut x = Foo;
5    |           ----- variable defined here
6 LL |       bar(move || async {
7    |  _______________-_^
8    | |               |
9    | |               inferred to be a `FnMut` closure
10 LL | |         x.foo();
11    | |         - variable captured here
12 LL | |     });
13    | |_____^ returns an `async` block that contains a reference to a captured variable, which then escapes the closure body
14    |
15    = note: `FnMut` closures only have access to their captured variables while they are executing...
16    = note: ...therefore, they cannot allow references to captured variables to escape
17    = note: requirement occurs because of a mutable reference to `Context<'_>`
18    = note: mutable references are invariant over their type parameter
19    = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
20
21 error: aborting due to previous error
22