aboutsummaryrefslogtreecommitdiff
path: root/src/model/guild
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2018-04-26 21:02:02 -0700
committerZeyla Hellyer <[email protected]>2018-05-27 19:21:18 -0700
commit309eee7ba66de7870011825a9130828e9b49e83c (patch)
tree202559d698f927b0f8840804b7b5ccc83cb325f0 /src/model/guild
parentRemove user account relation docs/functions (diff)
downloadserenity-309eee7ba66de7870011825a9130828e9b49e83c.tar.xz
serenity-309eee7ba66de7870011825a9130828e9b49e83c.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 c95c07f..ce3dd01 100644
--- a/src/model/guild/member.rs
+++ b/src/model/guild/member.rs
@@ -113,7 +113,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) {
@@ -395,7 +396,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 53ec478..800d178 100644
--- a/src/model/guild/role.rs
+++ b/src/model/guild/role.rs
@@ -83,7 +83,11 @@ impl Role {
/// # let role = RoleId(7).find().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