Diffstat (limited to 'src/protocol/walker/hint.rs')
| -rw-r--r-- | src/protocol/walker/hint.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/protocol/walker/hint.rs b/src/protocol/walker/hint.rs index abdb136..28bf437 100644 --- a/src/protocol/walker/hint.rs +++ b/src/protocol/walker/hint.rs @@ -29,13 +29,13 @@ pub trait HintMeta<'ctx> { } /// Object implementing the [`Hint`] protocol. -pub trait Hint<'ctx, Protocol: HintMeta<'ctx>, E: Effect = SyncEffect> { +pub trait Hint<'ctx, Protocol: ?Sized + HintMeta<'ctx>, E: Effect = SyncEffect> { /// Hint to the walker to use the `P` protocol. /// /// This should only be called once per [`RequestHint`]. fn hint<'a>( &'a mut self, - visitor: &'a mut Visitor<'ctx>, + visitor: &'a mut Visitor<'a, 'ctx>, hint: Protocol::Hint<'a>, ) -> ControlFlowFor<'a, E>; @@ -85,7 +85,7 @@ mod test { impl<'ctx, X> Hint<'ctx, Y> for X { fn hint<'a>( &'a mut self, - visitor: &'a mut Visitor<'ctx>, + visitor: &'a mut Visitor<'a, 'ctx>, hint: <Y as HintMeta<'ctx>>::Hint<'a>, ) -> ControlFlow<()> { todo!() |