// LANGUAGE: +ReportErrorsForComparisonOperators fun nullableNothingIdentity(a: Int, b: Nothing?) { a === b } fun samePrimitiveIdentity(a: Int, b: Int) { a === b } fun identityWithImplicitBoxing(a: Int, b: Any?) { a === b } enum class E1 { A, B } enum class E2 { C, D } fun nullableEnums(a: E1?, b: E2?) { a == b } fun enumAsTypeParameterBound(a: T, b: Int) where T : Any, T : E1 { a == b } fun twoTypeParameters(a: T, b: K) where T : Number, K : String { a == b } interface I1 interface I2 enum class E3 : I1 { A, B } fun compareTypeParameterWithEnum(a: A) where A: I1, A: I2 { a == E1.A a == E3.A }