Rollup merge of #119107 - lcnr:uwuwu, r=compiler-errors

subtype_predicate: remove unnecessary probe

There is no reason to probe here. The failure either results in an actual type error, in which cases the probe is useless, or it is used inside of evaluate, in which case we're already inside of the `fn evaluation_probe`, so it is also not necessary.
This commit is contained in:
Matthias Krüger 2023-12-20 09:46:13 +01:00 committed by GitHub
commit d6656af16a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -713,10 +713,6 @@ impl<'tcx> InferCtxtBuilder<'tcx> {
}
impl<'tcx, T> InferOk<'tcx, T> {
pub fn unit(self) -> InferOk<'tcx, ()> {
InferOk { value: (), obligations: self.obligations }
}
/// Extracts `value`, registering any obligations into `fulfill_cx`.
pub fn into_value_registering_obligations(
self,
@ -1025,15 +1021,10 @@ impl<'tcx> InferCtxt<'tcx> {
_ => {}
}
Ok(self.commit_if_ok(|_snapshot| {
let ty::SubtypePredicate { a_is_expected, a, b } =
self.instantiate_binder_with_placeholders(predicate);
let ty::SubtypePredicate { a_is_expected, a, b } =
self.instantiate_binder_with_placeholders(predicate);
let ok =
self.at(cause, param_env).sub_exp(DefineOpaqueTypes::No, a_is_expected, a, b)?;
Ok(ok.unit())
}))
Ok(self.at(cause, param_env).sub_exp(DefineOpaqueTypes::No, a_is_expected, a, b))
}
pub fn region_outlives_predicate(