aboutsummaryrefslogtreecommitdiff
path: root/src/builder/edit_message.rs
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/builder/edit_message.rs
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/builder/edit_message.rs')
-rw-r--r--src/builder/edit_message.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/builder/edit_message.rs b/src/builder/edit_message.rs
index 29da46a..7c15e2b 100644
--- a/src/builder/edit_message.rs
+++ b/src/builder/edit_message.rs
@@ -14,8 +14,11 @@ use utils::{self, VecMap};
/// #
/// # let mut message = ChannelId(7).message(MessageId(8)).unwrap();
/// #
+/// let _ = message.edit(|mut m| {
+/// m.content("hello");
///
-/// let _ = message.edit(|m| m.content("hello"));
+/// m
+/// });
/// ```
///
/// [`Message`]: ../model/channel/struct.Message.html
@@ -26,20 +29,15 @@ impl EditMessage {
/// Set the content of the message.
///
/// **Note**: Message contents must be under 2000 unicode code points.
- pub fn content<D: Display>(mut self, content: D) -> Self {
+ pub fn content<D: Display>(&mut self, content: D) {
self.0.insert("content", Value::String(content.to_string()));
-
- self
}
/// Set an embed for the message.
- pub fn embed<F>(mut self, f: F) -> Self
- where F: FnOnce(CreateEmbed) -> CreateEmbed {
+ pub fn embed<F: FnOnce(CreateEmbed) -> CreateEmbed>(&mut self, f: F) {
let map = utils::vecmap_to_json_map(f(CreateEmbed::default()).0);
let embed = Value::Object(map);
self.0.insert("embed", embed);
-
- self
}
}