Skip to content

Commit 30e5f32

Browse files
committed
Avoid mutation in checkWellFormed
It's done anyway later in FirstTransform.
1 parent 28193a6 commit 30e5f32

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/dotty/tools/dotc/typer/Checking.scala

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,10 +258,11 @@ object Checking {
258258
fail(i"`abstract override' modifier only allowed for members of traits")
259259
if (sym.is(Trait) && sym.is(Final))
260260
fail(i"$sym may not be `final'")
261-
if (sym.hasAnnotation(defn.NativeAnnot))
262-
if (sym.is(Deferred)) sym.resetFlag(Deferred)
263-
else fail(i"`@native' members may not have implementation")
264-
if (sym.is(Deferred, butNot = Param) && !sym.isSelfSym) {
261+
if (sym.hasAnnotation(defn.NativeAnnot)) {
262+
if (!sym.is(Deferred))
263+
fail(i"`@native' members may not have implementation")
264+
}
265+
else if (sym.is(Deferred, butNot = Param) && !sym.isSelfSym) {
265266
if (!sym.owner.isClass || sym.owner.is(Module) || sym.owner.isAnonymousClass)
266267
fail(i"only classes can have declared but undefined members$varNote")
267268
checkWithDeferred(Private)

0 commit comments

Comments
 (0)