pub trait InferCtxtEvalExt<'tcx> {
    // Required method
    fn evaluate_root_goal(
        &self,
        goal: Goal<'tcx, Predicate<'tcx>>
    ) -> Result<(bool, Certainty, Vec<Goal<'tcx, Predicate<'tcx>>>), NoSolution>;
}

Required Methods§

source

fn evaluate_root_goal( &self, goal: Goal<'tcx, Predicate<'tcx>> ) -> Result<(bool, Certainty, Vec<Goal<'tcx, Predicate<'tcx>>>), NoSolution>

Evaluates a goal from outside of the trait solver.

Using this while inside of the solver is wrong as it uses a new search graph which would break cycle detection.

Implementors§

source§

impl<'tcx> InferCtxtEvalExt<'tcx> for InferCtxt<'tcx>