¿Por qué scala no unifica este tipo lambda con el tipo subyacente?
trait A {
type T
def test(t: T): Unit
}
case class B[S <: A](a: S, t : S#T) {
def test() = a.test(t) // Error: type mismatch;
// found : B.this.t.type (with underlying type S#T)
// required: B.this.a.T
}
¿Me equivoco al esperar que se compile lo anterior? ¿Se puede arreglar mi código?