diff --git a/core/src/main/scala/cats/syntax/eq.scala b/core/src/main/scala/cats/syntax/eq.scala index 3737e95d89..7b40bad96a 100644 --- a/core/src/main/scala/cats/syntax/eq.scala +++ b/core/src/main/scala/cats/syntax/eq.scala @@ -12,4 +12,6 @@ trait EqSyntax { final class EqOps[A: Eq](lhs: A) { def ===(rhs: A): Boolean = macro Ops.binop[A, Boolean] def =!=(rhs: A): Boolean = macro Ops.binop[A, Boolean] + def eqv(rhs: A): Boolean = Eq[A].eqv(lhs, rhs) + def neqv(rhs: A): Boolean = Eq[A].neqv(lhs, rhs) } diff --git a/tests/src/test/scala/cats/tests/SyntaxSuite.scala b/tests/src/test/scala/cats/tests/SyntaxSuite.scala index 41d9848a6f..01ead70966 100644 --- a/tests/src/test/scala/cats/tests/SyntaxSuite.scala +++ b/tests/src/test/scala/cats/tests/SyntaxSuite.scala @@ -64,6 +64,8 @@ object SyntaxSuite extends AllSyntaxBinCompat with AllInstances with AllSyntax { val y = mock[A] val b0: Boolean = x === y val b1: Boolean = x =!= y + val b2: Boolean = x eqv y + val b3: Boolean = x neqv y } def testPartialOrder[A: PartialOrder]: Unit = {