aboutsummaryrefslogtreecommitdiff
path: root/tests/run/tcpoly_overriding.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-05-22 16:07:23 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-05-22 16:07:23 +0200
commit6965b470d433f501203c4e3d77b0919f826691ba (patch)
tree413446f1af3f40bb69499a60066609af6bc38d9f /tests/run/tcpoly_overriding.scala
parent91bb668c5f1b6e5c51dad9b373c9398521508bc3 (diff)
downloaddotty-6965b470d433f501203c4e3d77b0919f826691ba.tar.gz
dotty-6965b470d433f501203c4e3d77b0919f826691ba.tar.bz2
dotty-6965b470d433f501203c4e3d77b0919f826691ba.zip
Enable 440 run tests that pass.
Note that some of them may pass due to several bugs that interfere.
Diffstat (limited to 'tests/run/tcpoly_overriding.scala')
-rw-r--r--tests/run/tcpoly_overriding.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/run/tcpoly_overriding.scala b/tests/run/tcpoly_overriding.scala
new file mode 100644
index 000000000..01b9c29ac
--- /dev/null
+++ b/tests/run/tcpoly_overriding.scala
@@ -0,0 +1,19 @@
+
+import scala.language.{ higherKinds }
+
+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 dotty.runtime.LegacyApp {
+ Console.println((new B).b(0))
+}