Enforces type T to be in a covariant position. For example Invariant<Square> can be assigned to type Invariant<Polygon> but not vice versa.
Invariant<Square>
Invariant<Polygon>
This should be used when an interface with type parameter T does not explicitly use T in an output position, but the interface implies out T.
out T
Enforces type T to be in a covariant position. For example
Invariant<Square>can be assigned to typeInvariant<Polygon>but not vice versa.This should be used when an interface with type parameter T does not explicitly use T in an output position, but the interface implies
out T.