Diffstat (limited to 'tests/common/builder.rs')
| -rw-r--r-- | tests/common/builder.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/tests/common/builder.rs b/tests/common/builder.rs index 160846a..e12b013 100644 --- a/tests/common/builder.rs +++ b/tests/common/builder.rs @@ -2,7 +2,7 @@ use mockall::mock; use treaty::{ any::{indirect, AnyTrait, AnyTraitObject, TypeNameId}, effect::{Effect, Future}, - protocol::Visitor, + protocol::DynVisitor, Builder, BuilderTypes, }; @@ -17,12 +17,14 @@ mock! { pub fn from_seed(seed: Seed) -> Self; pub fn build(self) -> Result<Value, Error>; - pub fn traits(&self, id: TypeNameId) -> &Option<Box<dyn for<'ctx> AnyTrait<'ctx> + Send>>; - pub fn traits_mut(&mut self, id: TypeNameId) -> &mut Option<Box<dyn for<'ctx> AnyTrait<'ctx> + Send>>; + pub fn traits(&self, id: TypeNameId) -> &Option<Box<dyn for<'ctx> AnyTrait<'ctx> + Send + Sync>>; + pub fn traits_mut(&mut self, id: TypeNameId) -> &mut Option<Box<dyn for<'ctx> AnyTrait<'ctx> + Send + Sync>>; } } -impl<Seed: Send, Value: Send, Error: Send> BuilderTypes for MockBuilder<Seed, Value, Error> { +impl<Seed: Send + Sync, Value: Send + Sync, Error: Send + Sync> BuilderTypes + for MockBuilder<Seed, Value, Error> +{ type Seed = Seed; type Error = Error; @@ -44,7 +46,7 @@ impl<Seed: 'static, Value: 'static, Error: 'static> MockBuilder<Seed, Value, Err } } -impl<'ctx, Seed: Send, Value: Send, Error: Send, E: Effect> Builder<'ctx, E> +impl<'ctx, Seed: Send + Sync, Value: Send + Sync, Error: Send + Sync, E: Effect> Builder<'ctx, E> for MockBuilder<Seed, Value, Error> { fn from_seed<'a>(seed: Self::Seed) -> Future<'a, Self, E> @@ -61,8 +63,8 @@ impl<'ctx, Seed: Send, Value: Send, Error: Send, E: Effect> Builder<'ctx, E> E::ready(self.build()) } - fn as_visitor(&mut self) -> Visitor<'_, 'ctx> { - self + fn as_visitor(&mut self) -> DynVisitor<'_, 'ctx> { + DynVisitor(self) } } |