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
AST: Assert if ASTContext::getOpenedArchetypeSignature() is called with an interface type
For a class-constrained existential type 'P & C', the opened existential signature
is <Self where Self : P, Self : C>.
If the class type is generic, like 'P & C<T>', then this also works if T is an
archetype, because we get <Self where Self : P, Self : C<T>> and 'T' is an
archetype from the outer generic environment. However if T is an interface type,
we end up building an invalid signature because the opened existential
signature does not have the generic parameter for T.
Instead of crashing deeper in the Requirement Machine, guard against this case
with an assert in getOpenedArchetypeSignature().
0 commit comments