2022-10-03 01:02:38 -05:00
|
|
|
#![feature(transmutability)]
|
|
|
|
|
|
|
|
mod assert {
|
|
|
|
use std::mem::BikeshedIntrinsicFrom;
|
|
|
|
|
2024-02-26 10:49:25 -06:00
|
|
|
pub fn is_transmutable<Src, const ASSUME_ALIGNMENT: bool>()
|
2022-10-03 01:02:38 -05:00
|
|
|
where
|
2024-02-26 10:49:25 -06:00
|
|
|
Dst: BikeshedIntrinsicFrom<Src, ASSUME_ALIGNMENT>, //~ ERROR cannot find type `Dst` in this scope
|
2023-03-09 14:49:05 -06:00
|
|
|
//~^ the constant `ASSUME_ALIGNMENT` is not of type `Assume`
|
2024-02-09 06:17:55 -06:00
|
|
|
//~| ERROR: mismatched types
|
2022-10-03 01:02:38 -05:00
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn via_const() {
|
|
|
|
struct Src;
|
|
|
|
|
2024-02-26 10:49:25 -06:00
|
|
|
assert::is_transmutable::<Src, false>();
|
2022-10-03 01:02:38 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|