Если бы я мог выяснить, как "присоединить манифесты обратно к стеку общих вызовов" (о чем пишет Джошуа в разделе 7.2.2 "Scala in Depth"), это позволило бы мне создать экземпляр B по этим линиям?:
def m1[T](implicit m: Manifest[T]): T = m.erasure.newInstance.asInstanceOf[T]
class A {
def m2[T](implicit m: Manifest[T]): T = m.erasure.newInstance.asInstanceOf[T]
def inA() {
m1[A]
m2[A]
m2[B] // Doesn't work...
}
class B
}
m1[A]
val a = new A
a.m2[A]
a.inA() // boom
Или мне нужен какой-то вид?