### What it does
Checks for `as` casts between raw pointers without changing its mutability,
namely `*const T` to `*const U` and `*mut T` to `*mut U`.

### Why is this bad?
Though `as` casts between raw pointers is not terrible, `pointer::cast` is safer because
it cannot accidentally change the pointer's mutability nor cast the pointer to other types like `usize`.

### Example
```
let ptr: *const u32 = &42_u32;
let mut_ptr: *mut u32 = &mut 42_u32;
let _ = ptr as *const i32;
let _ = mut_ptr as *mut i32;
```
Use instead:
```
let ptr: *const u32 = &42_u32;
let mut_ptr: *mut u32 = &mut 42_u32;
let _ = ptr.cast::<i32>();
let _ = mut_ptr.cast::<i32>();
```