Skip to content

Commit 11ed751

Browse files
authored
Merge pull request #5541 from dotty-staging/case-class-with-implicit-parameter-list
Add case class error message
2 parents 3e555e9 + 083404b commit 11ed751

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

compiler/src/dotty/tools/dotc/ast/Desugar.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,9 @@ object desugar {
352352
if (isCaseClass && originalTparams.isEmpty)
353353
ctx.error(CaseClassMissingParamList(cdef), cdef.namePos)
354354
ListOfNil
355+
} else if (isCaseClass && originalVparamss.head.exists(_.mods.is(Implicit))) {
356+
ctx.error("Case classes should have a non-implicit parameter list", cdef.namePos)
357+
ListOfNil
355358
}
356359
else originalVparamss.nestedMap(toDefParam)
357360
val constr = cpy.DefDef(constr1)(tparams = constrTparams, vparamss = constrVparamss)

tests/neg/5541.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
case class Foo(implicit i: Int) // error: Case classes should have a non-implicit parameter list

0 commit comments

Comments
 (0)