Diffstat (limited to 'src/walk/walkers/core/key_value.rs')
| -rw-r--r-- | src/walk/walkers/core/key_value.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/walk/walkers/core/key_value.rs b/src/walk/walkers/core/key_value.rs index 85a15a3..8e14a1c 100644 --- a/src/walk/walkers/core/key_value.rs +++ b/src/walk/walkers/core/key_value.rs @@ -3,7 +3,7 @@ use crate::{ never::Never, protocol::{ visitor::{visit_tag, TagConst, TagError, TagKind, VisitResult}, - Visitor, + DynVisitor, }, walkers::core::noop::NoopWalker, Flow, WalkerTypes, TAG_KEY, TAG_KEY_VALUE, TAG_VALUE, @@ -55,17 +55,17 @@ where { fn walk<'a>( self, - visitor: Visitor<'a, 'ctx>, + mut visitor: DynVisitor<'a, 'ctx>, ) -> Future<'a, Result<Self::Output, Self::Error>, E> where Self: 'a, { E::wrap(async move { - match visit_tag::<T, E, _>(self.tag, visitor, NoopWalker::new()).await { + match visit_tag::<T, E, _>(self.tag, visitor.cast(), NoopWalker::new()).await { Ok(VisitResult::Skipped(_)) => { match visit_tag::<TagConst<{ TAG_KEY_VALUE.to_int() }>, E, _>( TagConst, - visitor, + visitor.cast(), NoopWalker::new(), ) .await @@ -82,7 +82,7 @@ where match visit_tag::<TagConst<{ TAG_KEY.to_int() }>, E, _>( TagConst, - visitor, + visitor.cast(), self.key_walker, ) .await @@ -94,7 +94,7 @@ where match visit_tag::<TagConst<{ TAG_VALUE.to_int() }>, E, _>( TagConst, - visitor, + visitor.cast(), self.value_walker, ) .await |