diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-04-13 21:58:36 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-13 21:58:36 +0200 |
| commit | 232eb698edecb9bc7d5f2bcb9305fdd1291ff63f (patch) | |
| tree | 4c4ab8c03e108564ef44f8b5e638d3d2e63a7be2 /compiler/rustc_trait_selection/src | |
| parent | d146211c64de2e2baed7b0347a1f35c278713e31 (diff) | |
| parent | 1178c49a1bc76c7ca242cede37855cb5468b290c (diff) | |
| download | rust-232eb698edecb9bc7d5f2bcb9305fdd1291ff63f.tar.gz rust-232eb698edecb9bc7d5f2bcb9305fdd1291ff63f.zip | |
Rollup merge of #110193 - compiler-errors:body-owner-issue, r=WaffleLapkin
Check for body owner fallibly in error reporting Sometimes the "body id" we use for an obligation cause is not actually a body owner, like when we're doing WF checking on items. Fixes #110157
Diffstat (limited to 'compiler/rustc_trait_selection/src')
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs index 210083fc4eb..0ef6579664a 100644 --- a/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs +++ b/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs @@ -2396,8 +2396,8 @@ impl<'tcx> InferCtxtPrivExt<'tcx> for TypeErrCtxt<'_, 'tcx> { } if let Some(ty::subst::GenericArgKind::Type(_)) = subst.map(|subst| subst.unpack()) + && let Some(body_id) = self.tcx.hir().maybe_body_owned_by(obligation.cause.body_id) { - let body_id = self.tcx.hir().body_owned_by(obligation.cause.body_id); let mut expr_finder = FindExprBySpan::new(span); expr_finder.visit_expr(&self.tcx.hir().body(body_id).value); |
