1
Fork 0

account for self type when looking for source of unsolved ty var

This commit is contained in:
León Orell Valerian Liehr 2023-04-05 06:33:52 +02:00
parent 480068c235
commit b904ce94a2
No known key found for this signature in database
GPG key ID: D17A07215F68E713
5 changed files with 52 additions and 5 deletions

View file

@ -1191,11 +1191,14 @@ impl<'a, 'tcx> Visitor<'tcx> for FindInferSourceVisitor<'a, 'tcx> {
have_turbofish,
} = args;
let generics = tcx.generics_of(generics_def_id);
if let Some(argument_index) = generics
if let Some(mut argument_index) = generics
.own_substs(substs)
.iter()
.position(|&arg| self.generic_arg_contains_target(arg))
{
if generics.parent.is_none() && generics.has_self {
argument_index += 1;
}
let substs = self.infcx.resolve_vars_if_possible(substs);
let generic_args = &generics.own_substs_no_defaults(tcx, substs)
[generics.own_counts().lifetimes..];