Seperating NonNull into NonNullMut and NonNullConst

Note that there isn't a lot of difference between *const T and *mut T either, it's mostly the lint: What is the real difference between `*const T` and `*mut T` raw pointers?

What matters for mutability is pointer provenience: did you get it from &T, &mut T or &UnsafeCell<T>.

1 Like