Diffstat (limited to 'src/protocol/walker/hint.rs')
-rw-r--r--src/protocol/walker/hint.rs6
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!()