TypeId — 타입의 고유 식별자

TypeId — 타입의 고유 식별자

TypeId는 각 타입에 부여되는 전역적으로 고유한 식별자를 나타내는 타입이에요. TypeId::of::<T>()로 특정 타입의 식별자를 얻을 수 있어요.

출처: Rust 공식 문서

본문

pub struct TypeId { /* private fields */ }

Any 타입 시스템의 핵심이에요. Any::downcast_ref 같은 다운캐스팅이 내부적으로 TypeId 비교를 통해 이뤄져요. TypeIdCopy, Clone, Eq, Hash, Ord 등을 구현해서, 타입을 키로 쓰는 맵(HashMap)을 만들거나 타입끼리 비교하는 데 쓸 수 있어요. 단, 같은 타입이면 항상 같은 TypeId를 갖는다는 것만 보장돼요.

더 알아보기 (Learn more)

Rust 공식 문서