O Que É Contravariância?
Contravariância é a variância em que o subtyping entre argumentos de tipo flui na direção oposta aos tipos genéricos construídos a partir deles. É segura quando o parâmetro de tipo é apenas consumido, como na posição de parâmetro de uma função. Uma função que aceita um tipo de entrada mais amplo pode substituir uma que espera uma entrada mais estreita.
Por que isso importa
Contravariância explica por que um handler que aceita um tipo geral pode ser usado onde um que aceita um tipo específico é exigido. É essencial para substituir callbacks e consumidores com segurança.
Guias relacionados
What Is Covariance?Covariance preserves subtyping direction, so a generic over a subtype is a subtype of the same generic over a…
What Is Variance in Type Systems?Variance describes how subtyping between type arguments carries over to subtyping between the generic types b…
What Is Bounded Quantification?Bounded quantification constrains a generic type parameter to be a subtype of some bound, so code can rely on…