1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
abstract class A { def s: Boolean = { println("s"); r } def r: Boolean } object Test extends A { assert({ println("assert"); r2 != s }) // s not initialized yet def r2: true = { println("r2") true } override val r: true = { println("r init") true } def main(args: Array[String]): Unit = {} }