Some tests for pending, no review.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25121 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
This commit is contained in:
extempore 2011-06-21 04:28:20 +00:00
parent faca2e4cb2
commit 33db9ea391
2 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,29 @@
object bug4606 {
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 bug3194 {
class A(var x: Int)
class B(x: Int) extends A(x) {
self: A =>
def update(z: Int) = this.x = z
}
}

View File

@ -0,0 +1,22 @@
trait MyTrait[T <: { var id: U }, U] {
def test(t: T): T = {
val v: U = t.id
t.id = v
t
}
}
class C (var id: String){
// uncommenting this fixes it
// def id_=(x: AnyRef) { id = x.asInstanceOf[String] }
}
class Test extends MyTrait[C, String]
object Test {
def main(args: Array[String]): Unit = {
val t = new Test()
val c1 = new C("a")
val c2 = t.test(c1)
}
}