// WITH_RUNTIME // DISABLE-ERRORS interface T { val foo: X } class U(override val foo: String) : T { } class V(override val foo: Int) : T { } class Z : T by V() { } class W : T { override val foo: Boolean get() = throw UnsupportedOperationException() }