Skip to content

Commit

Permalink
Fix compilations across feature combinations
Browse files Browse the repository at this point in the history
  • Loading branch information
Zeyla Hellyer committed Jun 2, 2017
1 parent 8c04d31 commit 7a96b8a
Show file tree
Hide file tree
Showing 22 changed files with 94 additions and 61 deletions.
6 changes: 4 additions & 2 deletions src/client/context.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
use std::sync::{Arc, Mutex};
use typemap::ShareMap;
use ::gateway::Shard;
use ::http;
use ::internal::prelude::*;
use ::model::*;

#[cfg(feature="cache")]
use super::CACHE;
#[cfg(feature="builder")]
use ::internal::prelude::*;
#[cfg(feature="builder")]
use ::builder::EditProfile;
#[cfg(feature="builder")]
use ::http;

/// The context is a general utility struct provided on event dispatches, which
/// helps with dealing with the current "context" of the event dispatch.
Expand Down
3 changes: 2 additions & 1 deletion src/client/dispatch.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ pub fn dispatch(event: Event,
}
}

#[allow(unused_mut)]
fn dispatch_message(context: Context,
mut message: Message,
event_store: &Arc<RwLock<EventStore>>) {
Expand All @@ -122,7 +123,7 @@ fn dispatch_message(context: Context,
}
}

#[allow(cyclomatic_complexity, unused_mut)]
#[allow(cyclomatic_complexity, unused_assignments, unused_mut)]
fn handle_event(event: Event,
conn: &Arc<Mutex<Shard>>,
data: &Arc<Mutex<ShareMap>>,
Expand Down
3 changes: 2 additions & 1 deletion src/http/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1141,6 +1141,7 @@ pub fn get_guilds(target: &GuildPagination, limit: u64) -> Result<Vec<GuildInfo>
}

/// Gets information about a specific invite.
#[allow(unused_mut)]
pub fn get_invite(code: &str, stats: bool) -> Result<Invite> {
let mut invite = code;

Expand Down Expand Up @@ -1451,7 +1452,7 @@ pub fn send_files<T: Into<AttachmentType>>(channel_id: u64, files: Vec<T>, map:
},
AttachmentType::Path(p) => {
request.write_file(&file_num, &p)?;
},
},
}

