Closed
Description
// User.scala
package foo
trait User {
type Entry <: ChildContainer#Entry // error
}
// Containers.scala
package foo
trait ParentContainer {
sealed trait Entry
}
class ChildContainer extends ParentContainer {
trait LazyEntry extends Entry
}
Steps to Reproduce
- Compile both sources using scalac
- Compile "User.scala" using dotty
Notes
I tried a bunch of different variations to see what is the permutation that would trigger the unpickling exception. If I leave out sealed
in ParentContainer#Entry
, it compiles fine. I can use any combination of class/trait
- but it seems to me that it is the sealed
portion that kills the unpickler.