Skip to content

Commit 726be05

Browse files
authored
Merge pull request #4733 from danicheg/empty-option-instance
Add the `Empty[Option[A]]` instance in alleycats
2 parents 1478cca + 5f37e55 commit 726be05

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

alleycats-core/src/main/scala/alleycats/Empty.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ object Empty extends EmptyInstances0 {
7777

7878
}
7979

80-
private[alleycats] trait EmptyInstances0 extends compat.IterableEmptyInstance with EmptyInstances1
80+
private[alleycats] trait EmptyInstances0 extends compat.IterableEmptyInstance with EmptyInstances1 {
81+
private[this] val emptyOptionSingleton: Empty[Option[Nothing]] = Empty(None)
82+
implicit def alleycatsEmptyForOption[A]: Empty[Option[A]] = emptyOptionSingleton.asInstanceOf[Empty[Option[A]]]
83+
}
8184

8285
private[alleycats] trait EmptyInstances1 extends EmptyInstances2 {
8386
// If Monoid extended Empty then this could be an exported subclass instance provided by Monoid

0 commit comments

Comments
 (0)