匿名関数から早く抜けるために return キーワードが使用されている場合に報告します。
非ローカルの return は、scala.runtime.NonLocalReturnException をスローおよび catch して実装されます。
プログラマーがこれを意図していることはほぼありません。 例外のスローおよび catch には隠れたパフォーマンスコストがあるため、問題となる場合があります。
さらに、リークがある実装でもあります。すべての例外をキャッチするための例外ハンドラーは NonLocalReturnException をインターセプトできます。
def foo(numbers: Seq[Int]): Int =
numbers.map { n =>
if (n > 5)
return 0 // highlighted
n * 2
}.sum