NonZero

NonZero (0이 아님이 보장된 값 구조체)

0이 아니라고 알려진 값을 나타내는 구조체예요. 일부 메모리 레이아웃 최적화를 가능하게 해요.

출처: Rust 공식 문서

본문

이 타입은 0이 아니라고 알려진 값을 나타내요. 일부 메모리 레이아웃 최적화를 가능하게 해요. 예를 들어 Option<NonZero<u32>>u32와 같은 크기예요:

use core::{num::NonZero};

assert_eq!(size_of::<Option<NonZero<u32>>>(), size_of::<u32>());
pub struct NonZero<T>(/* private fields */)
where
    T: ZeroablePrimitive;

더 알아보기 (Learn more)

Rust 공식 문서