-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed as not planned
Description
When using Future-related type classes you get a misleading error: could not find implicit value for parameter instance.... It's as if it cannot find an instance of the given type class for Future in scope when it actually cannot just find an ExecutionContext. Example, with a REPL session, for Functor:
scala> import scala.concurrent.Future
import scala.concurrent.Future
scala> import cats.Functor
import cats.Functor
scala> import cats.std.future._
import cats.std.future._
scala> Functor[Future].map(Future.successful(42))(_ + 1)
<console>:16: error: could not find implicit value for parameter instance: cats.Functor[scala.concurrent.Future]
Functor[Future].map(Future.successful(42))(_ + 1)
^but after importing the default ExecutionContext it works:
scala> import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.ExecutionContext.Implicits.global
scala> Functor[Future].map(Future.successful(42))(_ + 1)
res1: scala.concurrent.Future[Int] = scala.concurrent.impl.Promise$DefaultPromise@6335ab80schmitch, pocheng, crakjie, vaclavsvejcar, adamnfish and 24 more
Metadata
Metadata
Assignees
Labels
No labels