summaryrefslogtreecommitdiff
path: root/test/files/run/trait-defaults-modules.scala
blob: 93fc74baff5189fb82541f758f6a614e53e0f053 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
trait T1 { def a: Any }

trait T2 extends T1 { object a; object b; private object c; def usec: Any = c}
trait T3 extends T2

class C1 extends T1 { object a; object b }
class C2 extends C1
class C3 extends T2
class C4 extends T3

object Test {
  def main(args: Array[String]): Unit = {
    val (c1, c2, c3, c4) = (new C1, new C2, new C3, new C4)
    c1.a; c1.b; (c1: T1).a
    c2.a; c2.b; (c2: T1).a
    c3.a; c3.b; (c3: T1).a; c3.usec
    c4.a; c4.b; (c4: T1).a; c4.usec
  }

}