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
Fix incorrect caching with dependent method parameters (#21699)
The added test case used to fail Ycheck:typer with the seemingly
identicals:
Found: (a: (aa : A{type B = Int}), b: a.B): CCPoly[(aa : A{type B =
Int})]
Required: (a: (aa : A{type B = Int}), b: a.B): CCPoly[(aa : A{type B =
Int})]
In fact one of the `aa` is a a TypeVar instantiated to `A {type B = Int
}`. The MethodType comparison failed the signature check because the
`a.B` where `a` is backed by a type variable had a stale signature
cached.
Fixed by changing `isProvisional` to traverse ParamRefs.
0 commit comments