Diffstat (limited to 'src/walk.rs')
-rw-r--r--src/walk.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/walk.rs b/src/walk.rs
index d13316d..2ebe598 100644
--- a/src/walk.rs
+++ b/src/walk.rs
@@ -1,4 +1,4 @@
-pub mod walkers;
+// pub mod walkers;
use crate::protocol::{ControlFlowFor, Effect, Visitor};
@@ -22,7 +22,7 @@ pub fn into_walker<'ctx, T: Walk<'ctx>>(value: T) -> T::Walker {
/// - Call [Self::walk()] to walk the value. Data will be sent to the provided
/// visitor.
pub trait Walker<'ctx> {
- type Effect: Effect;
+ type Effect: Effect<'ctx, Self::Output, Self::Error> + Effect<'ctx, (), ()>;
type Error;
@@ -37,6 +37,6 @@ pub trait Walker<'ctx> {
#[must_use]
fn walk<'a>(
self,
- visitor: &'a mut Visitor<'a, 'ctx>,
- ) -> ControlFlowFor<'a, Self::Effect, Self::Output, Self::Error>;
+ visitor: Visitor<'a, 'ctx, Self::Effect>,
+ ) -> ControlFlowFor<'a, 'ctx, Self::Effect, Self::Output, Self::Error>;
}