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
After the previous commit a few tests started failing due to TyperStates
attempting to instantiate a type variable with an owningState pointing
to a different TyperState. The issue is that after
`mergeConstraintWith`, multiple TyperState can own the same type
variable. This is fine as long as only one of them is committable since
the other ones won't attempt to instantiate any type variable, but
that's not necessarily the case in FunProto#typedArgs where we merge the
constraints of the FunProto context into the passed context.
This commit fixes this by instantiating any type variable in the
constraints of the FunProto which do not exist in the passed TyperState
before calling `mergeConstraintWith`. This ensures that merging can be
done without changing the ownership of any type variable, thus keeping
both TyperState safely committable.
0 commit comments