You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In `firstTry` we've long had the following special-case:
if (sym1.is(ModuleClass) && sym2.is(ModuleVal))
// For convenience we want X$ <:< X.type
// This is safe because X$ self-type is X.type
sym1 = sym1.companionModule
It turns out that this isn't enough nowadays because `atoms` on a module
class returned `Atoms.Unknown` so `X$ | Y$ <:< X.type | Y.type` returned
false. This commit fixes this by special-casing `atoms` for module
classes. Alternatively, we could drop all special-casing of module
classes and module vals in the subtype checker, but that would require
making sure that we never widen module vals anywhere which seems tricky.
0 commit comments