Reports type variables used as arguments in locations that their variance does not allow, so long as they are not marked as unchecked. A type variable may have a variance of either covariant (out), contravariant (in), or invariant (neither out nor in).

The following rules are used to check the type arguments used in attribute and method declarations:

Example:

class Example[in A, out B]
  # Covariant type variable 'B' of class 'Example' used in a contravariant position, ...
  def call: (B) -> A
end