aboutsummaryrefslogtreecommitdiff
path: root/src/model/guild
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2018-04-26 21:02:02 -0700
committerKen Swenson <[email protected]>2018-11-06 20:30:49 -0500
commit0de0a81be06268f8ec57c8d825cbc70355fe869a (patch)
tree9cfeaf04035c5623c720a6252be9470a03ccbd8f /src/model/guild
parentPermit sending files through the `CreateMessage` builder. (diff)
downloadserenity-0de0a81be06268f8ec57c8d825cbc70355fe869a.tar.xz
serenity-0de0a81be06268f8ec57c8d825cbc70355fe869a.zip
Make builders mutably borrowed
Change the builders so that they are now mutably borrowed, accepting `&mut self` instead of `self`. Their methods now return `()` instead of `Self`. Upgrade path: Change code such as the following: ```rust channel.send_message(|m| m .embed(|e| e .description("test") .title("title"))); ``` to the following style: ```rust channel.send_message(|mut m| { m.embed(|mut e| { e.description("test"); e.title("title"); e }); m }); ``` Closes #159.
Diffstat (limited to 'src/model/guild')
-rw-r--r--src/model/guild/member.rs6
-rw-r--r--src/model/guild/role.rs6
2 files changed, 9 insertions, 3 deletions
diff --git a/src/model/guild/member.rs b/src/model/guild/member.rs
index 34f2af1..dae2b41 100644
--- a/src/model/guild/member.rs
+++ b/src/model/guild/member.rs
@@ -117,7 +117,8 @@ impl Member {
pub fn add_roles(&mut self, role_ids: &[RoleId]) -> Result<()> {
self.roles.extend_from_slice(role_ids);
- let builder = EditMember::default().roles(&self.roles);
+ let mut builder = EditMember::default();
+ builder.roles(&self.roles);
let map = utils::vecmap_to_json_map(builder.0);
match http::edit_member(self.guild_id.0, self.user.read().id.0, &map) {
@@ -405,7 +406,8 @@ impl Member {
pub fn remove_roles(&mut self, role_ids: &[RoleId]) -> Result<()> {
self.roles.retain(|r| !role_ids.contains(r));
- let builder = EditMember::default().roles(&self.roles);
+ let mut builder = EditMember::default();
+ builder.roles(&self.roles);
let map = utils::vecmap_to_json_map(builder.0);
match http::edit_member(self.guild_id.0, self.user.read().id.0, &map) {
diff --git a/src/model/guild/role.rs b/src/model/guild/role.rs
index 53239a8..39f6339 100644
--- a/src/model/guild/role.rs
+++ b/src/model/guild/role.rs
@@ -90,7 +90,11 @@ impl Role {
/// # let role = RoleId(7).to_role_cached().unwrap();
/// // assuming a `role` has already been bound
//
- /// role.edit(|r| r.hoist(true));
+ /// role.edit(|mut r| {
+ /// r.hoist(true);
+ ///
+ /// r
+ /// });
/// ```
///
/// [`Role`]: struct.Role.html