Skip to content

Commit 591477b

Browse files
Backport "Fix outerSelect in Inliner" to LTS (#21094)
Backports #20313 to the LTS branch. PR submitted by the release tooling. [skip ci]
2 parents 02d48c1 + 319d2c6 commit 591477b

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

compiler/src/dotty/tools/dotc/inlines/Inliner.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ class Inliner(val call: tpd.Tree)(using Context):
315315
case Super(qual, _) => qual
316316
case pre => pre
317317
val preLevel = classNestingLevel(inlinedMethod.owner)
318-
if preLevel > level then outerSelect(pre, inlinedMethod.owner, preLevel - level, selfSym.info)
318+
if preLevel > level then outerSelect(pre, inlinedMethod.owner.enclosingClass, preLevel - level, selfSym.info)
319319
else pre
320320

321321
val binding = accountForOpaques(

tests/pos/i20300.scala

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
trait T:
2+
3+
def v() = ()
4+
5+
trait F:
6+
def f(): Unit =
7+
inline def op(): Unit = v()
8+
op()

0 commit comments

Comments
 (0)