Diffstat (limited to 'src/impls/core/str.rs')
| -rw-r--r-- | src/impls/core/str.rs | 45 |
1 files changed, 17 insertions, 28 deletions
diff --git a/src/impls/core/str.rs b/src/impls/core/str.rs index e09b219..0ff2de8 100644 --- a/src/impls/core/str.rs +++ b/src/impls/core/str.rs @@ -1,4 +1,8 @@ -use crate::{walk::{Walk, WalkOnce, WalkMut}, protocol::VisitorMissingProtocol, Walker, Visitor}; +use crate::{ + protocol::VisitorMissingProtocol, + walk::{Walk, WalkMut, WalkOnce}, + Visitor, Walker, +}; use super::{reference::RefWalker, reference_mut::MutWalker}; @@ -15,7 +19,10 @@ impl<'ctx> WalkOnce<'ctx> for &'ctx str { impl<'borrow, 'ctx> WalkMut<'borrow, 'ctx> for &'ctx str { #[inline] - fn walk_mut(&'borrow mut self, visitor: &mut dyn Visitor<'ctx>) -> Result<Self::Value, Self::Error> { + fn walk_mut( + &'borrow mut self, + visitor: &mut dyn Visitor<'ctx>, + ) -> Result<Self::Value, Self::Error> { self.walk(visitor) } } @@ -23,12 +30,7 @@ impl<'borrow, 'ctx> WalkMut<'borrow, 'ctx> for &'ctx str { impl<'borrow, 'ctx> Walk<'borrow, 'ctx> for &'ctx str { #[inline] fn walk(&'borrow self, visitor: &mut dyn Visitor<'ctx>) -> Result<Self::Value, Self::Error> { - let mut walker = RefWalker::new(*self); - let _ = walker.walk(visitor); - match walker.into_error() { - Some(err) => Err(err), - None => Ok(()), - } + RefWalker::new(*self).walk_once(visitor) } } @@ -39,36 +41,23 @@ impl<'ctx> WalkOnce<'ctx> for &'ctx mut str { #[inline] fn walk_once(self, visitor: &mut dyn Visitor<'ctx>) -> Result<Self::Value, Self::Error> { - let mut walker = MutWalker::new(self); - let _ = walker.walk(visitor); - match walker.into_error() { - Some(err) => Err(err), - None => Ok(()), - } + MutWalker::new(self).walk_once(visitor) } } impl<'ctx> WalkMut<'ctx, 'ctx> for &'ctx mut str { #[inline] - fn walk_mut(&'ctx mut self, visitor: &mut dyn Visitor<'ctx>) -> Result<Self::Value, Self::Error> { - let mut walker = MutWalker::new(*self); - let _ = walker.walk(visitor); - match walker.into_error() { - Some(err) => Err(err), - None => Ok(()), - } + fn walk_mut( + &'ctx mut self, + visitor: &mut dyn Visitor<'ctx>, + ) -> Result<Self::Value, Self::Error> { + MutWalker::new(*self).walk_once(visitor) } } impl<'ctx> Walk<'ctx, 'ctx> for &'ctx mut str { #[inline] fn walk(&'ctx self, visitor: &mut dyn Visitor<'ctx>) -> Result<Self::Value, Self::Error> { - let mut walker = RefWalker::new(*self); - let _ = walker.walk(visitor); - match walker.into_error() { - Some(err) => Err(err), - None => Ok(()), - } + RefWalker::new(*self).walk_once(visitor) } } - |