Creación de instancias polimórficas en Scala usando TypeTag y ClassTag
En Scala 2.9 se podría implementar la creación de instancias polimórficas como
def newInstance[T](implicit m: Manifest[T]) =
m.erasure.newInstance.asInstanceOf[T]
pero a partir de 2.10Manifest
está siendo reemplazado porTypeTag
, y no me queda claro cómo lograr algo similar conTypeTag
. Preferiría si la versión de TypeTag conservara toda la información de tipo disponible.
Sé que lo anterior solo funciona para rasgos / clases que no requieren argumentos de constructor, y entonces no siempre funciona, pero funciona lo suficientemente bien para lo que necesito. Si puedo hacer mejor las nuevas API de reflexión que sería genial.