Add an explanation shared to exclusive transmute (#344)

pull/346/head
Ramnivas Laddad 3 years ago committed by GitHub
parent f6d6126fc9
commit 7ea147e4f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -19,7 +19,10 @@ boggling.
* Transmute has an overloaded return type. If you do not specify the return type
it may produce a surprising type to satisfy inference.
* Transmuting an `&` to `&mut` is UB.
* Transmuting an `&` to `&mut` is UB. While certain usages may *appear* safe,
note that the Rust optimizer is free to assume that a shared reference won't
change through its lifetime and thus such transmutation will run afoul of those
assumptions. So:
* Transmuting an `&` to `&mut` is *always* UB.
* No you can't do it.
* No you're not special.

Loading…
Cancel
Save