diff options
author | Paul Phillips <paulp@improving.org> | 2011-08-16 16:53:16 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-08-16 16:53:16 +0000 |
commit | d8359a20a088a4724431ce9c7dd93869c2ad23cb (patch) | |
tree | daecc28fd7443c37bfe13cffd1d77dd96b409756 /test | |
parent | 20859263f2a2cf85464b333b9842bb31c020ee5e (diff) | |
download | scala-d8359a20a088a4724431ce9c7dd93869c2ad23cb.tar.gz scala-d8359a20a088a4724431ce9c7dd93869c2ad23cb.tar.bz2 scala-d8359a20a088a4724431ce9c7dd93869c2ad23cb.zip |
Improved the error message given when a concret...
Improved the error message given when a concrete method implementation
doesn't match the abstract one. No review.
Diffstat (limited to 'test')
-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 +} |