File tree 1 file changed +2
-2
lines changed
compiler/src/dotty/tools/dotc/typer
1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -680,7 +680,7 @@ trait Checking {
680
680
case tp : ConstantType if exprPurity(tree) >= purityLevel => // ok
681
681
case tp =>
682
682
def isCaseClassApply (sym : Symbol ): Boolean =
683
- sym.name == nme.apply && sym.owner.is(Module ) && sym.owner.companionClass.is(Case )
683
+ sym.name == nme.apply && sym.is( Synthetic ) && sym. owner.is(Module ) && sym.owner.companionClass.is(Case )
684
684
def isCaseClassNew (sym : Symbol ): Boolean =
685
685
sym.isPrimaryConstructor && sym.owner.is(Case ) && sym.owner.isStatic
686
686
def isCaseObject (sym : Symbol ): Boolean = {
@@ -691,7 +691,7 @@ trait Checking {
691
691
ctx.erasedTypes ||
692
692
ctx.inInlineMethod ||
693
693
(tree.symbol.isStatic && isCaseObject(tree.symbol) || isCaseClassApply(tree.symbol)) ||
694
- (tree.symbol.owner.isStatic && isCaseClassNew(tree.symbol) )
694
+ isCaseClassNew(tree.symbol)
695
695
if (! allow) ctx.error(em " $what must be a known value " , tree.pos)
696
696
else {
697
697
def checkArgs (tree : Tree ): Unit = tree match {
You can’t perform that action at this time.
0 commit comments