Scala 中的专业化和更高种类的问题
Issue with specialization and higher kinds in scala
我有这些行(scala 2.11.11):
trait TypeClass[T]
class DoubleIsTypeClass extends TypeClass[Double]
implicit val forDouble = new DoubleIsTypeClass
知道让我们添加以下行:
case class User[V[_], @specialized T : TypeClass](a: V[T])
现在无法编译。
删除 @specialized
修复它。
这是一个错误吗?
除了它们在类型推断方面的帮助外,我在这里真的不需要更高的种类,但这很重要。
编辑
仅供那些可能偶然发现类似问题的人使用
Type类 不是这里的问题,case 类 是:
case class User[V[_], @specialized T](a: V[T])
上面的行不能自行编译。
这看起来像 SI-9227。好像是个bug。
总的来说,这些是some quirks around specialization值得一读的。
我有这些行(scala 2.11.11):
trait TypeClass[T]
class DoubleIsTypeClass extends TypeClass[Double]
implicit val forDouble = new DoubleIsTypeClass
知道让我们添加以下行:
case class User[V[_], @specialized T : TypeClass](a: V[T])
现在无法编译。
删除 @specialized
修复它。
这是一个错误吗?
除了它们在类型推断方面的帮助外,我在这里真的不需要更高的种类,但这很重要。
编辑 仅供那些可能偶然发现类似问题的人使用
Type类 不是这里的问题,case 类 是:
case class User[V[_], @specialized T](a: V[T])
上面的行不能自行编译。
这看起来像 SI-9227。好像是个bug。
总的来说,这些是some quirks around specialization值得一读的。