File: tailrec.check

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (16 lines) | stat: -rw-r--r-- 1,158 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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