diff --git a/core/src/main/scala/cats/std/set.scala b/core/src/main/scala/cats/std/set.scala index c1ea40a376..0f759ad795 100644 --- a/core/src/main/scala/cats/std/set.scala +++ b/core/src/main/scala/cats/std/set.scala @@ -23,4 +23,6 @@ trait SetInstances extends algebra.std.SetInstances { override def isEmpty[A](fa: Set[A]): Boolean = fa.isEmpty } + + implicit def setMonoid[A]: Monoid[Set[A]] = MonoidK[Set].algebra[A] } diff --git a/tests/shared/src/test/scala/cats/tests/SetTests.scala b/tests/shared/src/test/scala/cats/tests/SetTests.scala index ac36c9f653..fc5a29541b 100644 --- a/tests/shared/src/test/scala/cats/tests/SetTests.scala +++ b/tests/shared/src/test/scala/cats/tests/SetTests.scala @@ -4,6 +4,8 @@ package tests import cats.laws.discipline.{FoldableTests, MonoidKTests, SerializableTests} class SetTests extends CatsSuite { + checkAll("Set[Int]", algebra.laws.GroupLaws[Set[Int]].monoid) + checkAll("Set[Int]", MonoidKTests[Set].monoidK[Int]) checkAll("MonoidK[Set]", SerializableTests.serializable(MonoidK[Set]))