Diffstat (limited to 'src/protocol/visitor/sequence.rs')
| -rw-r--r-- | src/protocol/visitor/sequence.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/protocol/visitor/sequence.rs b/src/protocol/visitor/sequence.rs index de9666d..3239faf 100644 --- a/src/protocol/visitor/sequence.rs +++ b/src/protocol/visitor/sequence.rs @@ -1,7 +1,6 @@ use effectful::{ effective::Effective, - environment::{DynBind, EnvConfig, Environment, NativeForm}, - is_send_sync, + environment::{DynBind, EnvConfig, Environment, NativeForm}, SendSync, }; use crate::{ @@ -29,6 +28,7 @@ pub trait Sequence<'ctx, E: Environment>: DynBind<E> { 'ctx: 'a; } +#[derive(SendSync)] pub struct SequenceProto<E: Environment>(Marker<E>); impl<'a, 'ctx, E> TypeName::MemberTypeForLt<'a, 'ctx, E, &'a &'ctx ()> for SequenceProto<E> @@ -59,13 +59,11 @@ pub trait SequenceScope<'ctx, E: Environment>: DynBind<E> { pub type DynSequenceScope<'a, 'ctx, E> = &'a mut (dyn SequenceScope<'ctx, E> + 'a); -#[derive(Default)] +#[derive(Default, SendSync)] pub struct SequenceKnown { pub len: (usize, Option<usize>), } -is_send_sync!(SequenceKnown, SequenceHint); - impl<'a, 'ctx, E: EnvConfig> Meta::MemberTypeForLt<'a, 'ctx, E, &'a &'ctx ()> for SequenceKnown { type T = SequenceKnown; } @@ -74,6 +72,7 @@ impl<'a, 'ctx, E: EnvConfig> Meta::LowerTypeWithBound<'a, 'ctx, E, &'a &'ctx ()> type Higher = SequenceKnown; } +#[derive(SendSync)] pub struct SequenceHint { pub len: (usize, Option<usize>), } |