diff options
| author | acdenisSK <[email protected]> | 2017-10-02 22:29:10 +0200 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-10-09 15:47:05 -0700 |
| commit | 2911f677431820ac858bae39ce53a3d6e202da1b (patch) | |
| tree | 1a65a208341e2a8006807f96074ca17cd0aaaed8 /src/voice/manager.rs | |
| parent | `to_owned` -> `to_string` (diff) | |
| download | serenity-2911f677431820ac858bae39ce53a3d6e202da1b.tar.xz serenity-2911f677431820ac858bae39ce53a3d6e202da1b.zip | |
Use the de-generification trick.
Fixes #168
Diffstat (limited to 'src/voice/manager.rs')
| -rw-r--r-- | src/voice/manager.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/voice/manager.rs b/src/voice/manager.rs index 34d2a40..5aa392f 100644 --- a/src/voice/manager.rs +++ b/src/voice/manager.rs @@ -38,7 +38,11 @@ impl Manager { /// Retrieves a mutable handler for the given target, if one exists. pub fn get<G: Into<GuildId>>(&mut self, guild_id: G) -> Option<&mut Handler> { - self.handlers.get_mut(&guild_id.into()) + self._get(guild_id.into()) + } + + fn _get(&mut self, guild_id: GuildId) -> Option<&mut Handler> { + self.handlers.get_mut(&guild_id) } /// Connects to a target by retrieving its relevant [`Handler`] and @@ -65,9 +69,10 @@ impl Manager { #[allow(map_entry)] pub fn join<C, G>(&mut self, guild_id: G, channel_id: C) -> &mut Handler where C: Into<ChannelId>, G: Into<GuildId> { - let channel_id = channel_id.into(); - let guild_id = guild_id.into(); + self._join(guild_id.into(), channel_id.into()) + } + fn _join(&mut self, guild_id: GuildId, channel_id: ChannelId) -> &mut Handler { { let mut found = false; @@ -104,7 +109,11 @@ impl Manager { /// [`get`]: #method.get /// [`leave`]: struct.Handler.html#method.leave pub fn leave<G: Into<GuildId>>(&mut self, guild_id: G) { - if let Some(handler) = self.handlers.get_mut(&guild_id.into()) { + self._leave(guild_id.into()) + } + + fn _leave(&mut self, guild_id: GuildId) { + if let Some(handler) = self.handlers.get_mut(&guild_id) { handler.leave(); } } |