diff options
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/abstract-concrete-methods.check | 5 | ||||
-rw-r--r-- | test/files/neg/abstract-concrete-methods.scala | 10 |
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 +} |