@@ -95,7 +95,7 @@ class SyntheticMembers(thisPhase: DenotTransformer) {
9595 if (isDerivedValueClass(clazz)) clazz.paramAccessors.take(1 ) // Tail parameters can only be `erased`
9696 else clazz.caseAccessors
9797 val isEnumCase = clazz.derivesFrom(defn.EnumClass ) && clazz != defn.EnumClass
98- val isEnumValue = isEnumCase && clazz.isAnonymousClass && clazz.classParents.head.classSymbol.is(Enum )
98+ val isEnumValue = isEnumCase && clazz.isAnonymousClass && clazz.classParents.head.widen. classSymbol.is(Enum )
9999 val isNonJavaEnumValue = isEnumValue && ! clazz.derivesFrom(defn.JavaEnumClass )
100100
101101 val symbolsToSynthesize : List [Symbol ] =
@@ -302,7 +302,7 @@ class SyntheticMembers(thisPhase: DenotTransformer) {
302302 def chooseHashcode (using Context ) =
303303 if (clazz.is(ModuleClass ))
304304 Literal (Constant (clazz.name.stripModuleClassSuffix.toString.hashCode))
305- else if (accessors.exists(_.info.finalResultType.classSymbol.isPrimitiveValueClass))
305+ else if (accessors.exists(_.info.finalResultType.widen. classSymbol.isPrimitiveValueClass))
306306 caseHashCodeBody
307307 else
308308 ref(defn.ScalaRuntime__hashCode ).appliedTo(This (clazz))
@@ -576,9 +576,9 @@ class SyntheticMembers(thisPhase: DenotTransformer) {
576576 else if (impl.removeAttachment(ExtendsSingletonMirror ).isDefined)
577577 makeSingletonMirror()
578578 else if (impl.removeAttachment(ExtendsProductMirror ).isDefined)
579- makeProductMirror(monoType.typeRef.dealias.classSymbol)
579+ makeProductMirror(monoType.typeRef.dealias.widen. classSymbol)
580580 else if (impl.removeAttachment(ExtendsSumMirror ).isDefined)
581- makeSumMirror(monoType.typeRef.dealias.classSymbol)
581+ makeSumMirror(monoType.typeRef.dealias.widen. classSymbol)
582582
583583 cpy.Template (impl)(parents = newParents, body = newBody)
584584 }
0 commit comments