struct_ManuallyDrop

struct_ManuallyDrop (소멸자 호출 억제 래퍼)

컴파일러가 T의 소멸자를 자동으로 호출하는 것을 억제하는 래퍼예요. 이 래퍼는 0-비용이에요.

출처: Rust 공식 문서

본문

ManuallyDropT와 같은 레이아웃과 비트 유효성을 가지며, T와 같은 레이아웃 최적화가 적용된다고 보장돼요. 결과적으로, 컴파일러가 그 내용에 대해 하는 가정에 영향을 주지 않아요. 예를 들어 mem::zeroedManuallyDrop을 초기화하는 것은 정의되지 않은 동작이에요. 초기화되지 않은 데이터를 다뤄야 한다면 MaybeUninit을 사용하세요.

pub struct ManuallyDrop<T>
where
    T: ?Sized,
{ /* private fields */ }

더 알아보기 (Learn more)

Rust 공식 문서