diff options
| author | Austin Hellyer <[email protected]> | 2016-11-28 17:51:58 -0800 |
|---|---|---|
| committer | Austin Hellyer <[email protected]> | 2016-11-28 17:51:58 -0800 |
| commit | 9ef110ec52527e0018c979b0c44a52c98dceafdb (patch) | |
| tree | e26068dcac610ee62eb6d5099d9916a8f132121d /src | |
| parent | Cargo: Don't have bins for examples (diff) | |
| download | serenity-9ef110ec52527e0018c979b0c44a52c98dceafdb.tar.xz serenity-9ef110ec52527e0018c979b0c44a52c98dceafdb.zip | |
Optimize for cached, non-method compiles
Diffstat (limited to 'src')
| -rw-r--r-- | src/model/channel.rs | 10 | ||||
| -rw-r--r-- | src/model/guild.rs | 4 | ||||
| -rw-r--r-- | src/model/utils.rs | 7 |
3 files changed, 8 insertions, 13 deletions
diff --git a/src/model/channel.rs b/src/model/channel.rs index a95b1f3..33e6044 100644 --- a/src/model/channel.rs +++ b/src/model/channel.rs @@ -833,11 +833,13 @@ impl GuildChannel { #[cfg(feature = "methods")] pub fn create_invite<F>(&self, f: F) -> Result<RichInvite> where F: FnOnce(CreateInvite) -> CreateInvite { - let req = permissions::CREATE_INVITE; + feature_cache_enabled! {{ + let req = permissions::CREATE_INVITE; - if !try!(utils::user_has_perms(self.id, req)) { - return Err(Error::Client(ClientError::InvalidPermissions(req))); - } + if !try!(utils::user_has_perms(self.id, req)) { + return Err(Error::Client(ClientError::InvalidPermissions(req))); + } + }} let map = f(CreateInvite::default()).0.build(); diff --git a/src/model/guild.rs b/src/model/guild.rs index 1fe3075..4869e86 100644 --- a/src/model/guild.rs +++ b/src/model/guild.rs @@ -25,7 +25,7 @@ use ::utils::builder::{EditGuild, EditMember, EditRole}; #[cfg(feature = "methods")] use ::client::rest; -#[cfg(feature = "cache")] +#[cfg(all(feature = "cache", feature = "methods"))] use ::client::CACHE; impl From<PartialGuild> for GuildContainer { @@ -165,7 +165,7 @@ impl PartialGuild { } impl Guild { - #[cfg(feature = "cache")] + #[cfg(all(feature = "cache", feature = "methods"))] fn has_perms(&self, mut permissions: Permissions) -> Result<bool> { let member = match self.get_member(CACHE.read().unwrap().user.id) { Some(member) => member, diff --git a/src/model/utils.rs b/src/model/utils.rs index d4ee1c3..0611a9f 100644 --- a/src/model/utils.rs +++ b/src/model/utils.rs @@ -304,13 +304,6 @@ pub fn user_has_perms(channel_id: ChannelId, Ok(permissions.is_empty()) } -#[doc(hidden)] -#[cfg(all(not(feature = "cache"), feature = "methods"))] -pub fn user_has_perms(channel_id: ChannelId, mut permissions: Permissions) - -> Result<bool> { - Ok(true) -} - pub fn warn_field(name: &str, map: BTreeMap<String, Value>) { if !map.is_empty() { debug!("Unhandled keys: {} has {:?}", name, Value::Object(map)) |