summaryrefslogtreecommitdiff
path: root/test/files/neg/tailrec-2.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-03-11 10:50:57 -0400
committerPaul Phillips <paulp@improving.org>2012-03-11 13:23:30 -0400
commit79e937bea265675c73bca753ba74dc1a829b8737 (patch)
tree083a4256daec69d3b874afa47939a295ad854188 /test/files/neg/tailrec-2.scala
parentf1c39dd9816fd48663064307c39e2d9c8c936cd5 (diff)
downloadscala-79e937bea265675c73bca753ba74dc1a829b8737.tar.gz
scala-79e937bea265675c73bca753ba74dc1a829b8737.tar.bz2
scala-79e937bea265675c73bca753ba74dc1a829b8737.zip
Fix for tailcall transform/recognition bugs.
Closes SI-3275, SI-5455.
Diffstat (limited to 'test/files/neg/tailrec-2.scala')
-rw-r--r--test/files/neg/tailrec-2.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/test/files/neg/tailrec-2.scala b/test/files/neg/tailrec-2.scala
index 342cd85323..9eb3af2f07 100644
--- a/test/files/neg/tailrec-2.scala
+++ b/test/files/neg/tailrec-2.scala
@@ -1,9 +1,12 @@
sealed abstract class Super[+A] {
def f[B >: A](mem: List[B]) : List[B]
+ def g(mem: List[_]) = ???
}
// This one should fail, target is a supertype
class Bop1[+A](val element: A) extends Super[A] {
+
@annotation.tailrec final def f[B >: A](mem: List[B]): List[B] = (null: Super[A]).f(mem)
+ @annotation.tailrec final def f1[B >: A](mem: List[B]): List[B] = this.g(mem)
}
// These succeed
class Bop2[+A](val element: A) extends Super[A] {