summaryrefslogtreecommitdiff
path: root/test/pending/pos/t4606.scala
blob: f4e505848386319354c156b8785a07f21083c95f (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 t4606 {
  class A(var x: Int)
  class B(x: Int) extends A(x)
  trait C { self: B => 
    def foo = x 
    def bar = self.x 
    def baz = {
      val b: B = self
      b.x
    }
  }

  object Toto extends App {
    val x = new B(10) with C
    println(x.foo) // 10
    println(x.bar) // 10
    println(x.baz) // 10
    println(x.x) // 10
  }
}

object t3194 {
  class A(var x: Int)
  class B(x: Int) extends A(x) {
    self: A =>

    def update(z: Int) = this.x = z
  }
}