//@ check-pass #![deny(dead_code)] #[repr(u8)] #[derive(Copy, Clone, Debug)] pub enum RecordField { Target = 1, Level, Module, File, Line, NumArgs, } unsafe trait Pod {} #[repr(transparent)] struct RecordFieldWrapper(RecordField); unsafe impl Pod for RecordFieldWrapper {} fn try_read(buf: &[u8]) -> T { unsafe { std::ptr::read_unaligned(buf.as_ptr() as *const T) } } pub fn foo(buf: &[u8]) -> RecordField { let RecordFieldWrapper(tag) = try_read(buf); tag } fn main() {}