diff options
| author | François Triquet <[email protected]> | 2017-10-04 08:41:54 +0200 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-10-09 15:47:48 -0700 |
| commit | b14650193342297746f985f8794e4b93ceeac52b (patch) | |
| tree | e43c3b95c22746e7b9ef26cdc9431326a3b384c8 /src | |
| parent | Force `I` to be not implemented outside serenity (diff) | |
| download | serenity-b14650193342297746f985f8794e4b93ceeac52b.tar.xz serenity-b14650193342297746f985f8794e4b93ceeac52b.zip | |
Replace Vec parameters by IntoIterator (#176)
Diffstat (limited to 'src')
| -rw-r--r-- | src/builder/create_embed.rs | 2 | ||||
| -rw-r--r-- | src/builder/create_message.rs | 2 | ||||
| -rw-r--r-- | src/framework/standard/configuration.rs | 6 | ||||
| -rw-r--r-- | src/framework/standard/create_command.rs | 6 | ||||
| -rw-r--r-- | src/framework/standard/create_group.rs | 4 | ||||
| -rw-r--r-- | src/http/mod.rs | 4 | ||||
| -rw-r--r-- | src/model/channel/channel_id.rs | 2 | ||||
| -rw-r--r-- | src/model/channel/group.rs | 2 | ||||
| -rw-r--r-- | src/model/channel/guild_channel.rs | 2 | ||||
| -rw-r--r-- | src/model/channel/mod.rs | 2 | ||||
| -rw-r--r-- | src/model/channel/private_channel.rs | 2 |
11 files changed, 17 insertions, 17 deletions
diff --git a/src/builder/create_embed.rs b/src/builder/create_embed.rs index a128c91..a6b264c 100644 --- a/src/builder/create_embed.rs +++ b/src/builder/create_embed.rs @@ -143,7 +143,7 @@ impl CreateEmbed { } /// Adds multiple fields at once. - pub fn fields(mut self, fields: Vec<CreateEmbedField>) -> Self { + pub fn fields<It: IntoIterator<Item=CreateEmbedField>>(mut self, fields: It) -> Self { let fields = fields .into_iter() .map(|m| Value::Object(m.0)) diff --git a/src/builder/create_message.rs b/src/builder/create_message.rs index 96bad82..821048b 100644 --- a/src/builder/create_message.rs +++ b/src/builder/create_message.rs @@ -74,7 +74,7 @@ impl CreateMessage { } /// Adds a list of reactions to create after the message's sent. - pub fn reactions<R: Into<ReactionType>>(mut self, reactions: Vec<R>) -> Self { + pub fn reactions<R: Into<ReactionType>, It: IntoIterator<Item=R>>(mut self, reactions: It) -> Self { self.1 = Some(reactions.into_iter().map(|r| r.into()).collect()); CreateMessage(self.0, self.1) diff --git a/src/framework/standard/configuration.rs b/src/framework/standard/configuration.rs index 8112319..8cc25fa 100644 --- a/src/framework/standard/configuration.rs +++ b/src/framework/standard/configuration.rs @@ -352,8 +352,8 @@ impl Configuration { /// client.with_framework(StandardFramework::new().configure(|c| c /// .prefixes(vec!["!", ">", "+"]))); /// ``` - pub fn prefixes(mut self, prefixes: Vec<&str>) -> Self { - self.prefixes = prefixes.iter().map(|x| x.to_string()).collect(); + pub fn prefixes<T: ToString, It: IntoIterator<Item=T>>(mut self, prefixes: It) -> Self { + self.prefixes = prefixes.into_iter().map(|x| x.to_string()).collect(); self } @@ -401,7 +401,7 @@ impl Configuration { /// client.with_framework(StandardFramework::new().configure(|c| c /// .delimiters(vec![", ", " "]))); /// ``` - pub fn delimiters(mut self, delimiters: Vec<&str>) -> Self { + pub fn delimiters<T: ToString, It: IntoIterator<Item=T>>(mut self, delimiters: It) -> Self { self.delimiters.clear(); self.delimiters .extend(delimiters.into_iter().map(|s| s.to_string())); diff --git a/src/framework/standard/create_command.rs b/src/framework/standard/create_command.rs index 40877b9..e4665e8 100644 --- a/src/framework/standard/create_command.rs +++ b/src/framework/standard/create_command.rs @@ -9,7 +9,7 @@ pub struct CreateCommand(pub Command); impl CreateCommand { /// Adds multiple aliases. - pub fn batch_known_as(mut self, names: Vec<&str>) -> Self { + pub fn batch_known_as<T: ToString, It: IntoIterator<Item=T>>(mut self, names: It) -> Self { self.0 .aliases .extend(names.into_iter().map(|n| n.to_string())); @@ -208,8 +208,8 @@ impl CreateCommand { } /// Sets roles that are allowed to use the command. - pub fn allowed_roles(mut self, allowed_roles: Vec<&str>) -> Self { - self.0.allowed_roles = allowed_roles.iter().map(|x| x.to_string()).collect(); + pub fn allowed_roles<T: ToString, It: IntoIterator<Item=T>>(mut self, allowed_roles: It) -> Self { + self.0.allowed_roles = allowed_roles.into_iter().map(|x| x.to_string()).collect(); self } diff --git a/src/framework/standard/create_group.rs b/src/framework/standard/create_group.rs index 1d6d49c..8f6d5ac 100644 --- a/src/framework/standard/create_group.rs +++ b/src/framework/standard/create_group.rs @@ -139,8 +139,8 @@ impl CreateGroup { } /// Sets roles that are allowed to use the command. - pub fn allowed_roles(mut self, allowed_roles: Vec<&str>) -> Self { - self.0.allowed_roles = allowed_roles.iter().map(|x| x.to_string()).collect(); + pub fn allowed_roles<T: ToString, It: IntoIterator<Item=T>>(mut self, allowed_roles: It) -> Self { + self.0.allowed_roles = allowed_roles.into_iter().map(|x| x.to_string()).collect(); self } diff --git a/src/http/mod.rs b/src/http/mod.rs index 4f70dcf..1828bd7 100644 --- a/src/http/mod.rs +++ b/src/http/mod.rs @@ -1611,7 +1611,7 @@ pub fn remove_group_recipient(group_id: u64, user_id: u64) -> Result<()> { /// if the file is too large to send. /// /// [`HttpError::InvalidRequest`]: enum.HttpError.html#variant.InvalidRequest -pub fn send_files<'a, T>(channel_id: u64, files: Vec<T>, map: JsonMap) -> Result<Message> +pub fn send_files<'a, T, It: IntoIterator<Item=T>>(channel_id: u64, files: It, map: JsonMap) -> Result<Message> where T: Into<AttachmentType<'a>> { let uri = format!(api!("/channels/{}/messages"), channel_id); let url = match Url::parse(&uri) { @@ -1632,7 +1632,7 @@ pub fn send_files<'a, T>(channel_id: u64, files: Vec<T>, map: JsonMap) -> Result let mut request = Multipart::from_request(request)?; let mut file_num = "0".to_string(); - for file in files { + for file in files.into_iter() { match file.into() { AttachmentType::Bytes((mut bytes, filename)) => { request diff --git a/src/model/channel/channel_id.rs b/src/model/channel/channel_id.rs index 4cc997d..93db984 100644 --- a/src/model/channel/channel_id.rs +++ b/src/model/channel/channel_id.rs @@ -439,7 +439,7 @@ impl ChannelId { /// [`GuildChannel`]: struct.GuildChannel.html /// [Attach Files]: permissions/constant.ATTACH_FILES.html /// [Send Messages]: permissions/constant.SEND_MESSAGES.html - pub fn send_files<'a, F, T>(&self, files: Vec<T>, f: F) -> Result<Message> + pub fn send_files<'a, F, T, It: IntoIterator<Item=T>>(&self, files: It, f: F) -> Result<Message> where F: FnOnce(CreateMessage) -> CreateMessage, T: Into<AttachmentType<'a>> { let mut map = f(CreateMessage::default()).0; diff --git a/src/model/channel/group.rs b/src/model/channel/group.rs index 418ce3a..a8f08a8 100644 --- a/src/model/channel/group.rs +++ b/src/model/channel/group.rs @@ -295,7 +295,7 @@ impl Group { /// [Attach Files]: permissions/constant.ATTACH_FILES.html /// [Send Messages]: permissions/constant.SEND_MESSAGES.html #[inline] - pub fn send_files<'a, F, T>(&self, files: Vec<T>, f: F) -> Result<Message> + pub fn send_files<'a, F, T, It: IntoIterator<Item=T>>(&self, files: It, f: F) -> Result<Message> where F: FnOnce(CreateMessage) -> CreateMessage, T: Into<AttachmentType<'a>> { self.channel_id.send_files(files, f) } diff --git a/src/model/channel/guild_channel.rs b/src/model/channel/guild_channel.rs index 6cd3b72..5bfb0f1 100644 --- a/src/model/channel/guild_channel.rs +++ b/src/model/channel/guild_channel.rs @@ -578,7 +578,7 @@ impl GuildChannel { /// [Attach Files]: permissions/constant.ATTACH_FILES.html /// [Send Messages]: permissions/constant.SEND_MESSAGES.html #[inline] - pub fn send_files<'a, F, T>(&self, files: Vec<T>, f: F) -> Result<Message> + pub fn send_files<'a, F, T, It: IntoIterator<Item=T>>(&self, files: It, f: F) -> Result<Message> where F: FnOnce(CreateMessage) -> CreateMessage, T: Into<AttachmentType<'a>> { self.id.send_files(files, f) } diff --git a/src/model/channel/mod.rs b/src/model/channel/mod.rs index 33912f1..f46a486 100644 --- a/src/model/channel/mod.rs +++ b/src/model/channel/mod.rs @@ -287,7 +287,7 @@ impl Channel { /// [Send Messages]: permissions/constant.SEND_MESSAGES.html #[cfg(feature = "model")] #[inline] - pub fn send_files<'a, F, T>(&self, files: Vec<T>, f: F) -> Result<Message> + pub fn send_files<'a, F, T, It: IntoIterator<Item=T>>(&self, files: It, f: F) -> Result<Message> where F: FnOnce(CreateMessage) -> CreateMessage, T: Into<AttachmentType<'a>> { self.id().send_files(files, f) } diff --git a/src/model/channel/private_channel.rs b/src/model/channel/private_channel.rs index dab3bc5..173a057 100644 --- a/src/model/channel/private_channel.rs +++ b/src/model/channel/private_channel.rs @@ -240,7 +240,7 @@ impl PrivateChannel { /// [Attach Files]: permissions/constant.ATTACH_FILES.html /// [Send Messages]: permissions/constant.SEND_MESSAGES.html #[inline] - pub fn send_files<'a, F, T>(&self, files: Vec<T>, f: F) -> Result<Message> + pub fn send_files<'a, F, T, It: IntoIterator<Item=T>>(&self, files: It, f: F) -> Result<Message> where F: FnOnce(CreateMessage) -> CreateMessage, T: Into<AttachmentType<'a>> { self.id.send_files(files, f) } |