Diffstat (limited to 'src/walk/walkers/core/key_value.rs')
-rw-r--r--src/walk/walkers/core/key_value.rs12
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