use crate::parser::Filter; use crate::renderer::errors::RenderError; use std::fmt::Debug; pub trait ContextElement: Walkable + Renderable + Debug {} pub trait Walkable { fn walk(&self, segment: &str) -> Result<&dyn ContextElement, RenderError>; } pub trait Renderable { fn render(&self, filters: &Vec) -> Result; }