Skip to content

Commit

Permalink
Merge pull request #12873 from dotty-staging/backport-unpickle-param-…
Browse files Browse the repository at this point in the history
…cycle

[backport] TreeUnpickler: fix cycle involving param accessor
  • Loading branch information
bishabosha authored Jun 21, 2021
2 parents c45fce3 + 40e437f commit 0c8bb6c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
7 changes: 6 additions & 1 deletion compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala
Original file line number Diff line number Diff line change
Expand Up @@ -881,7 +881,12 @@ class TreeUnpickler(reader: TastyReader,
}
goto(end)
setSpan(start, tree)
if (!sym.isType) // Only terms might have leaky aliases, see the documentation of `checkNoPrivateLeaks`

// Dealias any non-accessible type alias in the type of `sym`. This can be
// skipped for types (see `checkNoPrivateLeaks` for why) as well as for
// param accessors since they can't refer to an inaccesible type member of
// the class.
if !sym.isType && !sym.is(ParamAccessor) then
sym.info = ta.avoidPrivateLeaks(sym)

if (ctx.settings.YreadComments.value) {
Expand Down
2 changes: 2 additions & 0 deletions tests/pos/i12834.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
class A(val ref: Option[B])
class B extends A(None)

0 comments on commit 0c8bb6c

Please sign in to comment.