Skip to content

Commit f3b462a

Browse files
authored
Merge pull request #2517 from dotty-staging/fix/value-class-var
Fix error message for value class with var parameter
2 parents 4fe21b0 + 5be00f0 commit f3b462a

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

compiler/src/dotty/tools/dotc/typer/Checking.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,9 @@ object Checking {
459459
if (isCyclic(clazz.asClass))
460460
ctx.error(ValueClassesMayNotWrapItself(clazz), clazz.pos)
461461
else {
462-
val clParamAccessors = clazz.asClass.paramAccessors.filter(_.isTerm)
462+
val clParamAccessors = clazz.asClass.paramAccessors.filter { param =>
463+
param.isTerm && !param.is(Flags.Accessor)
464+
}
463465
clParamAccessors match {
464466
case List(param) =>
465467
if (param.is(Mutable))

compiler/test/dotty/tools/dotc/reporting/ErrorMessagesTests.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import diagnostic.messages._
77
import dotty.tools.dotc.core.Types.WildcardType
88
import dotty.tools.dotc.parsing.Tokens
99
import org.junit.Assert._
10-
import org.junit.{Ignore, Test}
10+
import org.junit.Test
1111

1212
class ErrorMessagesTests extends ErrorMessagesTest {
1313
// In the case where there are no errors, we can do "expectNoErrors" in the
@@ -758,7 +758,7 @@ class ErrorMessagesTests extends ErrorMessagesTest {
758758
assertEquals("class MyValue", valueClass.show)
759759
}
760760

761-
@Test @Ignore def valueClassParameterMayNotBeVar =
761+
@Test def valueClassParameterMayNotBeVar =
762762
checkMessagesAfter("refchecks") {
763763
"""class MyValue(var i: Int) extends AnyVal"""
764764
}

0 commit comments

Comments
 (0)