#![feature(never_type)] enum Helper { T(T, [!; 0]), #[allow(dead_code)] U(U), } fn transmute(t: T) -> U { let Helper::U(u) = Helper::T(t, []); //~^ ERROR refutable pattern in local binding: `T(_, _)` not covered u } fn main() { println!("{:?}", transmute::<&str, (*const u8, u64)>("type safety")); }