功能需要兩個implicits,但我不能讓他們在 相同的參數列表中,因爲我得到dependent method type
。所以我 再次考慮currying,但這給我一個語法錯誤。 這樣做的正確方法是什麼?類型依賴implicits
def add[A](newAnnotations: Seq[A])
(implicit maybeAdd: MaybeAdd[L, Seq[A]])
(implicit mod: Modifier[maybeAdd.Out, Seq[A], Seq[A]]):
Slab[Content, maybeAdd.Out] = {
val l = maybeAdd(annotations, Seq[A]())
l.updateWith(_ ++ newAnnotations)
}
您不能在不同的參數列表中存在隱含。他們必須放在最後一起。 – goral 2014-09-23 06:39:56
你應該調查'Aux'模式的形狀:它來解決這個問題。 – 2014-09-23 06:52:39