Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Если мне не изменяет память, подобная функциональность не была реализована намеренно.
https://docs.scala-lang.org/tour/variances.html
Если ошибаюсь — поправьте, я только учусь :)
Связанная. В Scala есть definition side variance, у вместо неё use site variance.
fun main(args: Array<String>) {
val genInt = GenInt(42)
val i = GenTest.test(genInt)
}$ dotr
Starting dotty REPL...
Welcome to Scala.next (pre-alpha, git-hash: 54d7089) (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_45).
Type in expressions to have them evaluated.
Type :help for more information.
scala> object TestFail extends App {
val genInt = new GenInt(42)
val i = GenTest.test(genInt)
}
defined module TestFail
Простой Java-код, ломающий систему вывода типов Scala