summaryrefslogtreecommitdiff
path: root/test/files/run/tcpoly_overriding.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2007-04-06 09:39:53 +0000
committerAdriaan Moors <adriaan.moors@epfl.ch>2007-04-06 09:39:53 +0000
commitf96b6beefc08f56218ac68b37a4cecd757cb60ee (patch)
tree2001a44efae7ddd1699520d3855598ef13e30803 /test/files/run/tcpoly_overriding.scala
parent10a651a13c323366223160bfa1b4fe8a6e818d1d (diff)
downloadscala-f96b6beefc08f56218ac68b37a4cecd757cb60ee.tar.gz
scala-f96b6beefc08f56218ac68b37a4cecd757cb60ee.tar.bz2
scala-f96b6beefc08f56218ac68b37a4cecd757cb60ee.zip
adding test files from tcpoly branch without hi...
adding test files from tcpoly branch without history -- much faster this way, sorry
Diffstat (limited to 'test/files/run/tcpoly_overriding.scala')
-rw-r--r--test/files/run/tcpoly_overriding.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/run/tcpoly_overriding.scala b/test/files/run/tcpoly_overriding.scala
new file mode 100644
index 0000000000..970e16c71f
--- /dev/null
+++ b/test/files/run/tcpoly_overriding.scala
@@ -0,0 +1,16 @@
+abstract class A[t[x]] {
+ def b: t[Int]
+}
+
+class B extends A[List] {
+ // underlying functionality being tested is overriding, but bugs manifest itself during erasure
+ // erasure should generate two methods: one that returns an Object (to implement the method in A)
+ // one that is as close as possible to the original method and thus returns a List
+ // the problem only manifests itself here -- but it's really a problem with overriding
+ // the link between this method and the method in A isn't seen
+ def b: List[Int] = List(1)
+}
+
+object Test extends Application {
+ Console.println((new B).b(0))
+} \ No newline at end of file