-`x`, `&*x as *const _ as *mut _` is pretty much equivalent to `x as *mut`. This
-came up during the implementation because I realized that in `x as *const _` on
-a mutable reference, `x` actually first gets coerced to shared reference, which
-then gets cast to a raw pointer. This happens in `NonNull::from`, so if you
-later write to that `NonNull`, you end up writing to a raw pointer that was
-created from a shared reference. Originally I intended this to be strictly
-illegal. This is writing to a shared reference after all, how dare you!
-However, it turns out it's actually no big deal *if the shared reference does
-not get used again later*. This is an access-based model after all, if a
-reference never gets used again we do not care much about enforcing any
-guarantees for it. (This is another example of a coincidental fix, where I had
-a surprisingly passing test case and then investigated what happened.)
+`x`, `&*x as *const _ as *mut _` is pretty much equivalent to `x as *mut _`; the
+fact that we have an intermediate shared reference does not matter (not for the
+aliasing model, anyway). During the implementation, I realized that in `x as
+*const _` on a mutable reference, `x` actually first gets coerced to shared
+reference, which then gets cast to a raw pointer. This happens in
+`NonNull::from`, so if you later write to that `NonNull`, you end up writing to
+a raw pointer that was created from a shared reference. Originally I intended
+this to be strictly illegal. This is writing to a shared reference after all,
+how dare you! However, it turns out it's actually no big deal *if the shared
+reference does not get used again later*. This is an access-based model after
+all, if a reference never gets used again we do not care much about enforcing
+any guarantees for it. (This is another example of a coincidental fix, where I
+had a surprisingly passing test case and then investigated what happened.)