Метод взятия неявного CanBuildFrom не работает с eta-расширением?
У меня есть следующий метод:
def firstAndLast[CC, A, That](seq: CC)(implicit asSeq: CC => Seq[A], cbf: CanBuildFrom[CC, A, That]): That = {
val b = cbf(seq)
b += seq.head
b += seq.last
b.result
}
Увидеть:Метод, принимающий Seq [T] для возврата String, а не Seq [Char] для обоснования. В первом случае он работает как шарм, но во втором не компилируется:
List("abc", "def") map {firstAndLast(_)}
List("abc", "def") map firstAndLast
Предоставление:
error: No implicit view available from CC => Seq[A].
List("abc", "def") map firstAndLast
Любая идея, как улучшить это объявление, чтобы избежать дополнительной упаковки? Похоже, эта-расширение это проблема (?)