summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Suereth <Joshua.Suereth@gmail.com>2012-07-21 06:45:37 -0700
committerJosh Suereth <Joshua.Suereth@gmail.com>2012-07-21 06:45:37 -0700
commit31f60292c9c03b1c0347b3cfbd0fefdecdf83e79 (patch)
tree4eecf57b00f71b5527643b5427b00efeaf768f0d
parenta9d5adc142a0e27336b422f1b94f27b52da34cfe (diff)
parent71d20312e9d9797f416eba46025c54adee045ce4 (diff)
downloadscala-31f60292c9c03b1c0347b3cfbd0fefdecdf83e79.tar.gz
scala-31f60292c9c03b1c0347b3cfbd0fefdecdf83e79.tar.bz2
scala-31f60292c9c03b1c0347b3cfbd0fefdecdf83e79.zip
Merge pull request #963 from adriaanm/ticket-6089
SI-6089 pt2: _ is tailpos in `_ || _` and `_ && _`
-rw-r--r--src/compiler/scala/tools/nsc/transform/TailCalls.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/TailCalls.scala b/src/compiler/scala/tools/nsc/transform/TailCalls.scala
index d5bbc578fc..492273dfdc 100644
--- a/src/compiler/scala/tools/nsc/transform/TailCalls.scala
+++ b/src/compiler/scala/tools/nsc/transform/TailCalls.scala
@@ -397,6 +397,9 @@ abstract class TailCalls extends Transform {
case Apply(fun, arg :: Nil) if hasSynthCaseSymbol(fun) && tailLabels(fun.symbol) =>
traverse(arg)
+ case Apply(fun, args) if (fun.symbol == Boolean_or || fun.symbol == Boolean_and) =>
+ traverseTrees(args)
+
// a translated casedef
case LabelDef(_, _, body) if hasSynthCaseSymbol(tree) =>
traverse(body)