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