open class A { private open fun foo(t: T) {} } class B : A() { override fun equals(other: Any?): Boolean { return super.equals(other) } override fun hashCode(): Int { return super.hashCode() } override fun toString(): String { return super.toString() } }