File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
kernel/src/main/scala/cats/kernel/instances/option Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -6,13 +6,15 @@ package object option extends OptionInstances
66trait OptionInstances extends OptionInstances0 {
77 implicit def catsKernelStdOrderForOption [A : Order ]: Order [Option [A ]] =
88 new OptionOrder [A ]
9- implicit def catsKernelStdMonoidForOption [A : Semigroup ]: Monoid [Option [A ]] =
10- new OptionMonoid [A ]
9+ implicit def catsKernelStdCommutativeMonoidForOption [A : CommutativeSemigroup ]: CommutativeMonoid [Option [A ]] =
10+ new OptionCommutativeMonoid [A ]
1111}
1212
1313trait OptionInstances0 extends OptionInstances1 {
1414 implicit def catsKernelStdPartialOrderForOption [A : PartialOrder ]: PartialOrder [Option [A ]] =
1515 new OptionPartialOrder [A ]
16+ implicit def catsKernelStdMonoidForOption [A : Semigroup ]: Monoid [Option [A ]] =
17+ new OptionMonoid [A ]
1618}
1719
1820trait OptionInstances1 extends OptionInstances2 {
@@ -70,6 +72,10 @@ class OptionEq[A](implicit A: Eq[A]) extends Eq[Option[A]] {
7072 }
7173}
7274
75+ class OptionCommutativeMonoid [A ](implicit A : CommutativeSemigroup [A ])
76+ extends OptionMonoid [A ]()(A )
77+ with CommutativeMonoid [Option [A ]]
78+
7379class OptionMonoid [A ](implicit A : Semigroup [A ]) extends Monoid [Option [A ]] {
7480 def empty : Option [A ] = None
7581 def combine (x : Option [A ], y : Option [A ]): Option [A ] =
You can’t perform that action at this time.
0 commit comments