File tree 2 files changed +13
-1
lines changed
compiler/src/dotty/tools/dotc/typer
2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -3166,7 +3166,7 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
3166
3166
.withType(dummy.termRef)
3167
3167
if (!cls.isOneOf(AbstractOrTrait) && !ctx.isAfterTyper)
3168
3168
checkRealizableBounds(cls, cdef.sourcePos.withSpan(cdef.nameSpan))
3169
- if cls.isEnum || firstParentTpe.classSymbol.isEnum then
3169
+ if cls.isEnum || !cls.isRefinementClass && firstParentTpe.classSymbol.isEnum then
3170
3170
checkEnum(cdef, cls, firstParent)
3171
3171
val cdef1 = assignType(cpy.TypeDef(cdef)(name, impl1), cls)
3172
3172
Original file line number Diff line number Diff line change
1
+ enum Enum:
2
+ case EC(val x: Int)
3
+
4
+ val a: Enum.EC { val x: 1 } = Enum.EC(1).asInstanceOf[Enum.EC { val x: 1 }]
5
+
6
+ import scala.language.experimental.modularity
7
+
8
+ enum EnumT:
9
+ case EC(tracked val x: Int)
10
+
11
+ val b: EnumT.EC { val x: 1 } = EnumT.EC(1)
12
+
You can’t perform that action at this time.
0 commit comments