spotify/magnolify

Cats instances defeating algebird ones.

nevillelyh opened this issue · 0 comments

In Algebird we have: case class Min[T](get: T) and implicit algebird.Semigroup[T] for it.

However when deriving implicit sg: cats.Semigroup[Record] with magnolify.cats.auto._, where Record is a case class with a Min[Int] field, the cats auto derivation wins and derives that combine(Min(1), Min(2)) == Min(3). This is because algebird.Semigroup extends cats.Semigroup, and our derivation is based on cats.Semigroup, which wins in the resolution.