Skip to main content

Oracle

Trait Oracle 

Source
pub trait Oracle: Send + Sync {
    // Required methods
    fn id(&self) -> &'static str;
    fn kind(&self) -> OracleKind;
    fn applicable_to(&self, op: &OpSpec) -> bool;
    fn verify(&self, ctx: &VerifyCtx<'_>) -> Result<(), Violation>;
}
Expand description

Independent proof source for expected conformance output.

Required Methods§

Source

fn id(&self) -> &'static str

Stable oracle identifier.

Source

fn kind(&self) -> OracleKind

Oracle hierarchy kind.

Source

fn applicable_to(&self, op: &OpSpec) -> bool

Whether this oracle can verify the supplied operation.

Source

fn verify(&self, ctx: &VerifyCtx<'_>) -> Result<(), Violation>

Verify a backend output against this oracle.

Implementors§