aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/ast/Desugar.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-10-30 11:00:24 +0100
committerMartin Odersky <odersky@gmail.com>2015-10-30 11:00:24 +0100
commit2a4d7bc68dde060458cb3692cc272968f096c7d4 (patch)
tree285cdf86c25820aad502c6f027e9baf2852ba5ac /src/dotty/tools/dotc/ast/Desugar.scala
parentf0e54c59520566b8d9d2b4dae8a4802de6b3a843 (diff)
downloaddotty-2a4d7bc68dde060458cb3692cc272968f096c7d4.tar.gz
dotty-2a4d7bc68dde060458cb3692cc272968f096c7d4.tar.bz2
dotty-2a4d7bc68dde060458cb3692cc272968f096c7d4.zip
Fix case expansion for nullary functions.
Always expand to at least one parameter.
Diffstat (limited to 'src/dotty/tools/dotc/ast/Desugar.scala')
-rw-r--r--src/dotty/tools/dotc/ast/Desugar.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/src/dotty/tools/dotc/ast/Desugar.scala
index fe6e48aa8..51b7e3a1f 100644
--- a/src/dotty/tools/dotc/ast/Desugar.scala
+++ b/src/dotty/tools/dotc/ast/Desugar.scala
@@ -562,12 +562,12 @@ object desugar {
* ==>
* x$1 => x$1 match { cases }
*
- * If `nparams` != 1, expand instead to
+ * If `nparams` > 1, expand instead to
*
- * (x$0, ..., x${n-1}) => (x$0, ..., x${n-1}) match { cases }
+ * (x$1, ..., x$n) => (x$0, ..., x${n-1}) match { cases }
*/
def makeCaseLambda(cases: List[CaseDef], nparams: Int = 1)(implicit ctx: Context) = {
- val params = (1 to nparams).toList.map(makeSyntheticParameter(_))
+ val params = (1 to (nparams min 1)).toList.map(makeSyntheticParameter(_))
val selector = makeTuple(params.map(p => Ident(p.name)))
Function(params, Match(selector, cases))
}