Does this cause double-up?

I.e.

```rust
static mut SOMETHING: NonShare = NonShare;

fn main() {
     &mut SOMETHING;
}
```

I feel like this section here would point at `&mut SOMETHING`, saying `unsafe` is needed for the mutable borrow, and the section of code below would point at `SOMETHING`, saying `unsafe` is needed for the use of a non-`Share` type. I.e. there will be two similar error messages for essentially the same `unsafe` expression.