referirse al tipo de objeto en la definición del objeto
Nota: El primer ejemplo funciona. Muestra lo que quiero conseguir. El segundo ejemplo muestra que me gustaría declararlo sin repetitivo, pero no lo he hecho.
Solo quiero conseguir algo sencillo:
trait SelfTest[T <: SelfTest[T]] {_ : T =>
def get : T = this
}
class Test extends SelfTest[Test]
object Test extends Test
pero sin la definición de la clase repetitiva. Algo como esto:
trait SelfTest[T <: SelfTest[T]] {_ : T =>
def get : T = this
}
object Test extends SelfTest[Test.type]
Pero esta manera es rechazada por scala (illegal cyclic reference involving object Test
). ¿Hay alguna magia como#
firmar para denotar el objeto creado?