Si je pouvais comprendre comment "attacher des manifestes à la pile d'appels générique" (comme Joshua écrit à propos de la section 7.2.2 de "Scala en profondeur"), cela me permettrait-il instancier B le long de ces lignes ?:Scala instanciation à partir des manifestes dans le code générique imbriqué
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
Ou ai-je besoin d'une vue liée?
Que faites-vous? Quelle est l'erreur? Quelle est la question? –
Comment est-ce que je peux instancier une classe imbriquée du type seul? Est-ce une meilleure question? J'ai oublié: je suis sur Scala 2.10.0-M1. L'erreur est: java.lang.InstantiationException: A $ B –