//@ run-pass //@ ignore-emscripten FIXME(#45351) #![feature(repr_simd, intrinsics)] #[repr(simd)] #[derive(Copy, Clone, Debug)] pub struct Char3(pub [i8; 3]); #[repr(simd)] #[derive(Copy, Clone, Debug)] pub struct Short3(pub [i16; 3]); extern "rust-intrinsic" { fn simd_cast(x: T) -> U; } fn main() { let cast: Short3 = unsafe { simd_cast(Char3([10, -3, -9])) }; println!("{:?}", cast); }