Como o Rust implementa a reflexão?
Ferrugem tem oAny
característica, mas também possui uma política "não pague pelo que você não usa". Como o Rust implementa a reflexão?
Meu palpite é que Rust usa etiquetagem lenta. Todo tipo é inicialmente não atribuído, mas mais tarde se uma instância do tipo for passada para uma função que espera umAny
característica, ao tipo é atribuído umTypeId
.
Ou talvez Rust coloque umTypeId
em todo tipo em que sua instância é possivelmente passada para essa função? Eu acho que o primeiro seria caro.