diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2017-02-22 16:57:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-22 16:57:03 +0100 |
commit | a0c2e55b23107d473b3e99aad9f515e23f321822 (patch) | |
tree | dd90172e7bc836d3629aa52cf3cf3df2d79da1d3 /compiler | |
parent | 6eeb06facb4e0afca9b11b7859a929b31fc23f25 (diff) | |
parent | e3bad2efa3abf4884e07c6222f5d152e18c64b2d (diff) | |
download | dotty-a0c2e55b23107d473b3e99aad9f515e23f321822.tar.gz dotty-a0c2e55b23107d473b3e99aad9f515e23f321822.tar.bz2 dotty-a0c2e55b23107d473b3e99aad9f515e23f321822.zip |
Merge pull request #2021 from dotty-staging/fix-#2020
Fix #2020: Only the first parameters of a case class are caseaccessors
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/src/dotty/tools/dotc/ast/Desugar.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/src/dotty/tools/dotc/ast/Desugar.scala b/compiler/src/dotty/tools/dotc/ast/Desugar.scala index deb239143..b5be89440 100644 --- a/compiler/src/dotty/tools/dotc/ast/Desugar.scala +++ b/compiler/src/dotty/tools/dotc/ast/Desugar.scala @@ -469,7 +469,13 @@ object desugar { val originalVparams = constr1.vparamss.toIterator.flatten val tparamAccessors = derivedTparams.map(_.withMods(originalTparams.next.mods)) val caseAccessor = if (isCaseClass) CaseAccessor else EmptyFlags - val vparamAccessors = derivedVparamss.flatten.map(_.withMods(originalVparams.next.mods | caseAccessor)) + val vparamAccessors = derivedVparamss match { + case first :: rest => + first.map(_.withMods(originalVparams.next.mods | caseAccessor)) ++ + rest.flatten.map(_.withMods(originalVparams.next.mods)) + case _ => + Nil + } cpy.TypeDef(cdef)( name = className, rhs = cpy.Template(impl)(constr, parents1, self1, |