PhantomCovariant
PhantomCovariant (공변 타입 파라미터 마커)
타입 파라미터를 공변(covariant)으로 표시하는 데 쓰는 zero-sized 타입이에요.
출처: Rust 공식 문서
본문
함수의 반환값의 일부로 사용되는 타입은 공변(covariant)이에요. 만약 그 타입이 또한 인자로 전달된다면 불변(invariant)이에요. 자세한 내용은 레퍼런스를 참고하세요.
참고: T가 다른 방식으로 반변(contravariant)이거나 불변이라면, 결과 타입은 불변이 돼요.
pub struct PhantomCovariant<T>(/* private fields */)
where
T: ?Sized;
레이아웃
모든 T에 대해 다음이 보장돼요.
size_of::<PhantomCovariant<T>>() == 0align_of::<PhantomCovariant<T>>() == 1