diff --git a/src/flow/comparator.rs b/src/flow/comparator.rs index 493e9f8..c7c2a6c 100644 --- a/src/flow/comparator.rs +++ b/src/flow/comparator.rs @@ -33,3 +33,16 @@ impl Comparator for DefaultComparator { } } } + +pub struct RcComparator(C); + +mod rc_comparator_impl { + use super::*; + use std::rc::Rc; + + impl> Comparator> for RcComparator { + fn pick_smaller(&self, kl: &Rc, kr: &Rc) -> Comparison { + self.0.pick_smaller(kl, kr) + } + } +}