Skip to main content

standard_diff_stub

Function standard_diff_stub 

Source
pub fn standard_diff_stub(
    cx: &Cx,
    left: &LanguageProfile,
    right: &LanguageProfile,
) -> Result<ProfileDiff>
Expand description

Diff left against right, gated on standard_diff_capability.

Compares reader, lowering, eval-policy, organs, numeric tower, capabilities, unsupported forms, and conformance tests, returning a ProfileDiff.

ยงExamples

use std::sync::Arc;

use sim_kernel::{Cx, DefaultFactory, NoopEvalPolicy, Symbol};
use sim_lib_standard_core::{LanguageProfile, standard_diff_capability, standard_diff_stub};

let mut cx = Cx::new(Arc::new(NoopEvalPolicy), Arc::new(DefaultFactory));
cx.grant(standard_diff_capability());

let left = LanguageProfile::new(Symbol::qualified("lang", "a/v1"))
    .with_reader(Symbol::qualified("codec", "lisp"));
let right = LanguageProfile::new(Symbol::qualified("lang", "b/v1"))
    .with_reader(Symbol::qualified("codec", "json"));

assert!(standard_diff_stub(&cx, &left, &left).unwrap().is_same());
assert!(!standard_diff_stub(&cx, &left, &right).unwrap().is_same());