struct_ManuallyDrop
struct_ManuallyDrop (소멸자 호출 억제 래퍼)
컴파일러가 T의 소멸자를 자동으로 호출하는 것을 억제하는 래퍼예요. 이 래퍼는 0-비용이에요.
출처: Rust 공식 문서
본문
ManuallyDrop은 T와 같은 레이아웃과 비트 유효성을 가지며, T와 같은 레이아웃 최적화가 적용된다고 보장돼요. 결과적으로, 컴파일러가 그 내용에 대해 하는 가정에 영향을 주지 않아요. 예를 들어 mem::zeroed로 ManuallyDrop을 초기화하는 것은 정의되지 않은 동작이에요. 초기화되지 않은 데이터를 다뤄야 한다면 MaybeUninit을 사용하세요.
pub struct ManuallyDrop<T>
where
T: ?Sized,
{ /* private fields */ }