Methode unter impliziten CanBuildFrom funktioniert nicht mit Eta-Expansion?

Ich habe folgende Methode:

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
}

Sehen:Methode, die Seq [T] verwendet, um String anstelle von Seq [Char] zurückzugeben zur Begründung. Es funktioniert wie ein Zauber im ersten Fall, kann aber im zweiten nicht kompiliert werden:

List("abc", "def") map {firstAndLast(_)}
List("abc", "def") map firstAndLast

Geben:

error: No implicit view available from CC => Seq[A].
List("abc", "def") map firstAndLast

Haben Sie eine Idee, wie Sie diese Deklaration verbessern können, um zusätzliche Umhüllungen zu vermeiden? Eta-Expansion scheint das Problem zu sein (?)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage