Skip to content
Latchkey

O que é type erasure?

O type erasure é uma técnica em que os argumentos de tipo concretos do código genérico são removidos e substituídos por uma representação compartilhada, como um tipo base comum ou um valor encaixotado. Uma única versão compilada então trata todos os argumentos de tipo por meio dessa interface uniforme. Ele mantém o tamanho do código pequeno ao custo de despacho em tempo de execução ou de encaixotamento.

Por que isso importa

O erasure produz uma cópia do código genérico independentemente de quantos tipos o usam, mantendo binários e tempos de compilação menores do que a monomorfização. A desvantagem é a indireção e a perda de alguma informação de tipo em tempo de execução.

Guias relacionados