已弃用:通用类型投影
到目前为止,Scala 允许使用通用类型投影 T#A
,其中 T
是任意类型,A
是 T
的类型成员的名称。
Scala 3 不允许这样做,如果 T
是抽象类型(类类型和类型别名是可以的)。进行此更改是因为不受限制的类型投影 不安全。
此限制排除了 组合子演算的类型级编码。
要重写使用抽象类型上的类型投影的代码,请考虑使用路径相关类型或隐式参数。
到目前为止,Scala 允许使用通用类型投影 T#A
,其中 T
是任意类型,A
是 T
的类型成员的名称。
Scala 3 不允许这样做,如果 T
是抽象类型(类类型和类型别名是可以的)。进行此更改是因为不受限制的类型投影 不安全。
此限制排除了 组合子演算的类型级编码。
要重写使用抽象类型上的类型投影的代码,请考虑使用路径相关类型或隐式参数。