pub trait Oracle: Send + Sync {
// Required methods
fn execute_source(&self, code: &str, input: &str) -> Result<ExecutionResult>;
fn execute_target(&self, code: &str, input: &str) -> Result<ExecutionResult>;
fn compare(
&self,
source: &ExecutionResult,
target: &ExecutionResult,
) -> Verdict;
// Provided method
fn timeout_ms(&self) -> u64 { ... }
}Expand description
Verification oracle trait
Standardized oracle interface enables cross-transpiler comparison.
Required Methods§
Sourcefn execute_source(&self, code: &str, input: &str) -> Result<ExecutionResult>
fn execute_source(&self, code: &str, input: &str) -> Result<ExecutionResult>
Sourcefn execute_target(&self, code: &str, input: &str) -> Result<ExecutionResult>
fn execute_target(&self, code: &str, input: &str) -> Result<ExecutionResult>
Sourcefn compare(&self, source: &ExecutionResult, target: &ExecutionResult) -> Verdict
fn compare(&self, source: &ExecutionResult, target: &ExecutionResult) -> Verdict
Compare source and target execution results
Provided Methods§
Sourcefn timeout_ms(&self) -> u64
fn timeout_ms(&self) -> u64
Get the timeout for execution in milliseconds