Skip to content

Commit

Permalink
Add back in normalize call
Browse files Browse the repository at this point in the history
  • Loading branch information
jackh726 committed Sep 17, 2022
1 parent e09242d commit 1eb71f0
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions compiler/rustc_traits/src/type_op.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,18 @@ struct AscribeUserTypeCx<'me, 'tcx> {

impl<'me, 'tcx> AscribeUserTypeCx<'me, 'tcx> {
fn normalize<T>(&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<T>(&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)
}

Expand Down Expand Up @@ -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);
}

Expand Down

0 comments on commit 1eb71f0

Please sign in to comment.