unsafe {
Expand Down
2 changes: 2 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,12 @@

#[macro_use]
extern crate bitflags;
#[allow(unused_imports)]
#[macro_use]
extern crate log;
#[macro_use]
extern crate serde_derive;
#[allow(unused_imports)]
#[macro_use]
extern crate serde_json;

Expand Down
2 changes: 2 additions & 0 deletions src/model/channel/attachment.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#[cfg(feature="model")]
use hyper::Client as HyperClient;
#[cfg(feature="model")]
use std::io::Read;
#[cfg(feature="model")]
use ::internal::prelude::*;

/// A file uploaded with a message. Not to be confused with [`Embed`]s.
Expand Down
15 changes: 8 additions & 7 deletions src/model/channel/channel_id.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
use std::fmt::{Display, Formatter, Result as FmtResult, Write as FmtWrite};
use std::io::Read;
use std::fmt::{Display, Formatter, Result as FmtResult};
use ::model::*;

#[cfg(feature="model")]
use std::fmt::Write as FmtWrite;
#[cfg(feature="model")]
use std::io::Read;
#[cfg(feature="model")]
use ::builder::{CreateMessage, EditChannel, GetMessages};
#[cfg(feature="cache")]
use ::CACHE;
#[cfg(feature="model")]
use ::http;
#[cfg(feature="model")]
use ::http::AttachmentType;
use ::http::{self, AttachmentType};

#[cfg(feature="model")]
impl ChannelId {
Expand Down Expand Up @@ -435,12 +436,12 @@ impl ChannelId {
/// use serenity::model::ChannelId;
///
/// let channel_id = ChannelId(7);
///
///
/// let paths = vec!["/path/to/file.jpg", "path/to/file2.jpg"];
///
/// let _ = channel_id.send_files(paths, |m| m.content("a file"));
/// ```
///
///
/// Send files using `File`:
///
/// ```rust,no_run
Expand Down
5 changes: 2 additions & 3 deletions src/model/channel/embed.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
use ::internal::prelude::*;

#[cfg(feature="utils")]
use ::utils::Colour;

#[cfg(feature="model")]
use ::internal::prelude::*;
#[cfg(feature="model")]
use ::builder::CreateEmbed;

Expand Down
11 changes: 6 additions & 5 deletions src/model/channel/group.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
use ::model::*;

#[cfg(feature="model")]
use std::borrow::Cow;
#[cfg(feature="model")]
use std::fmt::Write as FmtWrite;
#[cfg(feature="model")]
use std::io::Read;
use ::model::*;

#[cfg(feature="model")]
use ::builder::{CreateMessage, GetMessages};
#[cfg(feature="model")]
use ::http;
#[cfg(feature="model")]
use ::http::AttachmentType;
use ::http::{self, AttachmentType};

/// A group channel - potentially including other [`User`]s - separate from a
/// [`Guild`].
Expand Down
16 changes: 9 additions & 7 deletions src/model/channel/guild_channel.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
use std::fmt::{Display, Formatter, Result as FmtResult};
use std::io::Read;
use std::mem;
use ::internal::prelude::*;
use ::model::*;

#[cfg(feature="model")]
use ::builder::{CreateInvite, CreateMessage, EditChannel, GetMessages};
use std::fmt::{Display, Formatter, Result as FmtResult};
#[cfg(feature="model")]
use std::io::Read;
#[cfg(feature="model")]
use std::mem;
#[cfg(feature="cache")]
use ::CACHE;
#[cfg(feature="model")]
use ::http;
use ::builder::{CreateInvite, CreateMessage, EditChannel, GetMessages};
#[cfg(feature="model")]
use ::http::AttachmentType;
use ::http::{self, AttachmentType};
#[cfg(feature="cache")]
use ::internal::prelude::*;
#[cfg(all(feature="model", feature="utils"))]
use ::utils as serenity_utils;

Expand Down
12 changes: 7 additions & 5 deletions src/model/channel/message.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
use std::mem;
use time;
use ::constants;
use ::model::*;


#[cfg(feature="cache")]
use std::fmt::Write;
#[cfg(feature="model")]
use std::mem;
#[cfg(feature="model")]
use time;
#[cfg(feature="model")]
use ::builder::{CreateEmbed, CreateMessage};
#[cfg(feature="model")]
use ::constants;
#[cfg(feature="cache")]
use ::CACHE;
#[cfg(feature="http")]
#[cfg(feature="model")]
use ::http;

/// A representation of a message over a guild's text channel, a group, or a
Expand Down
6 changes: 4 additions & 2 deletions src/model/channel/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,13 @@ pub use self::reaction::*;

use serde::de::Error as DeError;
use serde_json;
use std::fmt::{Display, Formatter, Result as FmtResult};
use std::io::Read;
use super::utils::deserialize_u64;
use ::model::*;

#[cfg(feature="model")]
use std::fmt::{Display, Formatter, Result as FmtResult};
#[cfg(feature="model")]
use std::io::Read;
#[cfg(feature="model")]
use ::builder::{CreateMessage, GetMessages};
#[cfg(feature="model")]
Expand Down
3 changes: 2 additions & 1 deletion src/model/channel/private_channel.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
use std::fmt::{Display, Formatter, Result as FmtResult};
use std::io::Read;
use super::deserialize_single_recipient;
use ::model::*;

#[cfg(feature="model")]
use std::io::Read;
#[cfg(feature="model")]
use ::builder::{CreateMessage, GetMessages};
#[cfg(feature="model")]
Expand Down
5 changes: 4 additions & 1 deletion src/model/event.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ use serde_json::{self, Error as JsonError};
use std::collections::HashMap;
use super::utils::deserialize_emojis;
use super::*;
use ::constants::{OpCode, VoiceOpCode};
use ::constants::VoiceOpCode;
use ::internal::prelude::*;

#[cfg(feature="gateway")]
use ::constants::OpCode;
#[cfg(feature="gateway")]
use ::gateway::GatewayError;

Expand Down Expand Up @@ -617,6 +619,7 @@ pub enum Event {

impl Event {
#[allow(cyclomatic_complexity)]
#[cfg(feature="gateway")]
fn decode(kind: String, value: Value) -> Result<Event> {
Ok(match &kind[..] {
"CHANNEL_CREATE" => Event::ChannelCreate(ChannelCreateEvent::deserialize(value)?),
Expand Down
6 changes: 4 additions & 2 deletions src/model/guild/emoji.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
use std::fmt::{Display, Formatter, Result as FmtResult, Write as FmtWrite};
use super::super::{EmojiId, ModelError, RoleId};
use super::super::{EmojiId, RoleId};

#[cfg(feature="cache")]
use std::mem;
#[cfg(all(feature="cache", feature="model"))]
use super::super::ModelError;
#[cfg(feature="cache")]
use ::CACHE;
#[cfg(feature="cache")]
use ::internal::prelude::*;
#[cfg(feature="model")]
#[cfg(all(feature="cache", feature="model"))]
use ::http;
#[cfg(feature="cache")]
use super::super::GuildId;
Expand Down
9 changes: 5 additions & 4 deletions src/model/guild/guild_id.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
use std::fmt::{Display, Formatter, Result as FmtResult};
use ::internal::prelude::*;
use ::model::*;

#[cfg(feature="model")]
use ::builder::{EditGuild, EditMember, EditRole};
#[cfg(feature="cache")]
use ::CACHE;
#[cfg(feature="http")]
#[cfg(feature="model")]
use ::builder::{EditGuild, EditMember, EditRole};
#[cfg(feature="model")]
use ::http;
#[cfg(feature="model")]
use ::internal::prelude::*;

#[cfg(feature="model")]
impl GuildId {
Expand Down
11 changes: 6 additions & 5 deletions src/model/guild/member.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
use std::borrow::Cow;
use std::fmt::{Display, Formatter, Result as FmtResult};
use super::deserialize_sync_user;
use ::model::*;

#[cfg(feature="model")]
use std::borrow::Cow;
#[cfg(feature="cache")]
use ::CACHE;
#[cfg(feature="cache")]
use ::internal::prelude::*;
#[cfg(feature="model")]
#[cfg(all(feature="cache", feature="model"))]
use ::http;
#[cfg(feature="builder")]
#[cfg(all(feature="builder", feature="cache", feature="model"))]
use ::builder::EditMember;
#[cfg(feature="utils")]
#[cfg(all(feature="cache", feature="model", feature="utils"))]
use ::utils::Colour;

/// Information about a member of a guild.
Expand Down Expand Up @@ -108,7 +109,7 @@ impl Member {
}

/// Determines the member's colour.
#[cfg(feature="cache")]
#[cfg(all(feature="cache", feature="utils"))]
pub fn colour(&self) -> Option<Colour> {
let guild_id = match self.find_guild() {
Ok(guild_id) => guild_id,
Expand Down
5 changes: 3 additions & 2 deletions src/model/guild/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,16 @@ pub use self::role::*;
use serde::de::Error as DeError;
use serde_json;
use super::utils::*;
use ::constants::LARGE_THRESHOLD;
use ::model::*;

#[cfg(feature="cache")]
use ::CACHE;
#[cfg(feature="http")]
#[cfg(feature="model")]
use ::http;
#[cfg(feature="model")]
use ::builder::{EditGuild, EditMember, EditRole};
#[cfg(feature="model")]
use ::constants::LARGE_THRESHOLD;

/// A representation of a banning of a user.
#[derive(Clone, Debug, Deserialize)]
Expand Down
8 changes: 4 additions & 4 deletions src/model/guild/role.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use ::model::*;

#[cfg(feature="cache")]
use ::CACHE;
#[cfg(all(feature="builder", feature="cache", feature="model"))]
use ::builder::EditRole;
#[cfg(feature="cache")]
use ::internal::prelude::*;
#[cfg(feature="model")]
#[cfg(all(feature="cache", feature="model"))]
use ::http;
#[cfg(feature="builder")]
use ::builder::EditRole;

/// Information about a role within a guild. A role represents a set of
/// permissions, and can be attached to one or multiple users. A role has
Expand Down Expand Up @@ -91,7 +91,7 @@ impl Role {
///
/// [`Role`]: struct.Role.html
/// [Manage Roles]: permissions/constant.MANAGE_ROLES.html
#[cfg(feature="cache")]
#[cfg(all(feature="builder", feature="cache"))]
pub fn edit_role<F: FnOnce(EditRole) -> EditRole>(&self, f: F) -> Result<Role> {
match self.find_guild() {
Ok(guild_id) => guild_id.edit_role(self.id, f),
Expand Down
6 changes: 4 additions & 2 deletions src/model/invite.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
use super::*;
use ::internal::prelude::*;

#[cfg(feature="cache")]
use super::{permissions, utils as model_utils};
#[cfg(feature="model")]
use ::builder::CreateInvite;
#[cfg(feature="model")]
use ::http;
#[cfg(feature="model")]
use ::builder::CreateInvite;
use ::internal::prelude::*;

/// Information about an invite code.
///
Expand Down Expand Up @@ -100,6 +101,7 @@ impl Invite {
}

/// Gets the information about an invite.
#[allow(unused_mut)]
pub fn get(code: &str, stats: bool) -> Result<Invite> {
let mut invite = code;

Expand Down
8 changes: 5 additions & 3 deletions src/model/misc.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
use std::result::Result as StdResult;
use std::str::FromStr;
use super::*;

#[cfg(feature="utils")]
#[cfg(all(feature="model", feature="utils"))]
use std::result::Result as StdResult;
#[cfg(all(feature="model", feature="utils"))]
use std::str::FromStr;
#[cfg(any(all(feature="cache", feature="utils"), all(feature="model", feature="utils")))]
use ::utils;

/// Allows something - such as a channel or role - to be mentioned in a message.
Expand Down

0 comments on commit 7a96b8a

Please sign in to comment.