summaryrefslogtreecommitdiff
path: root/test/files/run/tcpoly_overriding.scala
diff options
context:
space:
mode:
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