X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=compiler%2Frustc_middle%2Fsrc%2Fty%2Frelate.rs;h=b6f93c9bd59e79bbe51efb25aefa106fdcea6e10;hb=46b67ab0f957fca36baf3ef1a37be593d15063ed;hp=ca60339da0d00b9d138030dcf8c444994e52eba8;hpb=080aa37629c123e0f9096de3726f66d80d635be7;p=rust.git diff --git a/compiler/rustc_middle/src/ty/relate.rs b/compiler/rustc_middle/src/ty/relate.rs index ca60339da0d..b6f93c9bd59 100644 --- a/compiler/rustc_middle/src/ty/relate.rs +++ b/compiler/rustc_middle/src/ty/relate.rs @@ -179,6 +179,12 @@ fn relate>( } else { relation.relate_with_variance(ty::Contravariant, a, b) } + }) + .enumerate() + .map(|(i, r)| match r { + Err(TypeError::Sorts(exp_found)) => Err(TypeError::ArgumentSorts(exp_found, i)), + Err(TypeError::Mutability) => Err(TypeError::ArgumentMutability(i)), + r => r, }); Ok(ty::FnSig { inputs_and_output: tcx.mk_type_list(inputs_and_output)?,