36febe1f4d
This patch updates the error reporting when Safe Transmute is not possible between 2 types by including the reason. Also, fix some small bugs that occur when computing the `Answer` for transmutability.
25 lines
962 B
Plaintext
25 lines
962 B
Plaintext
error[E0277]: `()` cannot be safely transmuted into `u8` in the defining scope of `should_have_correct_size::Context`
|
|
--> $DIR/unit.rs:31:35
|
|
|
|
|
LL | assert::is_transmutable::<(), u8, Context>();
|
|
| ^^ The size of `()` is smaller than the size of `u8`
|
|
|
|
|
note: required by a bound in `is_transmutable`
|
|
--> $DIR/unit.rs:15:14
|
|
|
|
|
LL | pub fn is_transmutable<Src, Dst, Context>()
|
|
| --------------- required by a bound in this function
|
|
LL | where
|
|
LL | Dst: BikeshedIntrinsicFrom<Src, Context, {
|
|
| ______________^
|
|
LL | | Assume::ALIGNMENT
|
|
LL | | .and(Assume::LIFETIMES)
|
|
LL | | .and(Assume::SAFETY)
|
|
LL | | .and(Assume::VALIDITY)
|
|
LL | | }>
|
|
| |__________^ required by this bound in `is_transmutable`
|
|
|
|
error: aborting due to previous error
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|