Почему Scala не объединяет лямбда этого типа с базовым типом?
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
}
Я ошибаюсь, ожидая, что выше скомпилировать? Можно ли исправить мой код?