// USE_IS_CHECK class A(val n: T) { fun foo() { } override fun equals(other: Any?): Boolean{ if (this === other) return true if (other !is A<*>) return false if (n != other.n) return false return true } override fun hashCode(): Int{ return n?.hashCode() ?: 0 } }