From 05b56e83a9ff5663231e9a5ced3a31e634cb8532 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sat, 9 May 2020 14:22:36 -0400 Subject: [PATCH] Finished creating WalkError. --- src/renderer/renderer.rs | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/src/renderer/renderer.rs b/src/renderer/renderer.rs index 0ba309b..ca46c1e 100644 --- a/src/renderer/renderer.rs +++ b/src/renderer/renderer.rs @@ -291,52 +291,43 @@ mod tests { } impl Walkable for HashMap<&str, I> { - fn walk(&self, segment: &str) -> Result<&dyn ContextElement, RenderError> { - let child = self.get(segment).ok_or(RenderError::CantWalk { - segment: segment.to_string(), - elem: self, - })?; + fn walk(&self, segment: &str) -> Result<&dyn ContextElement, WalkError> { + let child = self.get(segment).ok_or(WalkError::CantWalk)?; Ok(child) } } impl Walkable for &str { - fn walk(&self, segment: &str) -> Result<&dyn ContextElement, RenderError> { - Err(RenderError::CantWalk { - segment: segment.to_string(), - elem: self, - }) + fn walk(&self, segment: &str) -> Result<&dyn ContextElement, WalkError> { + Err(WalkError::CantWalk) } } impl Walkable for u32 { - fn walk(&self, segment: &str) -> Result<&dyn ContextElement, RenderError> { - Err(RenderError::CantWalk { - segment: segment.to_string(), - elem: self, - }) + fn walk(&self, segment: &str) -> Result<&dyn ContextElement, WalkError> { + Err(WalkError::CantWalk) } } impl Loopable for &str { - fn get_loop_elements(&self) -> Result, RenderError> { + fn get_loop_elements(&self) -> Vec<&dyn ContextElement> { if self.is_empty() { - Ok(Vec::new()) + Vec::new() } else { - Ok(vec![self]) + vec![self] } } } impl Loopable for u32 { - fn get_loop_elements(&self) -> Result, RenderError> { - Ok(vec![self]) + fn get_loop_elements(&self) -> Vec<&dyn ContextElement> { + vec![self] } } impl Loopable for HashMap<&str, I> { - fn get_loop_elements(&self) -> Result, RenderError> { - Ok(vec![self]) + fn get_loop_elements(&self) -> Vec<&dyn ContextElement> { + vec![self] } }