Skip to content

Commit

Permalink
Bump bitflags to 2.x (serenity-rs#2531)
Browse files Browse the repository at this point in the history
Breaking change: Model structs represented by bitflags no longer implement `PartialOrd` nor `Ord`.
  • Loading branch information
mkrasnitski authored Sep 5, 2023
1 parent 944e53c commit 44a1d83
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 42 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ members = ["examples/*"]

[dependencies]
# Required dependencies
bitflags = "1.3"
bitflags = "2.4"
serde_json = "1.0.75"
async-trait = "0.1.54"
tracing = { version = "0.1.23", features = ["log"] }
Expand Down
8 changes: 1 addition & 7 deletions src/internal/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -156,10 +156,9 @@ macro_rules! bitflags {
const $Flag:ident = $value:expr;
)*
}

$($t:tt)*
) => {
bitflags::bitflags! {
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
$(#[$outer])*
$vis struct $BitFlags: $T {
$(
Expand All @@ -170,10 +169,6 @@ macro_rules! bitflags {
}

bitflags!(__impl_serde $BitFlags: $T);

bitflags! {
$($t)*
}
};
(__impl_serde $BitFlags:ident: $T:tt) => {
impl<'de> serde::de::Deserialize<'de> for $BitFlags {
Expand All @@ -188,7 +183,6 @@ macro_rules! bitflags {
}
}
};
() => {};
}

#[cfg(test)]
Expand Down
66 changes: 33 additions & 33 deletions src/model/permissions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -137,22 +137,22 @@ macro_rules! generate_get_permission_names {
/// [Speak]: Permissions::SPEAK
/// [Use External Emojis]: Permissions::USE_EXTERNAL_EMOJIS
/// [Use VAD]: Permissions::USE_VAD
pub const PRESET_GENERAL: Permissions = Permissions {
bits: Permissions::ADD_REACTIONS.bits
| Permissions::ATTACH_FILES.bits
| Permissions::CHANGE_NICKNAME.bits
| Permissions::CONNECT.bits
| Permissions::CREATE_INSTANT_INVITE.bits
| Permissions::EMBED_LINKS.bits
| Permissions::MENTION_EVERYONE.bits
| Permissions::READ_MESSAGE_HISTORY.bits
| Permissions::VIEW_CHANNEL.bits
| Permissions::SEND_MESSAGES.bits
| Permissions::SEND_TTS_MESSAGES.bits
| Permissions::SPEAK.bits
| Permissions::USE_EXTERNAL_EMOJIS.bits
| Permissions::USE_VAD.bits,
};
pub const PRESET_GENERAL: Permissions = Permissions::from_bits_truncate(
Permissions::ADD_REACTIONS.bits()
| Permissions::ATTACH_FILES.bits()
| Permissions::CHANGE_NICKNAME.bits()
| Permissions::CONNECT.bits()
| Permissions::CREATE_INSTANT_INVITE.bits()
| Permissions::EMBED_LINKS.bits()
| Permissions::MENTION_EVERYONE.bits()
| Permissions::READ_MESSAGE_HISTORY.bits()
| Permissions::VIEW_CHANNEL.bits()
| Permissions::SEND_MESSAGES.bits()
| Permissions::SEND_TTS_MESSAGES.bits()
| Permissions::SPEAK.bits()
| Permissions::USE_EXTERNAL_EMOJIS.bits()
| Permissions::USE_VAD.bits(),
);

/// Returns a set of text-only permissions with the original `@everyone` permissions set to true.
///
Expand Down Expand Up @@ -180,19 +180,19 @@ pub const PRESET_GENERAL: Permissions = Permissions {
/// [Send Messages]: Permissions::SEND_MESSAGES
/// [Send TTS Messages]: Permissions::SEND_TTS_MESSAGES
/// [Use External Emojis]: Permissions::USE_EXTERNAL_EMOJIS
pub const PRESET_TEXT: Permissions = Permissions {
bits: Permissions::ADD_REACTIONS.bits
| Permissions::ATTACH_FILES.bits
| Permissions::CHANGE_NICKNAME.bits
| Permissions::CREATE_INSTANT_INVITE.bits
| Permissions::EMBED_LINKS.bits
| Permissions::MENTION_EVERYONE.bits
| Permissions::READ_MESSAGE_HISTORY.bits
| Permissions::VIEW_CHANNEL.bits
| Permissions::SEND_MESSAGES.bits
| Permissions::SEND_TTS_MESSAGES.bits
| Permissions::USE_EXTERNAL_EMOJIS.bits,
};
pub const PRESET_TEXT: Permissions = Permissions::from_bits_truncate(
Permissions::ADD_REACTIONS.bits()
| Permissions::ATTACH_FILES.bits()
| Permissions::CHANGE_NICKNAME.bits()
| Permissions::CREATE_INSTANT_INVITE.bits()
| Permissions::EMBED_LINKS.bits()
| Permissions::MENTION_EVERYONE.bits()
| Permissions::READ_MESSAGE_HISTORY.bits()
| Permissions::VIEW_CHANNEL.bits()
| Permissions::SEND_MESSAGES.bits()
| Permissions::SEND_TTS_MESSAGES.bits()
| Permissions::USE_EXTERNAL_EMOJIS.bits(),
);

/// Returns a set of voice-only permissions with the original `@everyone` permissions set to true.
///
Expand All @@ -204,9 +204,9 @@ pub const PRESET_TEXT: Permissions = Permissions {
/// [Connect]: Permissions::CONNECT
/// [Speak]: Permissions::SPEAK
/// [Use VAD]: Permissions::USE_VAD
pub const PRESET_VOICE: Permissions = Permissions {
bits: Permissions::CONNECT.bits | Permissions::SPEAK.bits | Permissions::USE_VAD.bits,
};
pub const PRESET_VOICE: Permissions = Permissions::from_bits_truncate(
Permissions::CONNECT.bits() | Permissions::SPEAK.bits() | Permissions::USE_VAD.bits(),
);

bitflags::bitflags! {
/// A set of permissions that can be assigned to [`User`]s and [`Role`]s via
Expand All @@ -219,7 +219,7 @@ bitflags::bitflags! {
/// [`PermissionOverwrite`]: super::channel::PermissionOverwrite
/// [`Role`]: super::guild::Role
/// [`User`]: super::user::User
#[derive(Default)]
#[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
pub struct Permissions: u64 {
/// Allows for the creation of [`RichInvite`]s.
///
Expand Down
2 changes: 1 addition & 1 deletion voice-model/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ version = "0.1.1"
edition = "2018"

[dependencies]
bitflags = "1"
bitflags = "2.4"
enum_primitive = "0.1.1"
serde_repr = "0.1.5"

Expand Down
1 change: 1 addition & 0 deletions voice-model/src/speaking_state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use serde::{Deserialize, Serialize};

bitflags! {
/// Flag set describing how a speaker is sending audio.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct SpeakingState: u8 {
/// Normal transmission of voice audio.
const MICROPHONE = 1;
Expand Down

0 comments on commit 44a1d83

Please sign in to comment.