AsRef — 저렴한 참조 변환 트레이트

AsRef — 저렴한 참조 변환 트레이트

AsRef<T>비용이 거의 들지 않는 참조 변환을 나타내는 트레이트예요. 타입을 그대로 참조로 바꿔 쓸 수 있게 해줘요.

출처: Rust 공식 문서

본문

pub trait AsRef<T>
    where T: ?Sized,
{
    // Required method
    fn as_ref(&self) -> &T;
}

일반적으로 실패할 수 없고(항상 성공), 복사 없이 참조만 돌려줘야 하는 "성공이 보장된" 변환에 사용해요. 예를 들어 StringAsRef<str>을 구현하고, 경로 관련 함수들이 P: AsRef<Path>를 받아 &str, &Path, String 등 다양한 타입을 받을 수 있게 해줘요.

더 알아보기 (Learn more)

Rust 공식 문서