Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/next_solver/infer/errors.rs')
| -rw-r--r-- | crates/hir-ty/src/next_solver/infer/errors.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/crates/hir-ty/src/next_solver/infer/errors.rs b/crates/hir-ty/src/next_solver/infer/errors.rs index 3c2119b6fa..7d3f111f66 100644 --- a/crates/hir-ty/src/next_solver/infer/errors.rs +++ b/crates/hir-ty/src/next_solver/infer/errors.rs @@ -6,7 +6,7 @@ use rustc_type_ir::{ AliasRelationDirection, AliasTermKind, PredicatePolarity, error::ExpectedFound, inherent::IntoKind as _, - solve::{CandidateSource, Certainty, GoalSource, MaybeCause, NoSolution}, + solve::{CandidateSource, Certainty, GoalSource, MaybeCause, MaybeInfo, NoSolution}, }; use tracing::{instrument, trace}; @@ -147,7 +147,7 @@ fn fulfillment_error_for_no_solution<'db>( GeneralConstId::StaticId(statik) => db.value_ty(statik.into()).unwrap(), GeneralConstId::AnonConstId(konst) => konst.loc(db).ty.get(), }; - ct_ty.instantiate(interner, uv.args) + ct_ty.instantiate(interner, uv.args).skip_norm_wip() } ConstKind::Param(param_ct) => param_ct.find_const_ty_from_env(obligation.param_env), ConstKind::Value(cv) => cv.ty, @@ -203,16 +203,16 @@ fn fulfillment_error_for_stalled<'db>( None, ) { Ok(GoalEvaluation { - certainty: Certainty::Maybe { cause: MaybeCause::Ambiguity, .. }, + certainty: Certainty::Maybe(MaybeInfo { cause: MaybeCause::Ambiguity, .. }), .. }) => (FulfillmentErrorCode::Ambiguity { overflow: None }, true), Ok(GoalEvaluation { certainty: - Certainty::Maybe { + Certainty::Maybe(MaybeInfo { cause: MaybeCause::Overflow { suggest_increasing_limit, keep_constraints: _ }, .. - }, + }), .. }) => ( FulfillmentErrorCode::Ambiguity { overflow: Some(suggest_increasing_limit) }, @@ -495,8 +495,8 @@ impl<'db> BestObligation<'db> { self.detect_error_in_self_ty_normalization(goal, pred.self_ty())?; } Some(PredicateKind::NormalizesTo(pred)) - if let AliasTermKind::ProjectionTy | AliasTermKind::ProjectionConst = - pred.alias.kind(interner) => + if let AliasTermKind::ProjectionTy { .. } + | AliasTermKind::ProjectionConst { .. } = pred.alias.kind(interner) => { self.detect_error_in_self_ty_normalization(goal, pred.alias.self_ty())?; self.detect_non_well_formed_assoc_item(goal, pred.alias)?; @@ -520,8 +520,8 @@ impl<'db> ProofTreeVisitor<'db> for BestObligation<'db> { let interner = goal.infcx().interner; // Skip goals that aren't the *reason* for our goal's failure. match (self.consider_ambiguities, goal.result()) { - (true, Ok(Certainty::Maybe { cause: MaybeCause::Ambiguity, .. })) | (false, Err(_)) => { - } + (true, Ok(Certainty::Maybe(MaybeInfo { cause: MaybeCause::Ambiguity, .. }))) + | (false, Err(_)) => {} _ => return ControlFlow::Continue(()), } @@ -559,7 +559,7 @@ impl<'db> ProofTreeVisitor<'db> for BestObligation<'db> { PredicateKind::NormalizesTo(normalizes_to) if matches!( normalizes_to.alias.kind(interner), - AliasTermKind::ProjectionTy | AliasTermKind::ProjectionConst + AliasTermKind::ProjectionTy { .. } | AliasTermKind::ProjectionConst { .. } ) => { ChildMode::Trait(pred.kind().rebind(TraitPredicate { |