Diffstat (limited to 'tests/common/protocol/tag.rs')
-rw-r--r--tests/common/protocol/tag.rs9
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()
}
}