diff options
author | Martin Odersky <odersky@gmail.com> | 2015-10-30 11:00:24 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-10-30 11:00:24 +0100 |
commit | 2a4d7bc68dde060458cb3692cc272968f096c7d4 (patch) | |
tree | 285cdf86c25820aad502c6f027e9baf2852ba5ac /src/dotty/tools/dotc/ast/Desugar.scala | |
parent | f0e54c59520566b8d9d2b4dae8a4802de6b3a843 (diff) | |
download | dotty-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.scala | 6 |
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)) } |