diff options
| author | Aaron Kofsky <aaronko@umich.edu> | 2022-08-04 17:00:48 -0400 |
|---|---|---|
| committer | Aaron Kofsky <aaronko@umich.edu> | 2022-08-04 17:00:48 -0400 |
| commit | a9f1b7bd2a25e34de29eb88f81550690f4fec5dc (patch) | |
| tree | 3a5ac965a3c4c7e45af33eb97b258870b1242b0a /src/test | |
| parent | a9095ff2139fb305b15006d1f2a1ff16da0b6c29 (diff) | |
| download | rust-a9f1b7bd2a25e34de29eb88f81550690f4fec5dc.tar.gz rust-a9f1b7bd2a25e34de29eb88f81550690f4fec5dc.zip | |
Explain why let-underscoring a lock guard is incorrect.
Currently, the let_underscore_lock lint simply tells what is wrong, but not why it is wrong. We fix this by using a `MultiSpan` to explain specifically that doing `let _ = ` immediately drops the lock guard because it does not assign the lock guard to a binding.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/lint/let_underscore/let_underscore_lock.stderr | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/test/ui/lint/let_underscore/let_underscore_lock.stderr b/src/test/ui/lint/let_underscore/let_underscore_lock.stderr index 7aa119003b4..fb58af0a42f 100644 --- a/src/test/ui/lint/let_underscore/let_underscore_lock.stderr +++ b/src/test/ui/lint/let_underscore/let_underscore_lock.stderr @@ -1,8 +1,10 @@ error: non-binding let on a synchronization lock - --> $DIR/let_underscore_lock.rs:6:5 + --> $DIR/let_underscore_lock.rs:6:9 | LL | let _ = data.lock().unwrap(); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^ ^^^^^^^^^^^^^^^^^^^^ this binding will immediately drop the value assigned to it + | | + | this lock is not assigned to a binding and is immediately dropped | = note: `#[deny(let_underscore_lock)]` on by default help: consider binding to an unused variable to avoid immediately dropping the value |
