Существующие типы на основе подстановочных знаков в Scala3
Как отмечалось в документации Scala 3, экзистенциальные типы, которые не могут быть выражены с помощью подстановочных знаков, обычно отбрасываются. Вот мой код в
Scala 2
trait Test[A]
val t: T forSome { type T <: Test[Int] } = null //fine
Scala 3
Попытка переписать его на Scala 3 с использованием подстановочного знака:
trait Test[A]
val t: _ <: Test[Int] = null //error: Unbound wildcard type
Документы точно говорят, что
Существующие типы, которые могут быть выражены с использованием только подстановочных знаков (но не forSome), по-прежнему поддерживаются, но рассматриваются как уточненные типы.
ВОПРОС: Почему мой пример не работает. Есть ли способ заставить его работать?