pub trait FullRecomputeOracle<G> {
type CanonicalInputs;
type ExpectedState: Clone + Debug + PartialEq;
// Required methods
fn recompute(inputs: &Self::CanonicalInputs) -> Self::ExpectedState;
fn observe_incremental(
graph: &G,
inputs: &Self::CanonicalInputs,
) -> Self::ExpectedState;
}Expand description
Application-owned full-recompute oracle for a Trellis graph wrapper.
Required Associated Types§
Sourcetype CanonicalInputs
type CanonicalInputs
Canonical application inputs used by full recompute.
Sourcetype ExpectedState: Clone + Debug + PartialEq
type ExpectedState: Clone + Debug + PartialEq
Comparable state observed from full recompute and incremental graph state.
Required Methods§
Sourcefn recompute(inputs: &Self::CanonicalInputs) -> Self::ExpectedState
fn recompute(inputs: &Self::CanonicalInputs) -> Self::ExpectedState
Computes expected state from canonical application truth.
Sourcefn observe_incremental(
graph: &G,
inputs: &Self::CanonicalInputs,
) -> Self::ExpectedState
fn observe_incremental( graph: &G, inputs: &Self::CanonicalInputs, ) -> Self::ExpectedState
Observes the equivalent state from the incremental graph or wrapper.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".