Isn't this unsound?

```rust
let a = Mut::new(3);
let b = a.borrow_mut();
let c = b.get();
let d = b.get();
foo(c, d);
```

Or is the compiler detecting the lifetime-bound `mut T` returned and disallowing this?