Я пытаюсь понять свою ошибку в реализации дженериков.У меня есть черта, которая определяет метод, который возвращает ссылку с верхней границей типа черты.Как бы то ни было, ссылка на var на реализацию признака не может проверить тип с помощью Expression of type Capability[Class] doesn't conform to expected type Capability[Trait]
Вот код:
trait IAITask {
def taskTypeReference[T >: IAITask]: Capability[T]
}
object Tasks {
var Walk: Capability[Walk] = _
}
class Walk extends IAITask {
override def taskTypeReference[T >: IAITask]: Capability[IAITask] = Tasks.Walk //This line does not type check
}