У меня сложный вариант использования обобщенного типа, который был упрощен ниже
trait A
class AB extends A{
val v = 10
}
trait X[T<:A]{
def request: T
}
class XY extends X[AB]{
def request = new AB()
}
class Test extends App{
/**
* X[A]
* X[AB]
* XY[A]
* XY[AB]
*/
def test[C<:A, D <: X[C]](t:Int)(input: D): Unit ={
print(input.getClass.getName)
}
implicit val req = new XY()
test(2)(req)
}
метод испытаний должен поддерживать сценарии типа, определенные в разделе комментариев. Я получаю приведенную ниже ошибку компиляции.
Error:(33, 7) inferred type arguments [XY] do not conform to method test's type parameter bounds [D <: X[Nothing]] test(2)(req)
Это синтаксически законно?
Заранее спасибо.