Skip to content

Commit 083404b

Browse files
Add case class error message
For case classes with a single implicit parameter list.
1 parent f66225c commit 083404b

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)