summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/bug729.check6
-rw-r--r--test/files/neg/bug729.scala23
-rw-r--r--test/files/neg/bug752.check6
-rw-r--r--test/files/neg/bug752.scala8
-rw-r--r--test/files/neg/viewtest.check4
5 files changed, 45 insertions, 2 deletions
diff --git a/test/files/neg/bug729.check b/test/files/neg/bug729.check
new file mode 100644
index 0000000000..8c13a304b3
--- /dev/null
+++ b/test/files/neg/bug729.check
@@ -0,0 +1,6 @@
+bug729.scala:20 error: type mismatch;
+ found : ScalaParserAutoEdit.this.NodeImpl(in trait Parser)
+ required: ScalaParserAutoEdit.this.NodeImpl(in trait ScalaParserAutoEdit)
+ val yyy : NodeImpl = link.from;
+ ^
+one error found
diff --git a/test/files/neg/bug729.scala b/test/files/neg/bug729.scala
new file mode 100644
index 0000000000..83e7f4cd1e
--- /dev/null
+++ b/test/files/neg/bug729.scala
@@ -0,0 +1,23 @@
+trait Parser {
+ type Node <: NodeImpl;
+ implicit def coerce(n : NodeImpl) = n.self;
+ trait NodeImpl {
+ def self : Node;
+ }
+ trait Link {
+ def from : NodeImpl;
+ }
+}
+
+trait ScalaParserAutoEdit extends Parser {
+ type Node <: NodeImpl;
+ implicit def coerce(node : NodeImpl) = node.self;
+ trait NodeImpl extends super[Parser].NodeImpl {
+ def self : Node;
+ def foo = {
+ var link : Link = null;
+ val xxx : NodeImpl = coerce(link.from);
+ val yyy : NodeImpl = link.from;
+ }
+ }
+}
diff --git a/test/files/neg/bug752.check b/test/files/neg/bug752.check
new file mode 100644
index 0000000000..a00ca01ced
--- /dev/null
+++ b/test/files/neg/bug752.check
@@ -0,0 +1,6 @@
+bug752.scala:6 error: type mismatch;
+ found : (java.lang.String) => scala.Unit
+ required: (scala.Int) => scala.Unit
+ f(&g)
+ ^
+one error found
diff --git a/test/files/neg/bug752.scala b/test/files/neg/bug752.scala
new file mode 100644
index 0000000000..aae0d5f4a7
--- /dev/null
+++ b/test/files/neg/bug752.scala
@@ -0,0 +1,8 @@
+object Test
+{
+ def f(x : Int => Unit) : Unit = ()
+ def g(x : String) : Unit = ()
+ def main(argv : Array[String]) = {
+ f(&g)
+ }
+}
diff --git a/test/files/neg/viewtest.check b/test/files/neg/viewtest.check
index 044c3b7d91..b7433f6818 100644
--- a/test/files/neg/viewtest.check
+++ b/test/files/neg/viewtest.check
@@ -1,6 +1,6 @@
viewtest.scala:43 error: type mismatch;
- found : scala.List[<type a in method compareTo>]
- required: scala.List[<type a in method view3>]
+ found : scala.List[a(in method compareTo)]
+ required: scala.List[a(in method view3)]
case y1: List[a] => compareLists(x, y1)
^
viewtest.scala:104 error: ambiguous implicit value: