Diffstat (limited to 'src/walk/walkers/core/noop.rs')
-rw-r--r--src/walk/walkers/core/noop.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/walk/walkers/core/noop.rs b/src/walk/walkers/core/noop.rs
index ec8e5b8..8f81626 100644
--- a/src/walk/walkers/core/noop.rs
+++ b/src/walk/walkers/core/noop.rs
@@ -1,5 +1,6 @@
+use effectful::{environment::{Environment, NativeForm}, is_send_sync, effective::Effective};
+
use crate::{
- effect::{Effect, ErasedEffective},
never::Never,
protocol::DynVisitor,
};
@@ -11,21 +12,23 @@ use crate::{
#[derive(Debug, Default)]
pub struct NoopWalker;
+is_send_sync!(NoopWalker);
+
impl NoopWalker {
pub fn new() -> Self {
Self
}
}
-impl<'ctx, E: Effect> crate::Walker<'ctx, E> for NoopWalker {
+impl<'ctx, E: Environment> crate::Walker<'ctx, E> for NoopWalker {
type Error = Never;
type Output = ();
fn walk<'b: 'c, 'c>(
self,
- _visitor: DynVisitor<'b, 'ctx>,
- ) -> ErasedEffective<'c, Result<Self::Output, Self::Error>, E> {
- E::ready(Ok(()))
+ _visitor: DynVisitor<'b, 'ctx, E>,
+ ) -> NativeForm<'c, Result<Self::Output, Self::Error>, E> {
+ E::value(Ok(())).cast()
}
}