Diffstat (limited to 'src/walk/walkers/core/value.rs')
| -rw-r--r-- | src/walk/walkers/core/value.rs | 10 |
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)] |