summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-11-16 15:57:40 +0000
committerMartin Odersky <odersky@gmail.com>2007-11-16 15:57:40 +0000
commit41be228d1a658540125eed984a48f8ea9a500927 (patch)
tree5299850fad5b253e68c991c9ea90c2bfd1b3d665 /test/files/pos
parent7b61cfa3e46c52f848e1077a27fbb3ab7456d83b (diff)
downloadscala-41be228d1a658540125eed984a48f8ea9a500927.tar.gz
scala-41be228d1a658540125eed984a48f8ea9a500927.tar.bz2
scala-41be228d1a658540125eed984a48f8ea9a500927.zip
fixed #209
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/bug1010.scala15
-rw-r--r--test/files/pos/bug415.scala9
-rw-r--r--test/files/pos/bug839.scala26
3 files changed, 35 insertions, 15 deletions
diff --git a/test/files/pos/bug1010.scala b/test/files/pos/bug1010.scala
deleted file mode 100644
index 7a1e6615e5..0000000000
--- a/test/files/pos/bug1010.scala
+++ /dev/null
@@ -1,15 +0,0 @@
-class MailBox {
- class Message
- //type Message = AnyRef
-}
-
-abstract class Actor {
- private val in = new MailBox
-
- def send(msg: in.Message) = error("foo")
-
- def unstable: Actor = error("foo")
-
- def dubiousSend(msg: MailBox#Message): Nothing =
- unstable.send(msg) // in.Message becomes unstable.Message, but that's ok since Message is a concrete type member
-}
diff --git a/test/files/pos/bug415.scala b/test/files/pos/bug415.scala
new file mode 100644
index 0000000000..355b6136d1
--- /dev/null
+++ b/test/files/pos/bug415.scala
@@ -0,0 +1,9 @@
+abstract class A {
+ type T <: String;
+ def x: T;
+}
+
+abstract class B {
+ def a: A;
+ val y: String = a.x;
+}
diff --git a/test/files/pos/bug839.scala b/test/files/pos/bug839.scala
new file mode 100644
index 0000000000..d845ed3aae
--- /dev/null
+++ b/test/files/pos/bug839.scala
@@ -0,0 +1,26 @@
+// see pending/pos/bug112606A.scala
+package test;
+trait Test {
+ trait Global {
+ type Tree;
+ def get : Tree;
+ }
+ trait TreeBuilder {
+ val global : Global;
+ def set(tree : global.Tree) = {}
+ }
+ val nsc : Global;
+ trait FileImpl {
+ object treeBuilder extends TreeBuilder {
+ val global : nsc.type = nsc;
+ }
+ // OK
+ treeBuilder.set(nsc.get);
+ }
+ val file0 : FileImpl;
+ // OK
+ file0.treeBuilder.set(nsc.get);
+ def file : FileImpl;
+ // type mismatch
+ file.treeBuilder.set(nsc.get);
+}