Closed
Description
We should not allow a private type to appear in the signature of a non-private member.
The private type is not accessible outside the scope of the member. In a "by-name" based
system for resolving types this can lead to crashes.
Example: collection.mutable.IndexedSeqView
crashes when the accessibility of the This
type
is restricted from protected[this]
to private[this]
. The crash happens in mixin when we try to refer
to This
computing the signature of filter
in AbstractTransformedX
, which is an inner subclass
of IndexedSeqView
. It can't work because This
is not visible as an inherited member of AbstractTransformedX
. To prevent crashes like these we have to be stricter in the frontend.
Metadata
Metadata
Assignees
Labels
No labels