Skip to content

Commit 087b47e

Browse files
committed
Fix memoized field type
1 parent a3854cb commit 087b47e

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

compiler/src/dotty/tools/backend/jvm/BCodeHelpers.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,13 @@ trait BCodeHelpers extends BCodeIdiomatic {
397397
atPhase(erasurePhase) {
398398
val memberTpe =
399399
if (sym.is(Method)) sym.denot.info
400-
else owner.denot.thisType.memberInfo(sym)
400+
else
401+
val sym0 =
402+
if sym.isField && sym.denot.validFor.phaseId > erasurePhase.id then
403+
sym.getter.orElse(sym)
404+
else
405+
sym
406+
owner.denot.thisType.memberInfo(sym0)
401407
getGenericSignatureHelper(sym, owner, memberTpe).orNull
402408
}
403409
}

tests/run/17069.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
class Foo:
2+
val generic: List[String] = ???

0 commit comments

Comments
 (0)