MCPcopy Create free account
hub / github.com/argumentcomputer/ix / compare_kindc_alpha_collapse

Function compare_kindc_alpha_collapse

crates/kernel/src/canonical_check.rs:1015–1036  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1013
1014 let resolve = move |id: &KId<Anon>| -> Option<KConst<Anon>> {
1015 if id.addr == mk_addr("ctor1") {
1016 Some(ctor1.clone())
1017 } else if id.addr == mk_addr("ctor2") {
1018 Some(ctor2.clone())
1019 } else {
1020 None
1021 }
1022 };
1023 let ctx = KMutCtx::default();
1024 let so = compare_kconst(&ind_a, &ind_b, &ctx, &resolve).unwrap();
1025 assert_eq!(so.ordering, Ordering::Equal);
1026 }
1027
1028 #[test]
1029 fn compare_kindc_orders_by_params() {
1030 let resolve = move |_: &KId<Anon>| -> Option<KConst<Anon>> { None };
1031 let ctx = KMutCtx::default();
1032 let (_, a) = mk_indc("A", 1, 0, vec![], sort0()); // 1 param
1033 let (_, b) = mk_indc("B", 2, 0, vec![], sort0()); // 2 params
1034 assert_eq!(
1035 compare_kconst(&a, &b, &ctx, &resolve).unwrap().ordering,
1036 Ordering::Less
1037 );
1038 }
1039

Callers

nothing calls this directly

Calls 7

mk_ctorFunction · 0.85
compare_kconstFunction · 0.85
mk_idFunction · 0.70
sort0Function · 0.70
mk_indcFunction · 0.70
mk_addrFunction · 0.70
cloneMethod · 0.45

Tested by

no test coverage detected