rust/tests/ui/nll/issue-54556-niconii.edition2021.stderr
2024-10-24 04:33:14 +08:00

27 lines
1010 B
Plaintext

error[E0597]: `counter` does not live long enough
--> $DIR/issue-54556-niconii.rs:28:20
|
LL | let counter = Mutex;
| ------- binding `counter` declared here
LL |
LL | if let Ok(_) = counter.lock() { }
| ^^^^^^^-------
| |
| borrowed value does not live long enough
| a temporary with access to the borrow is created here ...
...
LL | }
| -
| |
| `counter` dropped here while still borrowed
| ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `Result<MutexGuard<'_>, ()>`
|
help: consider adding semicolon after the expression so its temporaries are dropped sooner, before the local variables declared by the block are dropped
|
LL | if let Ok(_) = counter.lock() { };
| +
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0597`.