Skip to content

Commit

Permalink
Add an explanation shared to exclusive transmute (#344)
Browse files Browse the repository at this point in the history
  • Loading branch information
ramnivas authored Mar 17, 2022
1 parent f6d6126 commit 7ea147e
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/transmutes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down

0 comments on commit 7ea147e

Please sign in to comment.