Diffstat (limited to 'tests/common/protocol/hint.rs')
| -rw-r--r-- | tests/common/protocol/hint.rs | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/tests/common/protocol/hint.rs b/tests/common/protocol/hint.rs index bcc2a02..07c7c41 100644 --- a/tests/common/protocol/hint.rs +++ b/tests/common/protocol/hint.rs @@ -3,44 +3,43 @@ use treaty::{ any::{any_trait, TypeName}, effect::{Effect, Future}, protocol::{ - walker::hint::{Hint, HintMeta, HintProto, Known}, - Visitor, + walker::hint::{Hint, HintMeta, HintProto, MetaHint, MetaKnown}, + DynVisitor, }, Flow, }; pub type KnownFactory<P> = - for<'a, 'ctx> fn(&'ctx (), &'a <P as HintMeta>::Hint) -> Result<Known<'a, 'ctx, P>, ()>; + for<'a, 'ctx> fn(&'ctx (), &'a MetaHint<'a, 'ctx, P>) -> Result<MetaKnown<'a, 'ctx, P>, ()>; mock! { - pub HintVisitor<P: HintMeta, E> { - pub fn hint<'a, 'ctx>(&'a mut self, visitor: Visitor<'a, 'ctx>, hint: <P as HintMeta>::Hint) -> Flow; + pub HintWalker<P: HintMeta> { + pub fn hint<'a, 'ctx>(&'a mut self, visitor: DynVisitor<'a, 'ctx>, hint: MetaHint<'a, 'ctx, P>) -> Flow; pub fn known(&self) -> KnownFactory<P>; } } any_trait! { - impl['ctx, P, E] MockHintVisitor<P, E> = [ - HintProto<P, E> + impl['ctx, P] MockHintWalker<P> = [ + HintProto<P> ] where P: HintMeta, - E: Effect, } -impl<'ctx, P: HintMeta, E: Effect> Hint<'ctx, P, E> for MockHintVisitor<P, E> { +impl<'ctx, P: HintMeta> Hint<'ctx, P> for MockHintWalker<P> { fn hint<'a>( &'a mut self, - visitor: Visitor<'a, 'ctx>, - hint: <P as HintMeta>::Hint, - ) -> Future<'a, Flow, E> { - E::ready(self.hint(visitor, hint)) + visitor: DynVisitor<'a, 'ctx>, + hint: MetaHint<'a, 'ctx, P>, + ) -> Future<'a, Flow, P::Effect> { + P::Effect::ready(self.hint(visitor, hint)) } fn known<'a>( &'a mut self, - hint: &'a <P as HintMeta>::Hint, - ) -> Future<'a, Result<Known<'a, 'ctx, P>, ()>, E> { - E::ready(Self::known(self)(&(), hint)) + hint: &'a MetaHint<'a, 'ctx, P>, + ) -> Future<'a, Result<MetaKnown<'a, 'ctx, P>, ()>, P::Effect> { + P::Effect::ready(Self::known(self)(&(), hint)) } } |