From 1eb71f08932f0935584432f47900c5b6ee6844ba Mon Sep 17 00:00:00 2001 From: Jack Huey <31162821+jackh726@users.noreply.github.com> Date: Fri, 16 Sep 2022 17:52:04 -0400 Subject: [PATCH] Add back in normalize call --- compiler/rustc_traits/src/type_op.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/compiler/rustc_traits/src/type_op.rs b/compiler/rustc_traits/src/type_op.rs index 1a63f853211..1bb6506b367 100644 --- a/compiler/rustc_traits/src/type_op.rs +++ b/compiler/rustc_traits/src/type_op.rs @@ -76,15 +76,18 @@ struct AscribeUserTypeCx<'me, 'tcx> { impl<'me, 'tcx> AscribeUserTypeCx<'me, 'tcx> { fn normalize(&mut self, value: T) -> T + where + T: TypeFoldable<'tcx>, + { + self.normalize_with_cause(value, ObligationCause::misc(self.span, hir::CRATE_HIR_ID)) + } + + fn normalize_with_cause(&mut self, value: T, cause: ObligationCause<'tcx>) -> T where T: TypeFoldable<'tcx>, { self.infcx - .partially_normalize_associated_types_in( - ObligationCause::misc(self.span, hir::CRATE_HIR_ID), - self.param_env, - value, - ) + .partially_normalize_associated_types_in(cause, self.param_env, value) .into_value_registering_obligations(self.infcx, self.fulfill_cx) } @@ -154,6 +157,8 @@ impl<'me, 'tcx> AscribeUserTypeCx<'me, 'tcx> { hir::CRATE_HIR_ID, ObligationCauseCode::AscribeUserTypeProvePredicate(predicate_span), ); + let instantiated_predicate = + self.normalize_with_cause(instantiated_predicate, cause.clone()); self.prove_predicate(instantiated_predicate, cause); }