aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/neg/tailrec.check
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/neg/tailrec.check')
-rw-r--r--tests/untried/neg/tailrec.check16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/untried/neg/tailrec.check b/tests/untried/neg/tailrec.check
new file mode 100644
index 000000000..946d3421e
--- /dev/null
+++ b/tests/untried/neg/tailrec.check
@@ -0,0 +1,16 @@
+tailrec.scala:45: error: could not optimize @tailrec annotated method facfail: it contains a recursive call not in tail position
+ else n * facfail(n - 1)
+ ^
+tailrec.scala:50: error: could not optimize @tailrec annotated method fail1: it is neither private nor final so can be overridden
+ @tailrec def fail1(x: Int): Int = fail1(x)
+ ^
+tailrec.scala:53: error: could not optimize @tailrec annotated method fail2: it contains a recursive call not in tail position
+ @tailrec final def fail2[T](xs: List[T]): List[T] = xs match {
+ ^
+tailrec.scala:59: error: could not optimize @tailrec annotated method fail3: it is called recursively with different type arguments
+ @tailrec final def fail3[T](x: Int): Int = fail3(x - 1)
+ ^
+tailrec.scala:63: error: could not optimize @tailrec annotated method fail4: it changes type of 'this' on a polymorphic recursive call
+ @tailrec final def fail4[U](other: Tom[U], x: Int): Int = other.fail4[U](other, x - 1)
+ ^
+5 errors found