следующие ошибки кода с ошибкой «несоответствие типов», говорящие о том, что FooProcessor должен быть Processor [M].
sealed trait Model
case class Foo extends Model
trait Processor[M <: Model]
class FooProcessor extends Processor[Foo]
class DelegatingProcessor[M <: Model] extends Processor[M] {
val delegates = Map[String, Processor[M]]("foo" -> new FooProcessor())
}
Как вам убедить компилятор, что FooProcessor является расширением Processor [Model]?