Skip to content

Commit 76876b9

Browse files
committed
chore: cargo clippy
1 parent e4fdd15 commit 76876b9

10 files changed

Lines changed: 45 additions & 52 deletions

File tree

bathbot/src/active/impls/single_score.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -847,11 +847,9 @@ fn write_value(
847847
if is_fail {
848848
let n_objects = data.map.n_objects();
849849

850-
let completion = if n_objects != 0 {
851-
100 * data.score.total_hits() / n_objects
852-
} else {
853-
100
854-
};
850+
let completion = (100 * data.score.total_hits())
851+
.checked_div(n_objects)
852+
.unwrap_or(100);
855853

856854
let _ = write!(writer, "@{completion}%");
857855
}

bathbot/src/commands/fun/bg_game/rankings.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use std::collections::{BTreeMap, HashSet};
1+
use std::{
2+
cmp::Reverse,
3+
collections::{BTreeMap, HashSet},
4+
};
25

36
use bathbot_model::{RankingEntries, RankingEntry, RankingKind};
47
use bathbot_util::{IntHasher, constants::GENERAL_ISSUE};
@@ -38,7 +41,7 @@ pub async fn leaderboard(msg: &Message, global: bool) -> Result<()> {
3841

3942
let author = msg.author.id.get() as i64;
4043

41-
scores.sort_unstable_by(|a, b| b.score.cmp(&a.score));
44+
scores.sort_unstable_by_key(|a| Reverse(a.score));
4245
let author_idx = scores.iter().position(|row| row.discord_id == author);
4346

4447
// Gather usernames for initial page

bathbot/src/commands/fun/higherlower_game.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use std::collections::{BTreeMap, HashSet};
1+
use std::{
2+
cmp::Reverse,
3+
collections::{BTreeMap, HashSet},
4+
};
25

36
use bathbot_macros::SlashCommand;
47
use bathbot_model::{
@@ -120,7 +123,7 @@ async fn higherlower_leaderboard(
120123
let owner = command.user_id()?;
121124
let author = owner.get() as i64;
122125

123-
scores.sort_unstable_by(|a, b| b.highscore.cmp(&a.highscore));
126+
scores.sort_unstable_by_key(|a| Reverse(a.highscore));
124127
let author_idx = scores.iter().position(|row| row.discord_id == author);
125128

126129
// Gather usernames for initial page

bathbot/src/commands/osu/relax/top.rs

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use std::{cmp::Ordering, collections::HashMap};
1+
use std::{
2+
cmp::{Ordering, Reverse},
3+
collections::HashMap,
4+
};
25

36
use bathbot_macros::command;
47
use bathbot_util::{constants::GENERAL_ISSUE, matcher};
@@ -154,19 +157,13 @@ async fn top(orig: CommandOrigin<'_>, args: RelaxTop<'_>) -> Result<()> {
154157
.beats_per_minute
155158
.total_cmp(&lhs.beatmap.beats_per_minute)
156159
}),
157-
RelaxTopOrder::Combo => scores.sort_unstable_by(|lhs, rhs| rhs.combo.cmp(&lhs.combo)),
158-
RelaxTopOrder::Date => scores.sort_unstable_by(|lhs, rhs| rhs.date.cmp(&lhs.date)),
159-
RelaxTopOrder::Misses => {
160-
scores.sort_unstable_by(|lhs, rhs| rhs.count_miss.cmp(&lhs.count_miss))
161-
}
162-
RelaxTopOrder::ModsCount => {
163-
scores.sort_unstable_by(|lhs, rhs| rhs.mods.len().cmp(&lhs.mods.len()))
164-
}
160+
RelaxTopOrder::Combo => scores.sort_unstable_by_key(|a| Reverse(a.combo)),
161+
RelaxTopOrder::Date => scores.sort_unstable_by_key(|a| Reverse(a.date)),
162+
RelaxTopOrder::Misses => scores.sort_unstable_by_key(|a| Reverse(a.count_miss)),
163+
RelaxTopOrder::ModsCount => scores.sort_unstable_by_key(|a| Reverse(a.mods.len())),
165164
RelaxTopOrder::Pp => scores
166165
.sort_unstable_by(|lhs, rhs| rhs.pp.partial_cmp(&lhs.pp).unwrap_or(Ordering::Equal)),
167-
RelaxTopOrder::Score => {
168-
scores.sort_unstable_by(|lhs, rhs| rhs.total_score.cmp(&lhs.total_score))
169-
}
166+
RelaxTopOrder::Score => scores.sort_unstable_by_key(|a| Reverse(a.total_score)),
170167
}
171168

172169
let pagination = RelaxTopPagination::builder()

bathbot/src/commands/osu/top/if_.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{borrow::Cow, fmt::Write};
1+
use std::{borrow::Cow, cmp::Reverse, fmt::Write};
22

33
use bathbot_macros::{HasName, SlashCommand, command};
44
use bathbot_model::{ScoreSlim, command_fields::GameModeOption};
@@ -620,9 +620,7 @@ async fn process_scores(
620620
.total_cmp(&a.stars)
621621
.then_with(|| b.score.pp.total_cmp(&a.score.pp))
622622
}),
623-
TopIfScoreOrder::Date => {
624-
entries.sort_unstable_by(|a, b| b.score.ended_at.cmp(&a.score.ended_at))
625-
}
623+
TopIfScoreOrder::Date => entries.sort_unstable_by_key(|a| Reverse(a.score.ended_at)),
626624
}
627625

