summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/src/docs/drop_ref.txt
blob: c4f7adf0cfa33d9359bfa54fa878950b62da84da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
### What it does
Checks for calls to `std::mem::drop` with a reference
instead of an owned value.

### Why is this bad?
Calling `drop` on a reference will only drop the
reference itself, which is a no-op. It will not call the `drop` method (from
the `Drop` trait implementation) on the underlying referenced value, which
is likely what was intended.

### Example
```
let mut lock_guard = mutex.lock();
std::mem::drop(&lock_guard) // Should have been drop(lock_guard), mutex
// still locked
operation_that_requires_mutex_to_be_unlocked();
```