Diffstat (limited to 'src/walk.rs')
| -rw-r--r-- | src/walk.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/walk.rs b/src/walk.rs index a7ace88..a8051fb 100644 --- a/src/walk.rs +++ b/src/walk.rs @@ -37,16 +37,16 @@ pub trait Walker<'ctx, E: Effect>: WalkerTypes + Send + Sync { /// Walk the value. /// /// The walker should send data to the `visitor` as it walks the value. - fn walk<'a>( + fn walk<'visitor: 'effect, 'effect>( self, - visitor: DynVisitor<'a, 'ctx>, - ) -> ObjSafe<'a, Result<Self::Output, Self::Error>, E> + visitor: DynVisitor<'visitor, 'ctx>, + ) -> ObjSafe<'effect, Result<Self::Output, Self::Error>, E> where - Self: 'a; + Self: 'effect; } pub trait WalkerObjSafe<'ctx, E: Effect>: Send { - fn walk<'a>(&'a mut self, visitor: DynVisitor<'a, 'ctx>) -> ObjSafe<'a, Flow, E> + fn walk<'a, 'b: 'a>(&'a mut self, visitor: DynVisitor<'b, 'ctx>) -> ObjSafe<'b, Flow, E> where Self: 'a; } @@ -107,7 +107,7 @@ impl<W: WalkerTypes> DynWalkerAdapter<W> { impl<'ctx, W: Walker<'ctx, E>, E: Effect> WalkerObjSafe<'ctx, E> for DynWalkerAdapter<W> { #[inline(always)] - fn walk<'a>(&'a mut self, visitor: DynVisitor<'a, 'ctx>) -> ObjSafe<'a, Flow, E> + fn walk<'a, 'b: 'a>(&'a mut self, visitor: DynVisitor<'b, 'ctx>) -> ObjSafe<'b, Flow, E> where Self: 'a, { |