From dd511e1a1ad51206ff4dc5bfbf6caea4be5d4457 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Tue, 21 Jun 2011 04:28:20 +0000 Subject: Some tests for pending, no review. --- test/pending/pos/bug4606.scala | 29 +++++++++++++++++++++++++++++ test/pending/run/bug3669.scala | 22 ++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 test/pending/pos/bug4606.scala create mode 100644 test/pending/run/bug3669.scala diff --git a/test/pending/pos/bug4606.scala b/test/pending/pos/bug4606.scala new file mode 100644 index 0000000000..c9b9e0914e --- /dev/null +++ b/test/pending/pos/bug4606.scala @@ -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 + } +} \ No newline at end of file diff --git a/test/pending/run/bug3669.scala b/test/pending/run/bug3669.scala new file mode 100644 index 0000000000..4fd698c1a5 --- /dev/null +++ b/test/pending/run/bug3669.scala @@ -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) + } +} -- cgit v1.2.3