summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/abstract-concrete-methods.check5
-rw-r--r--test/files/neg/abstract-concrete-methods.scala10
2 files changed, 15 insertions, 0 deletions
diff --git a/test/files/neg/abstract-concrete-methods.check b/test/files/neg/abstract-concrete-methods.check
new file mode 100644
index 0000000000..e128f77e26
--- /dev/null
+++ b/test/files/neg/abstract-concrete-methods.check
@@ -0,0 +1,5 @@
+abstract-concrete-methods.scala:7: error: class Outer2 needs to be abstract, since method score in trait Outer of type (i: Outer2#Inner)Double is not defined
+(Note that This#Inner does not match Outer2#Inner: class Inner in class Outer2 is a subclass of trait Inner in trait Outer, but method parameter types must match exactly.)
+class Outer2 extends Outer[Outer2] {
+ ^
+one error found
diff --git a/test/files/neg/abstract-concrete-methods.scala b/test/files/neg/abstract-concrete-methods.scala
new file mode 100644
index 0000000000..7f1aea0dbc
--- /dev/null
+++ b/test/files/neg/abstract-concrete-methods.scala
@@ -0,0 +1,10 @@
+trait Outer[This <: Outer[This]] {
+ self: This =>
+
+ trait Inner
+ def score(i: This#Inner): Double
+}
+class Outer2 extends Outer[Outer2] {
+ class Inner extends super.Inner
+ def score(i: Outer2#Inner) = 0.0
+}