Skip to content

Commit 2437276

Browse files
committed
Fix #7741: Allow deferred + private for native or erased members
1 parent 9aa7991 commit 2437276

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

compiler/src/dotty/tools/dotc/transform/TreeChecker.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,11 @@ class TreeChecker extends Phase with SymTransformer {
7777
testDuplicate(sym, seenClasses, "class")
7878
}
7979

80-
val isDeferredAndPrivate = sym.is(Method) && sym.is(Deferred) && sym.is(Private)
81-
assert(!isDeferredAndPrivate, i"$sym is both Deferred and Private")
80+
val badDeferredAndPrivate =
81+
sym.is(Method) && sym.is(Deferred) && sym.is(Private)
82+
&& !sym.hasAnnotation(defn.NativeAnnot)
83+
&& !sym.is(Erased)
84+
assert(!badDeferredAndPrivate, i"$sym is both Deferred and Private")
8285

8386
checkCompanion(symd)
8487

0 commit comments

Comments
 (0)