package test trait A { fun foo(): T } open class B : A { override fun foo(): Byte = 42 } abstract class C : A