Diffstat (limited to 'tests/common/protocol/tag.rs')
| -rw-r--r-- | tests/common/protocol/tag.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tests/common/protocol/tag.rs b/tests/common/protocol/tag.rs index 581cced..9d2f98a 100644 --- a/tests/common/protocol/tag.rs +++ b/tests/common/protocol/tag.rs @@ -1,7 +1,7 @@ use mockall::mock; use treaty::{ any::any_trait, - effect::{Effect, Future}, + effect::{Effect, Effective, ErasedEffective}, protocol::visitor::{Tag, TagKind, TagProto, VisitResult}, DynWalkerObjSafe, }; @@ -21,14 +21,15 @@ any_trait! { } impl<'ctx, K: TagKind, E: Effect> Tag<'ctx, K, E> for MockTagVisitor<K, E> { - fn visit<'a>( + fn visit<'a: 'c, 'b: 'c, 'c>( &'a mut self, kind: K, - walker: DynWalkerObjSafe<'a, 'ctx, E>, - ) -> Future<'a, VisitResult<DynWalkerObjSafe<'a, 'ctx, E>>, E> { + walker: DynWalkerObjSafe<'b, 'ctx, E>, + ) -> ErasedEffective<'c, VisitResult<DynWalkerObjSafe<'b, 'ctx, E>>, E> { E::ready(match self.visit(kind, walker) { VisitResult::Skipped(_) => VisitResult::Skipped(walker), VisitResult::Control(flow) => VisitResult::Control(flow), }) + .into_erased() } } |