报告没有 @tailrec 注解的尾递归方法,该注解验证方法将使用尾调用优化进行编译。

请注意,方法必须是有效的 final,此检查才会被显示。

示例:


  def factorial(n: Long, acc: Long = 1): Long =
    if (n <= 1) acc else factorial(n - 1, acc * n)

在应用快速修复后:


  @tailrec
  def factorial(n: Long, acc: Long = 1): Long =
    if (n <= 1) acc else factorial(n - 1, acc * n)