1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
trait Iterator { def span() = { val self: Int = 33 class Leading { def finish(): Unit = println("finished") } val leading = new Leading class Trailing { @volatile lazy val it = leading.finish() } val trailing = new Trailing (leading, trailing) } }