// KT-3985 trait Trait { fun f(): T } open class Class { fun f(): String = throw UnsupportedOperationException() } class Foo: Class(), Trait { } fun box(): String { try { (Foo() : Trait).f() } catch (e: UnsupportedOperationException) { return "OK" } return "Fail" }