Trait rustc_middle::ty::search_graph::Delegate
source · pub trait Delegate {
type Cx: Cx;
type ProofTreeBuilder: ProofTreeBuilder<Self::Cx>;
const FIXPOINT_STEP_LIMIT: usize;
// Required methods
fn recursion_limit(cx: Self::Cx) -> usize;
fn initial_provisional_result(
cx: Self::Cx,
kind: CycleKind,
input: <Self::Cx as Cx>::Input,
) -> <Self::Cx as Cx>::Result;
fn reached_fixpoint(
cx: Self::Cx,
kind: UsageKind,
input: <Self::Cx as Cx>::Input,
provisional_result: Option<<Self::Cx as Cx>::Result>,
result: <Self::Cx as Cx>::Result,
) -> bool;
fn on_stack_overflow(
cx: Self::Cx,
inspect: &mut Self::ProofTreeBuilder,
input: <Self::Cx as Cx>::Input,
) -> <Self::Cx as Cx>::Result;
fn on_fixpoint_overflow(
cx: Self::Cx,
input: <Self::Cx as Cx>::Input,
) -> <Self::Cx as Cx>::Result;
fn step_is_coinductive(cx: Self::Cx, input: <Self::Cx as Cx>::Input) -> bool;
}
Required Associated Types§
type Cx: Cx
type ProofTreeBuilder: ProofTreeBuilder<Self::Cx>
Required Associated Constants§
const FIXPOINT_STEP_LIMIT: usize
Required Methods§
fn recursion_limit(cx: Self::Cx) -> usize
fn initial_provisional_result( cx: Self::Cx, kind: CycleKind, input: <Self::Cx as Cx>::Input, ) -> <Self::Cx as Cx>::Result
fn reached_fixpoint( cx: Self::Cx, kind: UsageKind, input: <Self::Cx as Cx>::Input, provisional_result: Option<<Self::Cx as Cx>::Result>, result: <Self::Cx as Cx>::Result, ) -> bool
fn on_stack_overflow( cx: Self::Cx, inspect: &mut Self::ProofTreeBuilder, input: <Self::Cx as Cx>::Input, ) -> <Self::Cx as Cx>::Result
fn on_fixpoint_overflow( cx: Self::Cx, input: <Self::Cx as Cx>::Input, ) -> <Self::Cx as Cx>::Result
fn step_is_coinductive(cx: Self::Cx, input: <Self::Cx as Cx>::Input) -> bool
Object Safety§
This trait is not object safe.