poohbar
open class Animal<T1, T2> class Cat<I> : Animal<I, List<I>>() val x: Animal<String, List<String>> = Cat()
Animal<String, List<String>> x = new Cat<String>() // error
ephemient
class Cat<I> : Animal<I, List<@JvmSuppressWildcards I>>()
List
out
List<? extends String>
List<String>
String
final
A modern programming language that makes developers happier.