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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta