我在 monix 存储库中看到此代码,在使用部分应用技术的对象任务下。我知道当我们想一次推断 1 个类型参数时使用该技术,而在这种情况下推断两者都是不可能的,对吧。为什么在这里使用它?
private[eval] final class CreatePartiallyApplied[A](val dummy: Boolean = true) extends AnyVal {
def apply[CancelationToken](register: (Scheduler, Callback[Throwable, A]) => CancelationToken)(
implicit B: AsyncBuilder[CancelationToken]): Task[A] =
B.create(register)
}
def create[A]: AsyncBuilder.CreatePartiallyApplied[A] = new AsyncBuilder.CreatePartiallyApplied[A]