我正在尝试来自 Scala 2.13 的文字类型,但遇到以下错误:
scala> def double[A <: Singleton] = valueOf[A]
^
error: No singleton value available for A.
你能解释一下为什么吗?
我正在尝试来自 Scala 2.13 的文字类型,但遇到以下错误:
scala> def double[A <: Singleton] = valueOf[A]
^
error: No singleton value available for A.
你能解释一下为什么吗?
我不认为那样工作,而是使用相关的 typeclass ValueOf
:
object Foo
def foo[A : ValueOf] = valueOf[A]
scala> foo[Foo.type]
res2: Foo.type = Foo$@1c105c3a
我不完全确定您正在尝试什么,但这里有一个来自文档的示例:
def foo[T](implicit v: ValueOf[T]): T = v.value
添加了
scala.ValueOf[T]
类型类和相应scala.Predef.valueOf[T]
的运算符,以产生具有单个居民的类型的唯一值