我正在尝试从Scala 2.13获得文字类型,并且遇到以下错误:
scala> def double[A <: Singleton] = valueOf[A]
^
error: No singleton value available for A.
你能解释为什么吗?
答案 0 :(得分:6)
我不认为这种方式有效,而是使用相关的类型类ValueOf
:
object Foo
def foo[A : ValueOf] = valueOf[A]
scala> foo[Foo.type]
res2: Foo.type = Foo$@1c105c3a
答案 1 :(得分:3)
我不确定您要尝试什么,但是这里是doc中的示例:
def foo[T](implicit v: ValueOf[T]): T = v.value
添加了一个
scala.ValueOf[T]
类型类和相应的scala.Predef.valueOf[T]
运算符,从而产生了具有单个居民的类型的唯一值