summaryrefslogtreecommitdiff
path: root/test/files/neg
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/neg
parent7b61cfa3e46c52f848e1077a27fbb3ab7456d83b (diff)
downloadscala-41be228d1a658540125eed984a48f8ea9a500927.tar.gz
scala-41be228d1a658540125eed984a48f8ea9a500927.tar.bz2
scala-41be228d1a658540125eed984a48f8ea9a500927.zip
fixed #209
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/abstract.check10
-rw-r--r--test/files/neg/bug1010.check6
-rw-r--r--test/files/neg/bug1010.scala15
-rw-r--r--test/files/neg/bug415.check5
-rw-r--r--test/files/neg/bug415.scala9
-rw-r--r--test/files/neg/bug836.check9
-rw-r--r--test/files/neg/bug839.check5
-rw-r--r--test/files/neg/bug839.scala26
-rw-r--r--test/files/neg/sabin2.check7
9 files changed, 31 insertions, 61 deletions
diff --git a/test/files/neg/abstract.check b/test/files/neg/abstract.check
index c33011bb55..b73539112a 100644
--- a/test/files/neg/abstract.check
+++ b/test/files/neg/abstract.check
@@ -1,19 +1,11 @@
-abstract.scala:5: error: method bar cannot be accessed in A.this.T
- because its instance type ()A.this.T#T contains a malformed type: A.this.T#T
- def foo1: A = bar().bar();
- ^
abstract.scala:6: error: type mismatch;
found : A
required: A.this.T
def foo2: T = bar().baz();
^
-abstract.scala:8: error: method bar cannot be accessed in A
- because its instance type ()A#T contains a malformed type: A#T
- def foo4: A = baz().bar();
- ^
abstract.scala:9: error: type mismatch;
found : A
required: A.this.T
def foo5: T = baz().baz();
^
-four errors found
+two errors found
diff --git a/test/files/neg/bug1010.check b/test/files/neg/bug1010.check
new file mode 100644
index 0000000000..a0a97e940c
--- /dev/null
+++ b/test/files/neg/bug1010.check
@@ -0,0 +1,6 @@
+bug1010.scala:14: error: type mismatch;
+ found : MailBox#Message
+ required: _1.in.Message where val _1: Actor
+ unstable.send(msg) // in.Message becomes unstable.Message, but that's ok since Message is a concrete type member
+ ^
+one error found
diff --git a/test/files/neg/bug1010.scala b/test/files/neg/bug1010.scala
new file mode 100644
index 0000000000..7a1e6615e5
--- /dev/null
+++ b/test/files/neg/bug1010.scala
@@ -0,0 +1,15 @@
+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/neg/bug415.check b/test/files/neg/bug415.check
deleted file mode 100644
index a1c68954cb..0000000000
--- a/test/files/neg/bug415.check
+++ /dev/null
@@ -1,5 +0,0 @@
-bug415.scala:8: error: method x cannot be accessed in A
- because its instance type => A#T contains a malformed type: A#T
- val y: String = a.x;
- ^
-one error found
diff --git a/test/files/neg/bug415.scala b/test/files/neg/bug415.scala
deleted file mode 100644
index 355b6136d1..0000000000
--- a/test/files/neg/bug415.scala
+++ /dev/null
@@ -1,9 +0,0 @@
-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/neg/bug836.check b/test/files/neg/bug836.check
index 1fcae2ecb3..4949e2cd66 100644
--- a/test/files/neg/bug836.check
+++ b/test/files/neg/bug836.check
@@ -1,5 +1,6 @@
-bug836.scala:6: error: type S cannot be accessed in A.this.MyObj
- because its instance type A.this.MyObj#S is malformed
- type S = MyObj#S
- ^
+bug836.scala:9: error: type mismatch;
+ found : Any
+ required: A.this.S
+ val some: S = any // compiles => type X is set to scala.Any
+ ^
one error found
diff --git a/test/files/neg/bug839.check b/test/files/neg/bug839.check
deleted file mode 100644
index 2f22e26d44..0000000000
--- a/test/files/neg/bug839.check
+++ /dev/null
@@ -1,5 +0,0 @@
-bug839.scala:25: error: method set cannot be accessed in object Test.this.FileImpl#treeBuilder
- because its instance type (Test.this.Global#Tree)Unit contains a malformed type: Test.this.Global#Tree
- file.treeBuilder.set(nsc.get);
- ^
-one error found
diff --git a/test/files/neg/bug839.scala b/test/files/neg/bug839.scala
deleted file mode 100644
index d845ed3aae..0000000000
--- a/test/files/neg/bug839.scala
+++ /dev/null
@@ -1,26 +0,0 @@
-// 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);
-}
diff --git a/test/files/neg/sabin2.check b/test/files/neg/sabin2.check
index 682c08bc62..0e148fa038 100644
--- a/test/files/neg/sabin2.check
+++ b/test/files/neg/sabin2.check
@@ -1,5 +1,6 @@
-sabin2.scala:22: error: method set cannot be accessed in Test.Base#Inner
- because its instance type (Test.Base#T)Unit contains a malformed type: Test.Base#T
+sabin2.scala:22: error: type mismatch;
+ found : Test.Base#T
+ required: _1.T where val _1: Test.Base
a.set(b.get()) // Error
- ^
+ ^
one error found