]> git.lizzy.rs Git - rust.git/blob - src/test/ui/transmute/transmute-padding-ice.rs
Rollup merge of #103989 - arlosi:arm32-panic, r=Amanieu
[rust.git] / src / test / ui / transmute / transmute-padding-ice.rs
1 #![crate_type = "lib"]
2 #![feature(transmutability)]
3 #![allow(dead_code)]
4
5 mod assert {
6     use std::mem::{Assume, BikeshedIntrinsicFrom};
7     pub struct Context;
8
9     pub fn is_maybe_transmutable<Src, Dst>()
10     where
11         Dst: BikeshedIntrinsicFrom<
12             Src,
13             Context,
14             { Assume { alignment: true, lifetimes: true, safety: true, validity: true } },
15         >,
16     {
17     }
18 }
19
20 fn test() {
21     #[repr(C, align(2))]
22     struct A(u8, u8);
23
24     #[repr(C)]
25     struct B(u8, u8);
26
27     assert::is_maybe_transmutable::<B, A>();
28     //~^ ERROR cannot be safely transmuted
29 }