### What it does
Checks for `Mutex::lock` calls in `if let` expression
with lock calls in any of the else blocks.

### Why is this bad?
The Mutex lock remains held for the whole
`if let ... else` block and deadlocks.

### Example
```
if let Ok(thing) = mutex.lock() {
    do_thing();
} else {
    mutex.lock();
}
```
Should be written
```
let locked = mutex.lock();
if let Ok(thing) = locked {
    do_thing(thing);
} else {
    use_locked(locked);
}
```