summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/bug555.check4
-rw-r--r--test/files/neg/bug555.scala5
-rw-r--r--test/files/neg/bug987.check29
-rw-r--r--test/files/pos/bug1001.scala2
-rw-r--r--test/files/pos/ticket2251.scala23
5 files changed, 17 insertions, 46 deletions
diff --git a/test/files/neg/bug555.check b/test/files/neg/bug555.check
deleted file mode 100644
index e72714d36c..0000000000
--- a/test/files/neg/bug555.check
+++ /dev/null
@@ -1,4 +0,0 @@
-bug555.scala:4: error: block must end in result expression, not in definition
- }
- ^
-one error found
diff --git a/test/files/neg/bug555.scala b/test/files/neg/bug555.scala
deleted file mode 100644
index 26dbe6cc0d..0000000000
--- a/test/files/neg/bug555.scala
+++ /dev/null
@@ -1,5 +0,0 @@
-object Main extends Application {
- def tata = {
- def titi = {}
- }
-}
diff --git a/test/files/neg/bug987.check b/test/files/neg/bug987.check
index ec2ca621fd..4cad622ab8 100644
--- a/test/files/neg/bug987.check
+++ b/test/files/neg/bug987.check
@@ -1,16 +1,19 @@
-bug987.scala:15: error: the type intersection D with ScalaObject is malformed
- --- because ---
-no common type instance of base types B[C], and B[D] exists.
+bug987.scala:15: error: illegal inheritance;
+ class E inherits different type instances of trait B:
+B[D] and B[C]
class E extends D
- ^
-bug987.scala:20: error: the type intersection D with ScalaObject is malformed
- --- because ---
-no common type instance of base types B[C], and B[D] exists.
+ ^
+bug987.scala:20: error: illegal inheritance;
+ class F inherits different type instances of trait B:
+B[D] and B[C]
class F extends D
- ^
-bug987.scala:25: error: the type intersection C with B[D] with ScalaObject is malformed
- --- because ---
-no common type instance of base types B[D], and B[C] exists.
+ ^
+bug987.scala:25: error: illegal inheritance;
+ class D inherits different type instances of trait B:
+B[D] and B[C]
abstract class D extends C with B[D] {}
- ^
-three errors found
+ ^
+bug987.scala:25: error: type arguments [D] do not conform to trait B's type parameter bounds [T <: B[T]]
+abstract class D extends C with B[D] {}
+ ^
+four errors found
diff --git a/test/files/pos/bug1001.scala b/test/files/pos/bug1001.scala
index 1b909fb2ad..776a334dad 100644
--- a/test/files/pos/bug1001.scala
+++ b/test/files/pos/bug1001.scala
@@ -101,5 +101,5 @@ object N26 extends Ee
object N31 extends Ee
{
// If we use List[C](N26,N25), we achieve successful compilation
- val data = List(N26,N25)
+ val data = List[C](N26,N25)
}
diff --git a/test/files/pos/ticket2251.scala b/test/files/pos/ticket2251.scala
deleted file mode 100644
index 1e8727e999..0000000000
--- a/test/files/pos/ticket2251.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-// derived from pos/bug1001
-class A
-trait B[T <: B[T]] extends A
-class C extends B[C]
-class D extends B[D]
-
-class Data {
- // force computing lub of C and D (printLubs enabled:)
-
-/*
-lub of List(D, C) at depth 2
- lub of List(D, C) at depth 1
- lub of List(D, C) at depth 0
- lub of List(D, C) is A
- lub of List(D, C) is B[_1] forSome { type _1 >: D with C <: A }
-lub of List(D, C) is B[_2] forSome { type _2 >: D with C{} <: B[_1] forSome { type _1 >: D with C{} <: A } }
-*/
-// --> result = WRONG
-
- // should be: B[X] forSome {type X <: B[X]} -- can this be done automatically? for now, just detect f-bounded polymorphism and fall back to more coarse approximation
-
- val data: List[A] = List(new C, new D)
-}