Struct rustc_trait_selection::solve::inspect::ProofTreeBuilder
source · pub struct ProofTreeBuilder<'tcx> {
state: Option<Box<BuilderData<'tcx>>>,
}Fields§
§state: Option<Box<BuilderData<'tcx>>>Implementations§
source§impl<'tcx> ProofTreeBuilder<'tcx>
impl<'tcx> ProofTreeBuilder<'tcx>
fn new( state: impl Into<DebugSolver<'tcx>>, use_global_cache: UseGlobalCache ) -> ProofTreeBuilder<'tcx>
fn nested(&self, state: impl Into<DebugSolver<'tcx>>) -> Self
fn as_mut(&mut self) -> Option<&mut DebugSolver<'tcx>>
pub fn finalize(self) -> Option<GoalEvaluation<'tcx>>
pub fn use_global_cache(&self) -> bool
pub fn new_maybe_root( tcx: TyCtxt<'tcx>, generate_proof_tree: GenerateProofTree ) -> ProofTreeBuilder<'tcx>
pub fn new_root(use_global_cache: UseGlobalCache) -> ProofTreeBuilder<'tcx>
pub fn new_noop() -> ProofTreeBuilder<'tcx>
pub fn is_noop(&self) -> bool
pub fn new_goal_evaluation( &mut self, goal: Goal<'tcx, Predicate<'tcx>>, is_normalizes_to_hack: IsNormalizesToHack ) -> ProofTreeBuilder<'tcx>
pub fn canonicalized_goal(&mut self, canonical_goal: CanonicalInput<'tcx>)
pub fn cache_hit(&mut self, cache_hit: CacheHit)
pub fn returned_goals(&mut self, goals: &[Goal<'tcx, Predicate<'tcx>>])
pub fn goal_evaluation(&mut self, goal_evaluation: ProofTreeBuilder<'tcx>)
pub fn new_goal_evaluation_step( &mut self, instantiated_goal: QueryInput<'tcx, Predicate<'tcx>> ) -> ProofTreeBuilder<'tcx>
pub fn goal_evaluation_step(&mut self, goal_eval_step: ProofTreeBuilder<'tcx>)
pub fn new_goal_candidate(&mut self) -> ProofTreeBuilder<'tcx>
pub fn candidate_kind(&mut self, candidate_kind: CandidateKind<'tcx>)
pub fn goal_candidate(&mut self, candidate: ProofTreeBuilder<'tcx>)
pub fn new_evaluate_added_goals(&mut self) -> ProofTreeBuilder<'tcx>
pub fn evaluate_added_goals_loop_start(&mut self)
pub fn eval_added_goals_result(&mut self, result: Result<Certainty, NoSolution>)
pub fn added_goals_evaluation( &mut self, goals_evaluation: ProofTreeBuilder<'tcx> )
pub fn query_result(&mut self, result: QueryResult<'tcx>)
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for ProofTreeBuilder<'tcx>
impl<'tcx> !Send for ProofTreeBuilder<'tcx>
impl<'tcx> !Sync for ProofTreeBuilder<'tcx>
impl<'tcx> Unpin for ProofTreeBuilder<'tcx>
impl<'tcx> !UnwindSafe for ProofTreeBuilder<'tcx>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size:8 bytes