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 @@ -3165,7 +3165,7 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
3165
3165
.withType(dummy.termRef)
3166
3166
if (! cls.isOneOf(AbstractOrTrait ) && ! ctx.isAfterTyper)
3167
3167
checkRealizableBounds(cls, cdef.sourcePos.withSpan(cdef.nameSpan))
3168
- if cls.isEnum || firstParentTpe.classSymbol.isEnum then
3168
+ if cls.isEnum || ! cls.isRefinementClass && firstParentTpe.classSymbol.isEnum then
3169
3169
checkEnum(cdef, cls, firstParent)
3170
3170
val cdef1 = assignType(cpy.TypeDef (cdef)(name, impl1), cls)
3171
3171
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