Skip to main content

Validator

Trait Validator 

Source
pub trait Validator<A>: Sealed {
    type Prepared;
    type Report;

    // Required methods
    fn prepare(
        &self,
        artifact: &A,
        ctx: &ExecutionContext,
    ) -> Result<Self::Prepared, ValidationError>;
    fn validate(
        &self,
        prepared: &mut Self::Prepared,
        workspace: &mut EstimationWorkspace,
        ctx: &ExecutionContext,
    ) -> Result<Self::Report, ValidationError>;
}
Expand description

Validation / refutation algorithm over artifact type A .

validate also takes an EstimationWorkspace because effect refuters in this crate refit estimators; DESIGN’s sketch omits it.

This trait is sealed: only types in this crate may implement it.

Required Associated Types§

Source

type Prepared

Prepared artifact produced by Self::prepare.

Source

type Report

Report produced by Self::validate.

Required Methods§

Source

fn prepare( &self, artifact: &A, ctx: &ExecutionContext, ) -> Result<Self::Prepared, ValidationError>

Compile artifact into a reusable prepared form.

§Errors

Incompatible artifact or missing prerequisites.

Source

fn validate( &self, prepared: &mut Self::Prepared, workspace: &mut EstimationWorkspace, ctx: &ExecutionContext, ) -> Result<Self::Report, ValidationError>

Run the check on a prepared artifact.

§Errors

Data, estimation, or applicability failures.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a> Validator<RefutationProblem<'a>> for BootstrapRefute

Source§

impl<'a> Validator<RefutationProblem<'a>> for DataSubsetRefuter

Source§

impl<'a> Validator<RefutationProblem<'a>> for DummyOutcome

Source§

impl<'a> Validator<RefutationProblem<'a>> for EValue

Source§

impl<'a> Validator<RefutationProblem<'a>> for GraphRefuter

Source§

impl<'a> Validator<RefutationProblem<'a>> for LinearSensitivity

Source§

impl<'a> Validator<RefutationProblem<'a>> for NonparametricSensitivity

Source§

impl<'a> Validator<RefutationProblem<'a>> for OverlapRefuter

Source§

impl<'a> Validator<RefutationProblem<'a>> for OverlapRuleRefuter

Source§

impl<'a> Validator<RefutationProblem<'a>> for PartialLinearSensitivity

Source§

impl<'a> Validator<RefutationProblem<'a>> for PlaceboTreatment

Source§

impl<'a> Validator<RefutationProblem<'a>> for RandomCommonCause

Source§

impl<'a> Validator<RefutationProblem<'a>> for RieszSensitivity

Source§

impl<'a> Validator<RefutationProblem<'a>> for UnobservedCommonCause