summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/abstract.check10
-rw-r--r--test/files/neg/bug415.check12
-rw-r--r--test/files/neg/bug415.scala21
3 files changed, 30 insertions, 13 deletions
diff --git a/test/files/neg/abstract.check b/test/files/neg/abstract.check
index a64a5da85f..86fded0fce 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/bug415.check b/test/files/neg/bug415.check
index c6c9805aa6..76dbc64bc2 100644
--- a/test/files/neg/bug415.check
+++ b/test/files/neg/bug415.check
@@ -1,5 +1,9 @@
-bug415.scala:8 error: method x cannot be accessed in A
+bug415.scala:10 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
+ val y = a.x;
+ ^
+bug415.scala:20 error: method x cannot be accessed in A2
+ because its instance type => scala.Array[A2#T] contains a malformed type: A2#T
+ val y: Array[String] = a.x;
+ ^
+two errors found
diff --git a/test/files/neg/bug415.scala b/test/files/neg/bug415.scala
new file mode 100644
index 0000000000..ea7f89f39a
--- /dev/null
+++ b/test/files/neg/bug415.scala
@@ -0,0 +1,21 @@
+class Foo[T]
+
+abstract class A {
+ type T <: Foo[T]
+ def x: T;
+}
+
+abstract class B {
+ def a: A;
+ val y = a.x;
+}
+
+abstract class A2 {
+ type T <: String
+ def x: Array[T]
+}
+
+abstract class B2 {
+ def a: A2;
+ val y: Array[String] = a.x;
+}