diff options
author | Paul Phillips <paulp@improving.org> | 2012-03-11 10:50:57 -0400 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-03-11 13:23:30 -0400 |
commit | 79e937bea265675c73bca753ba74dc1a829b8737 (patch) | |
tree | 083a4256daec69d3b874afa47939a295ad854188 /test/files/neg/tailrec-2.scala | |
parent | f1c39dd9816fd48663064307c39e2d9c8c936cd5 (diff) | |
download | scala-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.scala | 3 |
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] { |