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
👍 to changing it back, http4s is affected, since you can't call handleErrorWith on HttpApp anymore (it's Kleisli of OptionT), basically for the purpose of using MonadError of Unit, which is close to a toy instance.
+1 to fixing this.
We have two options:
1, We can simply make the Unit instance explicit
2. We can switch the two and use this trick to bump the priority of MonadError[F, E] => MonadError[OptionT[F, ?], E], (otherwise they probably will be of the same priority and causing ambiguity issue.) We also need to add 2 Mima exceptions (such changes were proven to be fine) and ideally one test to https://github.com/typelevel/cats/blob/master/binCompatTest/src/main/scala/catsBC/MimaExceptions.scala to make sure it works fine.
Possibly we can merge this fix to 1.5.x branch and be in time for the 1.5.x release
This PR introduced the problem: #2299
MonadError[OptionT[F, ?], Unit]
is given higher priority thanMonadError[F, E] => MonadError[OptionT[F, ?], E]
.And, of course, syntax for
MonadError
always resolves the first instance making it useless for anyE
other thanUnit
.The text was updated successfully, but these errors were encountered: