Diffstat (limited to 'src/build/builders/core/value.rs')
| -rw-r--r-- | src/build/builders/core/value.rs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/build/builders/core/value.rs b/src/build/builders/core/value.rs index cd25bdc..1109b51 100644 --- a/src/build/builders/core/value.rs +++ b/src/build/builders/core/value.rs @@ -4,8 +4,7 @@ use effectful::{ bound::IsSync, effective::Effective, environment::{DynBind, Environment, NativeForm}, - forward_send_sync, - higher_ranked::Mut, + higher_ranked::Mut, SendSync, }; use crate::{ @@ -26,11 +25,10 @@ use crate::{ Flow, }; +#[derive(SendSync)] #[non_exhaustive] pub struct ValueError<T>(Marker<T>); -forward_send_sync!({} {} {T} ValueError<T>); - impl<T> ::core::fmt::Debug for ValueError<T> { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "missing value of type `{}`", core::any::type_name::<T>()) @@ -53,13 +51,12 @@ pub enum NotCloneable {} #[doc = crate::doc_macro::mermaid!("value.mmd", 100)] /// /// After +#[derive(SendSync)] pub struct ValueBuilder<T, Clone, E> { value: Option<T>, _marker: Marker<(E, Clone)>, } -forward_send_sync!({T} {} {Clone, E} ValueBuilder<T, Clone, E>); - impl<T, Clone, E: Environment> crate::BuilderTypes<E> for ValueBuilder<T, Clone, E> where T: DynBind<E>, |