Diffstat (limited to 'src/protocol/visitor/request_hint.rs')
-rw-r--r--src/protocol/visitor/request_hint.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/protocol/visitor/request_hint.rs b/src/protocol/visitor/request_hint.rs
index 76de7a0..183014f 100644
--- a/src/protocol/visitor/request_hint.rs
+++ b/src/protocol/visitor/request_hint.rs
@@ -56,21 +56,19 @@ pub fn request_hint<'ctx: 'visitor + 'walker, 'visitor: 'e, 'walker: 'e, 'e, E:
visitor: DynVisitor<'visitor, 'ctx, E>,
walker: DynWalker<'walker, 'ctx, E>,
) -> NativeForm<'e, VisitResult<DynWalker<'walker, 'ctx, E>>, E> {
- E::value(walker)
- .update(visitor, |visitor, walker| {
+ E::value((visitor, walker))
+ .update((), |_, (visitor, walker)| {
if let Some(object) = visitor.0.upcast_mut::<RequestHintProto<E>>() {
// Allow the visitor to give a hint if it wants.
object
.request_hint(walker.cast())
.map((), |_, x| x.unit_skipped())
- .cast::<()>();
-
- todo!()
+ .cast()
} else {
// If the visitor doesn't support request hint then we continue.
E::value(VisitResult::Skipped(())).cast()
}
})
- .map((), |_, (walker, result)| result.map_skipped(|_| walker))
+ .map((), |_, ((_, walker), result)| result.map_skipped(|_| walker))
.cast()
}