Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Further to #17
After some quick testing, it seems that transmute does do the correct thing with mutable references. For example:
This doesn't work: https://play.rust-lang.org/?gist=1ff0495b84b12268e97ccf4defaf164f&version=stable
But this does: https://play.rust-lang.org/?gist=7c7b4cb6e87f405bb97806ef69835a8c&version=stable
So it seems like it should also be safe to allow guarded transmutes into mutable references as done here.
Does it seem like a reasonable idea? As with #9 it's possible these functions could be organised a bit better.