diff --git a/src/bin.rs b/src/bin.rs index 3f669d4..661670d 100644 --- a/src/bin.rs +++ b/src/bin.rs @@ -140,16 +140,3 @@ impl Loopable for serde_json::Value { } } } - -impl CompareContextElement for serde_json::Value { - fn to_any(&self) -> &dyn Any { - self - } - - fn equals(&self, other: &dyn ContextElement) -> bool { - other - .to_any() - .downcast_ref::() - .map_or(false, |a| self == a) - } -} diff --git a/src/renderer/context_element.rs b/src/renderer/context_element.rs index a9ab8bd..29ca430 100644 --- a/src/renderer/context_element.rs +++ b/src/renderer/context_element.rs @@ -46,6 +46,19 @@ impl CloneIntoBoxedContextElement for C { } } +impl CompareContextElement for C { + fn to_any(&self) -> &dyn Any { + self + } + + fn equals(&self, other: &dyn ContextElement) -> bool { + other + .to_any() + .downcast_ref::() + .map_or(false, |a| self == a) + } +} + impl<'a, 'b> PartialEq<&'b dyn ContextElement> for &'a dyn ContextElement { fn eq(&self, other: &&'b dyn ContextElement) -> bool { self.equals(*other) diff --git a/src/renderer/parameters_context.rs b/src/renderer/parameters_context.rs index ca421bc..e9dd02c 100644 --- a/src/renderer/parameters_context.rs +++ b/src/renderer/parameters_context.rs @@ -142,16 +142,3 @@ impl Walkable for String { Err(WalkError::CantWalk) } } - -impl CompareContextElement for String { - fn to_any(&self) -> &dyn Any { - self - } - - fn equals(&self, other: &dyn ContextElement) -> bool { - other - .to_any() - .downcast_ref::() - .map_or(false, |a| self == a) - } -}