ZeroablePrimitive

ZeroablePrimitive (0이 될 수 있는 기본 타입 마커)

0이 될 수 있는 기본(primitive) 타입을 위한 마커 트레이트예요.

출처: Rust 공식 문서

본문

이것은 NonZero의 구현 세부 사항으로, 언제든지 사라지거나 대체될 수 있어요.

안전성 (Safety)

이 트레이트를 구현하는 타입은 0으로 만들었을 때 유효한 기본 타입이어야 해요. 연관된 Self::NonZeroInner 타입은 Self와 같은 크기+정렬을 가져야 하지만, 다음 transmute가 건전하도록 하는 니치(niche)와 비트 유효성을 가져야 해요: Self::NonZeroInner에서 Option<Self::NonZeroInner>로, Option<Self::NonZeroInner>에서 Self로. (결과적으로 Self::NonZeroInner에서 Self로도.)

pub unsafe trait ZeroablePrimitive: Sized + Copy {
    type NonZeroInner: Copy;
}

더 알아보기 (Learn more)

Rust 공식 문서