aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrançois Triquet <[email protected]>2017-10-04 08:41:54 +0200
committerZeyla Hellyer <[email protected]>2017-10-09 15:47:48 -0700
commitb14650193342297746f985f8794e4b93ceeac52b (patch)
treee43c3b95c22746e7b9ef26cdc9431326a3b384c8 /src
parentForce `I` to be not implemented outside serenity (diff)
downloadserenity-b14650193342297746f985f8794e4b93ceeac52b.tar.xz
serenity-b14650193342297746f985f8794e4b93ceeac52b.zip
Replace Vec parameters by IntoIterator (#176)
Diffstat (limited to 'src')
-rw-r--r--src/builder/create_embed.rs2
-rw-r--r--src/builder/create_message.rs2
-rw-r--r--src/framework/standard/configuration.rs6
-rw-r--r--src/framework/standard/create_command.rs6
-rw-r--r--src/framework/standard/create_group.rs4
-rw-r--r--src/http/mod.rs4
-rw-r--r--src/model/channel/channel_id.rs2
-rw-r--r--src/model/channel/group.rs2
-rw-r--r--src/model/channel/guild_channel.rs2
-rw-r--r--src/model/channel/mod.rs2
-rw-r--r--src/model/channel/private_channel.rs2
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)
}