如何解决Scala3 中基于通配符的存在类型
如 Scala 3 docs 中所述,不能用通配符表示的存在类型通常被删除。这是我的代码
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) 仍受支持,但被视为细化类型
问题:为什么我的示例不起作用。有没有办法让它工作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。