abstract class Base { fun baseF(): A = null!! } annotation class Anno @Anno class Test : Base() { fun a(): String = "" fun b(i: String, b: CharSequence) {} fun c(): Int = 5 fun d(): T = null!! fun e(item: D): D = item fun f(items: List>, i: Int) {} fun g(item: D) {} fun h(): Array> = null!! fun i(): T where T : CharSequence, T : Appendable = null!! } class Test2, out B : List> { fun a(items: A) {} fun b(): B = null!! }