ScalaTest library depends on org.scalactic.Equalizer.
When cats library is used via import cats.implicits._ - the both are providing function ===.
Of course compiler won't be happy with multi implicit conversions:
Note that implicit conversions are not applicable because they are ambiguous:
both method catsSyntaxEq in trait EqSyntax of type [A](a: A)(implicit evidence$1: cats.Eq[A])cats.syntax.EqOps[A]
and method convertToEqualizer in trait TripleEquals of type [T](left: T)SomeUnitTest.this.Equalizer[T]
are possible conversion functions from Int to ?
As a workaround I recommend to disable cats implementation - it's a bit worse than scalactic:
When cats library is used via import cats.implicits._ - the both are providing function ===.
Of course compiler won't be happy with multi implicit conversions:
Note that implicit conversions are not applicable because they are ambiguous:
both method catsSyntaxEq in trait EqSyntax of type [A](a: A)(implicit evidence$1: cats.Eq[A])cats.syntax.EqOps[A]
and method convertToEqualizer in trait TripleEquals of type [T](left: T)SomeUnitTest.this.Equalizer[T]
are possible conversion functions from Int to ?
As a workaround I recommend to disable cats implementation - it's a bit worse than scalactic:
import cats.implicits.{ catsSyntaxEq => _, _ } // import all implicits except triple '='
No comments:
Post a Comment