consulte o tipo de objeto na definição do objeto

note: O primeiro exemplo funciona. Mostra o que eu quero pegar. O segundo exemplo mostra que eu gostaria de declará-lo sem clichê, mas não consegui fazê-lo.

Eu só quero algo simples:

trait SelfTest[T <: SelfTest[T]] {_ : T =>
  def get : T = this
}
class Test extends SelfTest[Test]
object Test extends Test

mas sem definição de classe clichê. Algo assim:

trait SelfTest[T <: SelfTest[T]] {_ : T =>
  def get : T = this
}
object Test extends SelfTest[Test.type]

Mas este caminho é rejeitado por scala (illegal cyclic reference involving object Test). Existe alguma mágica como# assinar para denotar o objeto criado?

questionAnswers(1)

yourAnswerToTheQuestion