Add checks & fallback branch

This commit is contained in:
Katherine Philip 2022-07-13 10:25:58 -07:00
parent 82ab171673
commit b33955a0ef

View File

@ -2157,6 +2157,9 @@ fn maybe_report_ambiguity(
}
ty::PredicateKind::ConstEvaluatable(data) => {
if predicate.references_error() || self.is_tainted_by_errors() {
return;
}
let subst = data.substs.iter().find(|g| g.has_infer_types_or_consts());
if let Some(subst) = subst {
let mut err = self.emit_inference_failure_err(
@ -2169,7 +2172,16 @@ fn maybe_report_ambiguity(
err.note(&format!("cannot satisfy `{}`", predicate));
err
} else {
todo!();
// If we can't find a substitution, just print a generic error
let mut err = struct_span_err!(
self.tcx.sess,
span,
E0284,
"type annotations needed: cannot satisfy `{}`",
predicate,
);
err.span_label(span, &format!("cannot satisfy `{}`", predicate));
err
}
}
_ => {