File tree 4 files changed +10
-2
lines changed
compiler/src/dotty/tools/dotc 4 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -820,7 +820,7 @@ object desugar {
820
820
}
821
821
else if (companionMembers.nonEmpty || companionDerived.nonEmpty || isEnum)
822
822
companionDefs(anyRef, companionMembers)
823
- else if ( isValueClass)
823
+ else if isValueClass && ! isObject then
824
824
companionDefs(anyRef, Nil )
825
825
else Nil
826
826
Original file line number Diff line number Diff line change @@ -738,7 +738,10 @@ object Checking {
738
738
for (p <- params if ! p.is(Erased ))
739
739
report.error(" value class can only have one non `erased` parameter" , p.srcPos)
740
740
case Nil =>
741
- report.error(ValueClassNeedsOneValParam (clazz), clazz.srcPos)
741
+ if clazz.is(Module ) then
742
+ report.error(" A module cannot extends AnyVal" ,clazz.srcPos)
743
+ else
744
+ report.error(ValueClassNeedsOneValParam (clazz), clazz.srcPos)
742
745
}
743
746
}
744
747
stats.foreach(checkValueClassMember)
Original file line number Diff line number Diff line change
1
+ -- Error: tests/neg/i18274.scala:1:7 -----------------------------------------------------------------------------------
2
+ 1 |object Foo extends AnyVal // error
3
+ | ^
4
+ | A module cannot extends AnyVal
Original file line number Diff line number Diff line change
1
+ object Foo extends AnyVal // error
You can’t perform that action at this time.
0 commit comments