odnoszą się do typu obiektu w definicji obiektu
Uwaga: Pierwszy przykład działa. Pokazuje to, co chcę dostać. Drugi przykład pokazuje, że chciałbym zadeklarować go bez szablonu, ale nie udało się tego.
Chcę tylko uzyskać prostą rzecz:
trait SelfTest[T <: SelfTest[T]] {_ : T =>
def get : T = this
}
class Test extends SelfTest[Test]
object Test extends Test
ale bez definicji klasowej. Coś takiego:
trait SelfTest[T <: SelfTest[T]] {_ : T =>
def get : T = this
}
object Test extends SelfTest[Test.type]
Ale ten sposób jest odrzucany przez scala (illegal cyclic reference involving object Test
). Czy jest jakaś magia?#
znak, aby oznaczyć utworzony obiekt?