diff options
| author | Zeyla Hellyer <[email protected]> | 2018-04-26 21:02:02 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2018-05-27 19:21:18 -0700 |
| commit | 309eee7ba66de7870011825a9130828e9b49e83c (patch) | |
| tree | 202559d698f927b0f8840804b7b5ccc83cb325f0 /src/builder/edit_message.rs | |
| parent | Remove user account relation docs/functions (diff) | |
| download | serenity-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.rs | 14 |
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 } } |