Diffstat (limited to 'src/walk/walkers/core/value.rs')
-rw-r--r--src/walk/walkers/core/value.rs10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/walk/walkers/core/value.rs b/src/walk/walkers/core/value.rs
index d3f9159..9baea0e 100644
--- a/src/walk/walkers/core/value.rs
+++ b/src/walk/walkers/core/value.rs
@@ -1,8 +1,7 @@
use effectful::{
bound::IsSync,
effective::Effective,
- environment::{DynBind, Environment, NativeForm},
- forward_send_sync,
+ environment::{DynBind, Environment, NativeForm}, SendSync,
};
use crate::{
@@ -18,11 +17,9 @@ use crate::{
///
/// Primitive types use this walker as their main walker.
/// This walker doesn't consider it an error if the visitor doesn't have the protocol.
-#[derive(Debug)]
+#[derive(Debug, SendSync)]
pub struct ValueWalker<T>(T);
-forward_send_sync!({T} {} ValueWalker<T>);
-
impl<T> ValueWalker<T> {
/// Create walker from a value.
#[inline(always)]
@@ -68,10 +65,9 @@ where
/// Borrowed form of [`ValueWalker`].
///
/// This walker supports values borrowed for `'ctx` or longer.
+#[derive(SendSync)]
pub struct BorrowWalker<'ctx, T: ?Sized>(&'ctx T);
-forward_send_sync!({} {T: (?Sized + 'ctx)} {{'ctx}} BorrowWalker<'ctx, T>);
-
impl<'ctx, T: ?Sized> BorrowWalker<'ctx, T> {
/// Create walker from a value.
#[inline(always)]