Change a DefineOpaqueTypes::No
to Yes
in diagnostics code
This commit is contained in:
parent
9889a6f5d3
commit
56cd30104a
@ -1357,6 +1357,8 @@ impl<'a, 'tcx> ProbeContext<'a, 'tcx> {
|
||||
traits::SelectionContext::new(self).select(&obligation)
|
||||
}
|
||||
|
||||
/// Used for ambiguous method call error reporting. Uses probing that throws away the result internally,
|
||||
/// so do not use to make a decision that may lead to a successful compilation.
|
||||
fn candidate_source(&self, candidate: &Candidate<'tcx>, self_ty: Ty<'tcx>) -> CandidateSource {
|
||||
match candidate.kind {
|
||||
InherentImplCandidate(_) => {
|
||||
@ -1370,8 +1372,10 @@ impl<'a, 'tcx> ProbeContext<'a, 'tcx> {
|
||||
self.instantiate_binder_with_fresh_vars(self.span, infer::FnCall, trait_ref);
|
||||
let (xform_self_ty, _) =
|
||||
self.xform_self_ty(candidate.item, trait_ref.self_ty(), trait_ref.args);
|
||||
// Guide the trait selection to show impls that have methods whose type matches
|
||||
// up with the `self` parameter of the method.
|
||||
let _ = self.at(&ObligationCause::dummy(), self.param_env).sup(
|
||||
DefineOpaqueTypes::No,
|
||||
DefineOpaqueTypes::Yes,
|
||||
xform_self_ty,
|
||||
self_ty,
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user