transmute_prefix
transmute_prefix (공통 접두사만 초기화하는 transmute 함수)
transmute와 같지만, 목적지의 처음 min(size_of::<Src>(), size_of::<Dst>()) 바이트의 "공통 접두사"만 소스의 해당 바이트에서 초기화하는 unsafe 상수 함수예요.
출처: Rust 공식 문서
본문
이것은 #[repr(C)]인 union을 통한 "유니온 캐스트"와 동등해요. 즉 [T; 2]를 [T; 1]로 변환하는 것처럼 일부 크기 불일치는 UB가 아니에요. u8에서 u32로처럼 크기를 늘리는 것은 불충분한 초기화 때문에 보통 UB이지만, 항상 그런 것은 아니에요.
pub const unsafe fn transmute_prefix<Src, Dst>(src: Src) -> Dst