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
Fallback to alts before skipParamClause if empty in resolveCandidates
`resolvedMapped` applies `resolveOverloaded(resolve)`, _not_ `resolve` directly.
This benefits from the insertion of implicit parameters, apply methods, etc.
But there are still some adaptations, e.g. auto-tupling, that are not performed
at this stage. In those cases, it is possible that we find that no alternatives
are applicable. So we fallback to the `alts` we had before considering the next
parameter clause. Resolution will succeed (only) if narrowMostSpecific finds an
unambiguous alternative by considering (only) the prior argument lists, after
which adaptation can be performed.
See tests/run/tupled-function-extension-method.scala for an example.
We only do this for resolveCandidates and not resolveOverloaded2, because
in the latter causes some cases where there are indeed no good alternatives
to be reported as ambiguous instead, which is unideal for error messages.
0 commit comments