summaryrefslogblamecommitdiff
path: root/test/files/neg/tailrec.check
blob: f6865b2f9d54d0fba9b2456fe7d91d997ed5c414 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                                                                                                 
                                            




                                                                                                                                   
                                                         

                                                                                                                                      
                                                                                          
                                                                     
              
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:55: error: could not optimize @tailrec annotated method fail2: it contains a recursive call not in tail position
    case x :: xs  => x :: fail2[T](xs)
                       ^
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