about summary refs log tree commit diff
path: root/tests/ui/transmutability/unions/extension.rs
blob: eb4dcd4dff3df14dc221be942db19950cd4bb8b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
#![crate_type = "lib"]
#![feature(transmutability)]
use std::mem::{Assume, MaybeUninit, TransmuteFrom};

pub fn is_maybe_transmutable<Src, Dst>()
    where Dst: TransmuteFrom<Src, { Assume::VALIDITY.and(Assume::SAFETY) }>
{}

fn extension() {
    is_maybe_transmutable::<(), MaybeUninit<u8>>();
    is_maybe_transmutable::<MaybeUninit<u8>, [u8; 2]>(); //~ ERROR  `MaybeUninit<u8>` cannot be safely transmuted into `[u8; 2]`
}