Skip to main content

rustc_next_trait_solver/solve/project_goals/
anon_const.rs

1use rustc_type_ir::solve::QueryResultOrRerunNonErased;
2use rustc_type_ir::{self as ty, Interner};
3use tracing::instrument;
4
5use crate::delegate::SolverDelegate;
6use crate::solve::{EvalCtxt, Goal};
7
8impl<D, I> EvalCtxt<'_, D>
9where
10    D: SolverDelegate<Interner = I>,
11    I: Interner,
12{
13    x;#[instrument(level = "trace", skip(self), ret)]
14    pub(super) fn normalize_anon_const(
15        &mut self,
16        goal: Goal<I, ty::ProjectionPredicate<I>>,
17    ) -> QueryResultOrRerunNonErased<I> {
18        let uv = goal.predicate.projection_term.expect_ct();
19        self.evaluate_const_and_instantiate_projection_term(
20            goal.param_env,
21            goal.predicate.projection_term,
22            goal.predicate.term,
23            uv,
24        )
25    }
26}