I feel this may be too coarse, and also that it's turning things off incorrectly. E.g. what if there is no
 use of a static mut, then I feel that this will never be revoked. Also, if there's a `Share` static mut used correctly, then it will be incorrectly errored on. i.e.

```rust
static some_atomic: Atomic... = ...;
// first case
a = b;
some_atomic.set(...); // error here

// second case
a = some_atomic.load(SeqCst); // error here
```