Scala 抽象类型是否有与参数化类型类似的清单?

Scala 抽象类型是否有与参数化类型类似的清单?,scala,manifest,abstract-type,Scala,Manifest,Abstract Type,我想知道您是否可以在Scala中编写如下内容: abstract class Foo trait Bar { type Foo_Tpe <: Foo : Manifest[Foo_Tpe] def fooClass = classOf[Foo_Tpe] } 抽象类Foo 特征条{ 键入Foo_TpeNo,但您可以要求子类提供它: trait Bar { type Foo_Tpe <: Foo protected def fooManifest: Mani

我想知道您是否可以在Scala中编写如下内容:

abstract class Foo

trait Bar {

  type Foo_Tpe <: Foo : Manifest[Foo_Tpe]

  def fooClass = classOf[Foo_Tpe]

}
抽象类Foo
特征条{

键入Foo_TpeNo,但您可以要求子类提供它:

trait Bar {

  type Foo_Tpe <: Foo

  protected def fooManifest: Manifest[Foo_Tpe]

  def fooClass = fooManifest.erasure

}
特征条{

键入Foo_Tpe是和否。您可以执行以下操作:

val man = manifest[Foo_Tpe]

在这一点上,它会告诉您它没有相应的清单。

我希望它由Scala编译器提供,而不是由子类型定义。您不能让编译器从
Bar
中提供它。