summaryrefslogtreecommitdiff
path: root/test/files/neg/t4134.check
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2012-04-05 02:58:40 -0700
committerPaul Phillips <paulp@improving.org>2012-04-06 11:57:41 -0700
commit72f6f0e57ca490b36cef62a3be2a8b3261476cd2 (patch)
treee140ee692080bed185ba99122b5890b736c1e573 /test/files/neg/t4134.check
parent581a2e1a9653b06b6d2c431070e6b1d21383285d (diff)
downloadscala-72f6f0e57ca490b36cef62a3be2a8b3261476cd2.tar.gz
scala-72f6f0e57ca490b36cef62a3be2a8b3261476cd2.tar.bz2
scala-72f6f0e57ca490b36cef62a3be2a8b3261476cd2.zip
SI-4134: abstract override crasher if lacking super impl
The example from the ticket is committed as a neg test. The problem is that a super.m on an abstract override member m has no concrete implementation, that is, the trait T is not mixed in after a class C with a concrete m. The error is noticed at phase mixin when the super accessor is added to the concrete mixer. (Pun alert?) When super.m is rebound, no concrete matching symbol is found up the linearization. Previously, it was asserted that such a symbol should be found, but since this is our first opportunity to detect that there is none, an error should be emitted instead. The new message is of the form: Member method f of mixin trait T2 is missing a concrete super implementation. Additionally, a couple of flag tests were changed to use isAbstractOverride.
Diffstat (limited to 'test/files/neg/t4134.check')
-rw-r--r--test/files/neg/t4134.check4
1 files changed, 4 insertions, 0 deletions
diff --git a/test/files/neg/t4134.check b/test/files/neg/t4134.check
new file mode 100644
index 0000000000..35a1820b0a
--- /dev/null
+++ b/test/files/neg/t4134.check
@@ -0,0 +1,4 @@
+t4134.scala:22: error: Member method f of mixin trait T2 is missing a concrete super implementation.
+class Konkret extends T3
+ ^
+one error found