Skip to content

Commit 90d6606

Browse files
committed
Alt fix for #13701
1 parent 8c3e7a2 commit 90d6606

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

compiler/src/dotty/tools/dotc/core/SymDenotations.scala

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,11 @@ object SymDenotations {
9393
if (myFlags.is(Trait)) NoInitsInterface & bodyFlags // no parents are initialized from a trait
9494
else NoInits & bodyFlags & parentFlags)
9595

96-
private def isCurrent(fs: FlagSet) =
97-
fs <= (
98-
if (myInfo.isInstanceOf[SymbolLoader]) FromStartFlags
99-
else AfterLoadFlags)
96+
def isCurrent(fs: FlagSet)(using Context): Boolean =
97+
def knownFlags(info: Type): FlagSet = info match
98+
case _: SymbolLoader | _: ModuleCompleter => FromStartFlags
99+
case _ => AfterLoadFlags
100+
!myInfo.isInstanceOf[LazyType] || fs <= knownFlags(myInfo)
100101

101102
final def relevantFlagsFor(fs: FlagSet)(using Context) =
102103
if (isCurrent(fs)) myFlags else flags

tests/neg/i13701.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@main def Test() = String // error
2+

0 commit comments

Comments
 (0)