summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-06-21 04:28:20 +0000
committerPaul Phillips <paulp@improving.org>2011-06-21 04:28:20 +0000
commitdd511e1a1ad51206ff4dc5bfbf6caea4be5d4457 (patch)
treed459d978b324aff1b6add41f8cf0ab5f36d2065b
parentc41277163529af60b3d53b0019b15b57f1a0d576 (diff)
downloadscala-dd511e1a1ad51206ff4dc5bfbf6caea4be5d4457.tar.gz
scala-dd511e1a1ad51206ff4dc5bfbf6caea4be5d4457.tar.bz2
scala-dd511e1a1ad51206ff4dc5bfbf6caea4be5d4457.zip
Some tests for pending, no review.
-rw-r--r--test/pending/pos/bug4606.scala29
-rw-r--r--test/pending/run/bug3669.scala22
2 files changed, 51 insertions, 0 deletions
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)
+ }
+}