From bcd16dddb8cc3086a13524c79676f3a8bebbc524 Mon Sep 17 00:00:00 2001 From: Zeyla Hellyer Date: Sat, 16 Dec 2017 08:39:36 -0800 Subject: Break up the model module The `model` module has historically been one giant module re-exporting all of the model types, which is somewhere around 100 types. This can be a lot to look at for a new user and somewhat overwhelming, especially with a large number of fine-grained imports from the module. The module is now neatly split up into submodules, mostly like it has been internally since the early versions of the library. The submodules are: - application - channel - error - event - gateway - guild - id - invite - misc - permissions - prelude - user - voice - webhook Each submodule contains types that are "owned" by the module. For example, the `guild` submodule contains, but not limited to, Emoji, AuditLogsEntry, Role, and Member. `channel` contains, but not limited to, Attachment, Embed, Message, and Reaction. Upgrade path: Instead of glob importing the models via `use serenity::model::*;`, instead glob import via the prelude: ```rust use serenity::model::prelude::*; ``` Instead of importing from the root model module: ```rust use serenity::model::{Guild, Message, OnlineStatus, Role, User}; ``` instead import from the submodules like so: ```rust use serenity::model::channel::Message; use serenity::model::guild::{Guild, Role}; use serenity::model::user::{OnlineStatus, User}; ``` --- src/model/guild/partial_guild.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/model/guild/partial_guild.rs') diff --git a/src/model/guild/partial_guild.rs b/src/model/guild/partial_guild.rs index 857ef0d..d5312b5 100644 --- a/src/model/guild/partial_guild.rs +++ b/src/model/guild/partial_guild.rs @@ -1,4 +1,4 @@ -use model::*; +use model::prelude::*; use super::super::utils::{deserialize_emojis, deserialize_roles}; #[cfg(feature = "model")] @@ -448,7 +448,7 @@ impl PartialGuild { /// Obtain a reference to a [`Role`] by its name. /// /// ```rust,no_run - /// use serenity::model::*; + /// use serenity::model::prelude::*; /// use serenity::prelude::*; /// /// struct Handler; @@ -457,8 +457,10 @@ impl PartialGuild { /// /// impl EventHandler for Handler { /// fn message(&self, _: Context, msg: Message) { - /// if let Some(role) = - /// msg.guild_id().unwrap().get().unwrap().role_by_name("role_name") { + /// let guild = msg.guild_id().unwrap().get().unwrap(); + /// let possible_role = guild.role_by_name("role_name"); + /// + /// if let Some(role) = possible_role { /// println!("Obtained role's reference: {:?}", role); /// } /// } -- cgit v1.2.3