package test public trait DeeplySubstitutedClassParameter2: Object { public trait Super: Object { public fun foo(t: T) public fun dummy() // to avoid loading as SAM interface } public trait Middle: Super { } public trait Sub: Middle { override fun foo(t: String) } }