@@ -19,6 +19,7 @@ import printing.Formatting.hl
1919import config .Printers
2020
2121import scala .annotation .internal .sharable
22+ import scala .annotation .threadUnsafe
2223
2324object desugar {
2425 import untpd ._
@@ -487,6 +488,7 @@ object desugar {
487488 def isNonEnumCase = ! isEnumCase && (isCaseClass || isCaseObject)
488489 val isValueClass = parents.nonEmpty && isAnyVal(parents.head)
489490 // This is not watertight, but `extends AnyVal` will be replaced by `inline` later.
491+ val caseClassInScala2StdLib = isCaseClass && ctx.settings.Yscala2Stdlib .value
490492
491493 val originalTparams = constr1.leadingTypeParams
492494 val originalVparamss = asTermOnly(constr1.trailingParamss)
@@ -662,9 +664,7 @@ object desugar {
662664 // new C[...](p1, ..., pN)(moreParams)
663665 val (caseClassMeths, enumScaffolding) = {
664666 def syntheticProperty (name : TermName , tpt : Tree , rhs : Tree ) =
665- val mods =
666- if ctx.settings.Yscala2Stdlib .value then synthetic | Inline
667- else synthetic
667+ val mods = if caseClassInScala2StdLib then synthetic | Inline else synthetic
668668 DefDef (name, Nil , tpt, rhs).withMods(mods)
669669
670670 def productElemMeths =
@@ -782,7 +782,7 @@ object desugar {
782782 val unapplyParam = makeSyntheticParameter(tpt = classTypeRef)
783783 val unapplyRHS =
784784 if (arity == 0 ) Literal (Constant (true ))
785- else if ctx.settings. Yscala2Stdlib .value then scala2LibCompatUnapplyRhs(unapplyParam.name)
785+ else if caseClassInScala2StdLib then scala2LibCompatUnapplyRhs(unapplyParam.name)
786786 else Ident (unapplyParam.name)
787787 val unapplyResTp = if (arity == 0 ) Literal (Constant (true )) else TypeTree ()
788788
0 commit comments