// WITH_RUNTIME // DISABLE-ERRORS interface T { val foo: X } class U : T { override val foo: String get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } class V : T { override val foo: Int get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } class Z : T by V() { } class W : T { override val foo: Boolean get() = throw UnsupportedOperationException() }