Diffstat (limited to 'src/protocol/visitor/request_hint.rs')
-rw-r--r--src/protocol/visitor/request_hint.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/protocol/visitor/request_hint.rs b/src/protocol/visitor/request_hint.rs
index c2f8837..1e699a1 100644
--- a/src/protocol/visitor/request_hint.rs
+++ b/src/protocol/visitor/request_hint.rs
@@ -3,7 +3,7 @@ use crate::{
effect::{Effect, Future},
higher_ranked_type,
hkt::Marker,
- protocol::{Visitor, Walker},
+ protocol::{DynVisitor, DynWalker},
};
use super::VisitResult;
@@ -16,8 +16,8 @@ pub trait RequestHint<'ctx, E: Effect> {
/// [`Hint`][crate::builtins::walker::Hint] protocol.
fn request_hint<'a>(
&'a mut self,
- walker: Walker<'a, 'ctx>,
- ) -> Future<'a, VisitResult<Walker<'a, 'ctx>>, E>;
+ walker: DynWalker<'a, 'ctx>,
+ ) -> Future<'a, VisitResult<DynWalker<'a, 'ctx>>, E>;
}
pub struct RequestHintProto<E: Effect>(Marker<E>);
@@ -46,10 +46,10 @@ higher_ranked_type! {
/// should stop walking.
/// If [`Flow::Break`] is returned then there was an error and the walker should stop walking.
pub fn visit_request_hint<'a, 'ctx, E: Effect>(
- visitor: Visitor<'a, 'ctx>,
- walker: Walker<'a, 'ctx>,
-) -> Future<'a, VisitResult<Walker<'a, 'ctx>>, E> {
- if let Some(object) = visitor.upcast_mut::<RequestHintProto<E>>() {
+ visitor: DynVisitor<'a, 'ctx>,
+ walker: DynWalker<'a, 'ctx>,
+) -> Future<'a, VisitResult<DynWalker<'a, 'ctx>>, E> {
+ if let Some(object) = visitor.0.upcast_mut::<RequestHintProto<E>>() {
// Allow the visitor to give a hint if it wants.
object.request_hint(walker)
} else {