You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
means that any types that cannot implement Async cannot be implemented for AsyncFunctorK either. I'm not sure how important this is, but for example, we can't implement a scala.concurrent.Future ~~> com.twitter.util.Future instance (or the reverse) since neither Async[Future] can be lawfully implemented.
If we'd moved the G[_] : Async context bound to the methods where the existing instances are defined, we'd at least be able to try implementing more instances. For example, at
F[_] could be F[_] : Async, and the body of the asyncMapK method would remain unchanged.
AFAICT this cannot be changed in a binary-compatible way (applying the usual techniques still results in MiMa detecting a ReversedMissingMethodProblem), and I don't think this possibility is worth introducing a new major version on its own. If we need to release a new major version for some other reason, I'd like to consider including this refactoring as well.
The text was updated successfully, but these errors were encountered:
Including
G: Async[G]
in the definition of theasyncMapK
method:async-utils/core/src/main/scala/com/dwolla/util/async/AsyncFunctorK.scala
Lines 7 to 10 in 540fbcf
means that any types that cannot implement
Async
cannot be implemented forAsyncFunctorK
either. I'm not sure how important this is, but for example, we can't implement ascala.concurrent.Future ~~> com.twitter.util.Future
instance (or the reverse) since neitherAsync[Future]
can be lawfully implemented.If we'd moved the
G[_] : Async
context bound to the methods where the existing instances are defined, we'd at least be able to try implementing more instances. For example, atasync-utils/scala-futures/src/main/scala/com/dwolla/util/async/stdlib.scala
Lines 12 to 14 in 540fbcf
F[_]
could beF[_] : Async
, and the body of theasyncMapK
method would remain unchanged.AFAICT this cannot be changed in a binary-compatible way (applying the usual techniques still results in MiMa detecting a
ReversedMissingMethodProblem
), and I don't think this possibility is worth introducing a new major version on its own. If we need to release a new major version for some other reason, I'd like to consider including this refactoring as well.The text was updated successfully, but these errors were encountered: