aboutsummaryrefslogtreecommitdiff
path: root/tests/run/t4859.scala
blob: 8b354ca9451aa58ed4ea538c7e22a2631ca8d0cc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
object O {
  case class N()
  object P
}

object Outer {
  println("Outer")
  object Inner {
    println("Inner")
    def i: Unit = {
      println("Inner.i")
    }
  }
}

object Test {
  def main(args: Array[String]): Unit = {
    Outer.Inner.i // we still don't initialize Outer here (but should we?)

    {println("About to reference Inner.i"); Outer}.Inner.i // Outer will be initialized.

    {println("About to reference O.N"        ); O}.N

    {println("About to reference O.N"        ); O}.N

    {println("About to reference O.N.apply()"); O}.N.apply()
  }
}