2
Список Скала объявлен какПочему Список Scala может занять ковариантный тип, как paramenter в методе + =
sealed abstract class List[+A] extends AbstractSeq[A] with LinearSeq[A] with Product with GenericTraversableTemplate[A, List] with LinearSeqOptimized[A, List[A]] with java.io.Serializable
Способ предварять элемент в список объявлен как
def +:(elem: A): List[A]
В качестве типа А является ковариантным, почему компилятор не жалуется, так как A появляется в контравариантном положении в + :?
не могли бы вы повторить свой вопрос, я не уверен, что вы спрашиваете –
Мне было интересно, почему подпись метода +: класса List не нарушает правила использования коварианта. – Chen