// WITH_RUNTIME // DISABLE-ERRORS interface T { fun foo(x: X): X } class U : T { } class V : T { } class Z : T by V() { } class W : T { override fun foo(x: Boolean): Boolean { throw UnsupportedOperationException() } }