class C> trait Base { fun foo(c: C<*>) } class Derived : Base { override fun foo(c: C<*>) { throw UnsupportedOperationException() } }