Skip to content

Commit

Permalink
Merge pull request scala#12844 from dotty-staging/unpickle-param-cycle
Browse files Browse the repository at this point in the history
TreeUnpickler: fix cycle involving param accessor
  • Loading branch information
bishabosha authored Jun 18, 2021
2 parents b48b2c1 + 712d53b commit f003711
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 @@ -885,7 +885,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 f003711

Please sign in to comment.