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

더 알아보기 (Learn more)

Rust 공식 문서