-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Labels
Description
I noticed this strange behaviour:
val foo = for {
p1 <- managed(UIPeer(ID("1")))
} yield "foo"
foo.either.right.getThat returns "foo", as expected.
val foo = for {
p1 <- managed(UIPeer(ID("1")))
p2 <- managed(UIPeer(ID("2")))
} yield "foo"
foo.either.right.get[error] value either is not a member of resource.ManagedResource[String]
[error] foo.either.right.get
[error] ^
Compare:
val foo = for {
b1 <- Some("foo")
b2 <- Some("baz")
} yield "bar"
foo.getworks just fine.
Maybe the map and/or flatMap implementation is broken (i.e. not following the monad laws)?