diff options
author | Paul Phillips <paulp@improving.org> | 2011-04-28 16:23:45 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-04-28 16:23:45 +0000 |
commit | 199ec3c10fe7d2b2029ea8ae6a19240b46181435 (patch) | |
tree | f0e7b14111510f19bf89874d3073adf767d16054 /test/files/neg/abstract-class-2.scala | |
parent | 9a9f73b80261415e08eb782333470bbb84863894 (diff) | |
download | scala-199ec3c10fe7d2b2029ea8ae6a19240b46181435.tar.gz scala-199ec3c10fe7d2b2029ea8ae6a19240b46181435.tar.bz2 scala-199ec3c10fe7d2b2029ea8ae6a19240b46181435.zip |
Improved the error message for another of the m...
Improved the error message for another of the most common situations
I hear about in newbieland. It could be taken further. If compilation
fails due to an unimplemented abstract method, and there is a concrete
method of the same name and arity, it will do a pairwise analysis of the
parameters and attempt to further explain where you went off the beam if
it feels it can do so sensibly. Such as in the test case:
% scalac S.scala
S.scala:1: error: class S needs to be abstract, since method g in class J of type (y: Int,z: java.util.List)Int is not defined
(Note that java.util.List does not match java.util.List[String]. To implement a raw type, use java.util.List[_])
class S extends J {
^
one error found
No review.
Diffstat (limited to 'test/files/neg/abstract-class-2.scala')
-rw-r--r-- | test/files/neg/abstract-class-2.scala | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/files/neg/abstract-class-2.scala b/test/files/neg/abstract-class-2.scala new file mode 100644 index 0000000000..19f74f3da6 --- /dev/null +++ b/test/files/neg/abstract-class-2.scala @@ -0,0 +1,14 @@ +class P { + trait S1 + val p = new P + + trait S2 { + def f(x: p.S1): Int + } +} + +class P2 extends P { + object O2 extends S2 { + def f(x: S1) = 5 + } +} |