File: t0091.scala

package info (click to toggle)
scala 2.11.12-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 62,776 kB
  • sloc: java: 13,415; xml: 3,252; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (16 lines) | stat: -rw-r--r-- 342 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
trait A { def x : Int }
trait B { val m : A }
object C extends B {
  object m extends A { def x = 5 }
}
object Test {
  // The type annotation here is necessary, otherwise
  // the compiler would reference C$m$ directly.
  def o1 : B = C
  def o2 = C

  def main(argv : Array[String]) : Unit = {
    println(o1.m.x)
    println(o2.m.x)
  }
}