Тип функции с неявными параметрами в Scala

Я хотел бы иметь функцию более высокого порядка, которая принимает в качестве параметра функцию, которая принимает определенный неявный параметр.

Чтобы быть более точным, я пытаюсь сделать функцию, которая принимаетFuture метод создания, который зависит от неявного контекста и возвращает метод, который не зависит от контекста.

Чтобы быть более конкретным, скажем, что у меня есть что-то вроде этого:

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

Я хотел бы иметь такой метод:

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

но если я позвонюprovideCtx(foo)Компилятор жалуется на отсутствие неявного контекста выполнения.

Тот факт, что я имею дело с ExecutionContext, не очень важен. Я хотел бы узнать, как написать тип параметра для приема функции с неявным аргументом определенного типа. Я понимаю, что неявная часть является аргументом карри, так что на самом деле у меня есть такая функция:ExecutionContext => Int => Future[Float]и я совершенно уверен, что во время выполнения jvm не знает, что этот ExecutionContext неявный, но я не могу заставить компилятор это понять.

Ответы на вопрос(1)

Ваш ответ на вопрос