summaryrefslogtreecommitdiff
path: root/test/files/neg/t4989.check
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-06-10 17:51:21 +0200
committerJason Zaugg <jzaugg@gmail.com>2012-06-17 14:42:49 +0200
commit72ee06de4cc0b8c12acf07c892302a3043a1e578 (patch)
tree153a7db5f3af07974b6c797b363349653c315c48 /test/files/neg/t4989.check
parent277dc7cf43566f8294bde4143107d9bfaa59e8e3 (diff)
downloadscala-72ee06de4cc0b8c12acf07c892302a3043a1e578.tar.gz
scala-72ee06de4cc0b8c12acf07c892302a3043a1e578.tar.bz2
scala-72ee06de4cc0b8c12acf07c892302a3043a1e578.zip
SI-4989 Reject super.x if an intermediate class declares x abstract.
This is in line with Java's treatment. Without this, an AbstractMethodError is thrown at runtime.
Diffstat (limited to 'test/files/neg/t4989.check')
-rw-r--r--test/files/neg/t4989.check7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/files/neg/t4989.check b/test/files/neg/t4989.check
new file mode 100644
index 0000000000..814507fc3f
--- /dev/null
+++ b/test/files/neg/t4989.check
@@ -0,0 +1,7 @@
+t4989.scala:14: error: method print in class A cannot be directly accessed from class C because class B redeclares it as abstract
+ override def print(): String = super.print() // should be an error
+ ^
+t4989.scala:18: error: method print in class A cannot be directly accessed from trait T because class B redeclares it as abstract
+ override def print(): String = super.print() // should be an error
+ ^
+two errors found