Мне нужен псевдоним проекции типа, использующий границы типов и типы с более высоким родом, но он неожиданно завершается с ошибкой.Пробовал в scala 2.12.8 и 2.13.0
Следующие работы:
object Testing {
trait One[A] {
trait Two[B <: A]
}
type Test = One[Int]#Two[Int]
}
и следующие ошибки:
object Testing {
trait One[A] {
type Two[B <: A] = Altogether[A, B]
}
trait Altogether[A, B <: A]
type Test = One[Int]#Two[Int]
}
с ошибкой
type arguments [Int] do not conform to type Two's type parameter bounds [B <: A]
Я ожидаю, что и второй пример будет компилироваться.
Следующие работы:
type Test = Altogether[Int, Int]
Может кто-нибудь придумать альтернативу?