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
Refine implicit search fallbacks for better ClassTag handling (#23532)
1. Don't use FullyDefinedType when synthesizing ClassTags
It's not necessary to instantiate all type variables, deeply, since we
are only interested in the outermost shape. Also, that way we do not
instantiate to Nothing, which is something difficult to recover from.
This step is necessary to enable (2)
2. Constrain by deepening expected result types in more implicit
searches
We used to look at the deep expected type when the result of an implicit
was ambiguous.
This could add more constraints which could resolve the ambiguity.
We now do the same also if the search type has uninstantiated type
variables. In that
case, consulting more context might further constrain type variables,
which might in
turn enlarge the implicit scope so that a solution can be found.
Fixes#23526
0 commit comments