diff options
author | Johannes Rudolph <johannes.rudolph@gmail.com> | 2014-06-25 13:40:13 +0200 |
---|---|---|
committer | Johannes Rudolph <johannes.rudolph@gmail.com> | 2014-06-25 15:24:26 +0200 |
commit | 299594e63a925c3e6042c6fd920de2f359417cbd (patch) | |
tree | 61558e65344b295d63c0ec425782c607e47d4104 /test/files/neg/tailrec-4.check | |
parent | 1c0b48da8dfa124eb762620c8cb803a9079b7c81 (diff) | |
download | scala-299594e63a925c3e6042c6fd920de2f359417cbd.tar.gz scala-299594e63a925c3e6042c6fd920de2f359417cbd.tar.bz2 scala-299594e63a925c3e6042c6fd920de2f359417cbd.zip |
SI-8657 don't miss tailrec defs in more positions
1) First operand of boolean expression using `&&` or `||`. Second operands of
those boolean exprs were already treated specially here but handling for first
operands was missing.
2) Condition of `If`. Also added a test for guards.
Diffstat (limited to 'test/files/neg/tailrec-4.check')
-rw-r--r-- | test/files/neg/tailrec-4.check | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/neg/tailrec-4.check b/test/files/neg/tailrec-4.check new file mode 100644 index 0000000000..3ec3274478 --- /dev/null +++ b/test/files/neg/tailrec-4.check @@ -0,0 +1,16 @@ +tailrec-4.scala:6: error: could not optimize @tailrec annotated method foo: it contains a recursive call not in tail position + @tailrec def foo: Int = foo + 1 + ^ +tailrec-4.scala:11: error: could not optimize @tailrec annotated method foo: it contains a recursive call not in tail position + @tailrec def foo: Int = foo + 1 + ^ +tailrec-4.scala:17: error: could not optimize @tailrec annotated method foo: it contains a recursive call not in tail position + @tailrec def foo: Int = foo + 1 + ^ +tailrec-4.scala:23: error: could not optimize @tailrec annotated method foo: it contains a recursive call not in tail position + @tailrec def foo: Int = foo + 1 + ^ +tailrec-4.scala:31: error: could not optimize @tailrec annotated method foo: it contains a recursive call not in tail position + @tailrec def foo: Int = foo + 1 + ^ +5 errors found |