From 90be66b95029e3d6f0a8a0f8d51b5a6c7d79e4ef Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Mon, 10 Feb 2020 19:09:23 -0500 Subject: [PATCH] Relax Pagination to &mut self --- youmubot-prelude/src/pagination.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/youmubot-prelude/src/pagination.rs b/youmubot-prelude/src/pagination.rs index 77ed411..3add228 100644 --- a/youmubot-prelude/src/pagination.rs +++ b/youmubot-prelude/src/pagination.rs @@ -39,7 +39,7 @@ impl ReactionWatcher { duration: std::time::Duration, ) -> CommandResult where - T: for<'a> Fn(u8, &'a mut EditMessage) -> (&'a mut EditMessage, CommandResult), + T: for<'a> FnMut(u8, &'a mut EditMessage) -> (&'a mut EditMessage, CommandResult), { self.paginate(ctx, channel, pager, duration) } @@ -57,7 +57,7 @@ pub trait Pagination { /// /// This would either create or edit a message, but you should not be worry about it. fn render_page<'a>( - &self, + &mut self, page: u8, target: &'a mut EditMessage, ) -> (&'a mut EditMessage, CommandResult); @@ -65,10 +65,10 @@ pub trait Pagination { impl Pagination for T where - T: for<'a> Fn(u8, &'a mut EditMessage) -> (&'a mut EditMessage, CommandResult), + T: for<'a> FnMut(u8, &'a mut EditMessage) -> (&'a mut EditMessage, CommandResult), { fn render_page<'a>( - &self, + &mut self, page: u8, target: &'a mut EditMessage, ) -> (&'a mut EditMessage, CommandResult) { @@ -107,7 +107,7 @@ impl PaginationHandler { fn call_pager(&mut self) -> CommandResult { let mut res: CommandResult = Ok(()); let mut msg = self.message.clone(); - msg.edit(&self.ctx, |e| { + msg.edit(self.ctx.http.clone(), |e| { let (e, r) = self.pager.render_page(self.page, e); res = r; e