628626
Ok(entries)

bathbot/src/commands/osu/top/old.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use std::{borrow::Cow, cmp::Ordering};
1+
use std::{
2+
borrow::Cow,
3+
cmp::{Ordering, Reverse},
4+
};
25

36
use bathbot_macros::{HasMods, HasName, SlashCommand, command};
47
use bathbot_model::ScoreSlim;
@@ -1358,9 +1361,7 @@ impl CommonArgs<'_> {
13581361
TopIfScoreOrder::PpGain => entries.sort_by(|a, b| b.pp_diff().total_cmp(&a.pp_diff())),
13591362
TopIfScoreOrder::PpLoss => entries.sort_by(|a, b| a.pp_diff().total_cmp(&b.pp_diff())),
13601363
TopIfScoreOrder::Stars => entries.sort_unstable_by(|a, b| b.stars.total_cmp(&a.stars)),
1361-
TopIfScoreOrder::Date => {
1362-
entries.sort_unstable_by(|a, b| b.score.ended_at.cmp(&a.score.ended_at))
1363-
}
1364+
TopIfScoreOrder::Date => entries.sort_unstable_by_key(|a| Reverse(a.score.ended_at)),
13641365
}
13651366

13661367
if self.reverse.unwrap_or(false) {

bathbot/src/core/commands/checks.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,9 @@ fn text_channel_permissions(
188188

189189
for overwrite in permission_overwrites.iter() {
190190
match PermissionOverwriteTypeRkyv::deserialize(overwrite.kind) {
191-
PermissionOverwriteType::Member => {
192-
if overwrite.id.cast() == user {
193-
user_allowed |= Permissions::from_bits_truncate(overwrite.allow.to_native());
194-
user_denied |= Permissions::from_bits_truncate(overwrite.deny.to_native());
195-
}
191+
PermissionOverwriteType::Member if overwrite.id.cast() == user => {
192+
user_allowed |= Permissions::from_bits_truncate(overwrite.allow.to_native());
193+
user_denied |= Permissions::from_bits_truncate(overwrite.deny.to_native());
196194
}
197195
PermissionOverwriteType::Role => {
198196
if overwrite.id.cast() == guild {

bathbot/src/core/events/mod.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -236,16 +236,15 @@ async fn handle_event(event: Event, shard_id: u32) {
236236
.unwrap()
237237
.insert(e.guild_id);
238238
}
239-
Event::MemberChunk(e) => {
239+
Event::MemberChunk(e)
240240
if e.members
241241
.iter()
242-
.any(|member| member.user.id == MISS_ANALYZER_ID)
243-
{
244-
Context::miss_analyzer_guilds()
245-
.write()
246-
.unwrap()
247-
.insert(e.guild_id);
248-
}
242+
.any(|member| member.user.id == MISS_ANALYZER_ID) =>
243+
{
244+
Context::miss_analyzer_guilds()
245+
.write()
246+
.unwrap()
247+
.insert(e.guild_id);
249248
}
250249
Event::MemberRemove(e) if e.user.id == MISS_ANALYZER_ID => {
251250
Context::miss_analyzer_guilds()

bathbot/src/embeds/osu/profile_compare.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -734,12 +734,10 @@ struct MissRate {
734734

735735
impl MissRate {
736736
fn rate(&self) -> (Box<str>, u32) {
737-
if self.misses == 0 {
738-
(format!("0m/{} hits", self.hits).into_boxed_str(), self.hits)
739-
} else {
740-
let div = self.hits / self.misses;
741-
737+
if let Some(div) = self.hits.checked_div(self.misses) {
742738
(format!("1m/{div} hits").into_boxed_str(), div)
739+
} else {
740+
(format!("0m/{} hits", self.hits).into_boxed_str(), self.hits)
743741
}
744742
}
745743

bathbot/src/util/osu.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,9 @@ impl<'a> GradeCompletionFormatter<'a> {
9191
impl Display for GradeCompletionFormatter<'_> {
9292
fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult {
9393
let completion = || {
94-
if self.n_objects != 0 {
95-
100 * self.score_hits / self.n_objects
96-
} else {
97-
100
98-
}
94+
(100 * self.score_hits)
95+
.checked_div(self.n_objects)
96+
.unwrap_or(100)
9997
};
10098

10199
let grade_fmt = GradeFormatter {

0 commit comments

Comments
 (0)