PhantomCovariant

PhantomCovariant (공변 타입 파라미터 마커)

타입 파라미터를 공변(covariant)으로 표시하는 데 쓰는 zero-sized 타입이에요.

출처: Rust 공식 문서

본문

함수의 반환값의 일부로 사용되는 타입은 공변(covariant)이에요. 만약 그 타입이 또한 인자로 전달된다면 불변(invariant)이에요. 자세한 내용은 레퍼런스를 참고하세요.

참고: T가 다른 방식으로 반변(contravariant)이거나 불변이라면, 결과 타입은 불변이 돼요.

pub struct PhantomCovariant<T>(/* private fields */)
where
    T: ?Sized;

레이아웃

모든 T에 대해 다음이 보장돼요.

  • size_of::<PhantomCovariant<T>>() == 0
  • align_of::<PhantomCovariant<T>>() == 1

더 알아보기 (Learn more)

Rust 공식 문서