2019-04-22 07:40:08 +00:00
|
|
|
warning: captured variable cannot escape `FnMut` closure body
|
|
|
|
--> $DIR/issue-49824.rs:10:9
|
|
|
|
|
|
|
|
|
LL | || {
|
|
|
|
| - inferred to be a `FnMut` closure
|
|
|
|
LL | / || {
|
|
|
|
LL | |
|
|
|
|
LL | |
|
|
|
|
LL | |
|
|
|
|
LL | | let _y = &mut x;
|
|
|
|
LL | | }
|
|
|
|
| |_________^ 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
|
|
|
|
= warning: this error has been downgraded to a warning for backwards compatibility with previous releases
|
|
|
|
= warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future
|
|
|
|
|
2018-07-27 22:09:23 +00:00
|
|
|
error: compilation successful
|
2019-04-22 07:40:08 +00:00
|
|
|
--> $DIR/issue-49824.rs:6:1
|
2018-07-27 22:09:23 +00:00
|
|
|
|
|
|
|
|
LL | / fn main() {
|
2019-03-09 12:03:44 +00:00
|
|
|
LL | |
|
2018-07-27 22:09:23 +00:00
|
|
|
LL | | let mut x = 0;
|
|
|
|
LL | | || {
|
|
|
|
... |
|
|
|
|
LL | | };
|
|
|
|
LL | | }
|
|
|
|
| |_^
|
|
|
|
|
|
|
|
error: aborting due to previous error
|
|
|
|
|