Skip to content

Commit 738b24a

Browse files
committed
Make export aliases of stable values stable
1 parent e5516bf commit 738b24a

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

compiler/src/dotty/tools/dotc/typer/Namer.scala

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -949,6 +949,7 @@ class Namer { typer: Typer =>
949949
sym.isAccessibleFrom(path.tpe) &&
950950
!sym.isConstructor &&
951951
!sym.is(ModuleClass) &&
952+
!sym.is(Bridge) &&
952953
!cls.derivesFrom(sym.owner)
953954

954955
/** Add a forwarder with name `alias` or its type name equivalent to `mbr`,
@@ -978,12 +979,14 @@ class Namer { typer: Typer =>
978979
Final,
979980
fwdInfo(path.tpe.select(mbr.symbol), mbr.info),
980981
coord = span)
981-
else
982+
else {
983+
val maybeStable = if (mbr.symbol.isStableMember) StableRealizable else EmptyFlags
982984
ctx.newSymbol(
983985
cls, alias,
984-
Method | Final | mbr.symbol.flags & ImplicitOrImplied,
986+
Method | Final | maybeStable | mbr.symbol.flags & ImplicitOrImplied,
985987
mbr.info.ensureMethodic,
986988
coord = span)
989+
}
987990
val forwarderDef =
988991
if (forwarder.isType) tpd.TypeDef(forwarder.asType)
989992
else {
@@ -1168,8 +1171,6 @@ class Namer { typer: Typer =>
11681171

11691172
tempInfo.finalize(denot, parentTypes, finalSelfInfo)
11701173

1171-
1172-
11731174
Checking.checkWellFormed(cls)
11741175
if (isDerivedValueClass(cls)) cls.setFlag(Final)
11751176
cls.info = avoidPrivateLeaks(cls, cls.sourcePos)

0 commit comments

Comments
 (0)