2019-01-27 11:03:21 +00:00
|
|
|
error[E0621]: explicit lifetime required in the type of `x`
|
|
|
|
--> $DIR/closure-bounds-static-cant-capture-borrowed.rs:5:5
|
|
|
|
|
|
|
|
|
LL | / bar(|| {
|
|
|
|
LL | |
|
|
|
|
LL | | let _ = x;
|
|
|
|
LL | | })
|
|
|
|
| |______^ lifetime `'static` required
|
|
|
|
|
|
|
|
error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function
|
|
|
|
--> $DIR/closure-bounds-static-cant-capture-borrowed.rs:5:9
|
|
|
|
|
|
|
|
|
LL | bar(|| {
|
|
|
|
| ^^ may outlive borrowed value `x`
|
|
|
|
LL |
|
|
|
|
LL | let _ = x;
|
|
|
|
| - `x` is borrowed here
|
|
|
|
|
|
|
|
|
note: function requires argument type to outlive `'static`
|
|
|
|
--> $DIR/closure-bounds-static-cant-capture-borrowed.rs:5:5
|
|
|
|
|
|
|
|
|
LL | / bar(|| {
|
|
|
|
LL | |
|
|
|
|
LL | | let _ = x;
|
|
|
|
LL | | })
|
|
|
|
| |______^
|
|
|
|
help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword
|
|
|
|
|
|
|
|
|
LL | bar(move || {
|
2021-06-28 11:22:47 -07:00
|
|
|
| ^^^^
|
2019-01-27 11:03:21 +00:00
|
|
|
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
|
|
|
|
Some errors have detailed explanations: E0373, E0621.
|
|
|
|
For more information about an error, try `rustc --explain E0373`.
|