]> git.proxmox.com Git - rustc.git/blob - tests/ui/transmute/transmute-padding-ice.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / tests / 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 }