Tipo de uma função com parâmetros implícitos no Scala

Eu gostaria de ter uma função de ordem superior que leva em parâmetro uma função que aceita um parâmetro implícito específico.

Para ser mais preciso, eu estou tentando fazer uma função que leva umFuture método de criação que depende de um contexto implícito e retorna um método que não depende do contexto.

Para ser mais concreto, digamos que eu tenha algo assim:

def foo(a: Int)(implicit ctx: ExecutionContext): Future[Float] = future { somelongBar... }

Eu gostaria de ter um método como este:

def provideCtx[A](func: ExecutionContext => A): A = {
     val ctx = setupCtx
     func(ctx)
}

mas se eu ligarprovideCtx(foo), o compilador reclama sobre o contexto de execução implícito ausente.

O fato de eu estar lidando com um ExecutionContext não é muito importante. O que eu gostaria de encontrar é como escrever o tipo de parâmetro para aceitar uma função com um argumento implícito de um tipo específico. Eu entendo que a parte implícita é um argumento curry, de modo que, na verdade, eu tenho uma função assim:ExecutionContext => Int => Future[Float], e tenho certeza que em tempo de execução, o jvm não sabe que o ExecutionContext está implícito, mas não consigo fazer o compilador entender isso.

questionAnswers(1)

yourAnswerToTheQuestion