The code below compiles fine
import cats._
import cats.implicits._
import scala.concurrent.{ExecutionContext, Future}
implicit val e: scala.concurrent.ExecutionContext = scala.concurrent.ExecutionContext.global
val x = List(1, 2).traverse(ee =>
Future.successful(true).map(v => (v, 1))
)
print(x)
But it doesn’t compile when names match (ee
and e
in code above)
import cats._
import cats.implicits._
import scala.concurrent.{ExecutionContext, Future}
implicit val variableE: scala.concurrent.ExecutionContext = scala.concurrent.ExecutionContext.global
val x = List(1, 2).traverse(variableE =>
Future.successful(true).map(v => (v, 1))
)
print(x)
Reproducible for Scala v2.13.10