From f2896509ba055d506c950358c56ea37cb36c07ac Mon Sep 17 00:00:00 2001 From: "NG (Graham)" Date: Thu, 15 Jan 2026 18:56:30 -0500 Subject: [PATCH] Clippy tweaks for latest PR and multiplayer fixes --- rc_core/src/cubes/locations_of.rs | 2 +- rc_core/src/persist/user/multiplayer.rs | 3 +++ rc_core/src/persist/user/traits.rs | 1 + rc_factory_api/src/main.rs | 2 +- .../src/robocraft/factory/crf_api.rs | 23 ++++++------------- utils/clippy_fix.sh | 6 +++++ 6 files changed, 19 insertions(+), 18 deletions(-) create mode 100755 utils/clippy_fix.sh diff --git a/rc_core/src/cubes/locations_of.rs b/rc_core/src/cubes/locations_of.rs index 5ab5645..e032e69 100644 --- a/rc_core/src/cubes/locations_of.rs +++ b/rc_core/src/cubes/locations_of.rs @@ -46,7 +46,7 @@ impl CubeLocationsParser { let target_x = point.0 as f32; let target_y = point.1 as f32; let target_z = point.2 as f32; - let mut relevant_cubes: Vec<(f32, CubeLocationInfo)> = cubes.into_iter() + let mut relevant_cubes: Vec<(f32, CubeLocationInfo)> = cubes.iter() .filter(|x| x.id == locations_of_id) .map(|cube| { let distance = ( diff --git a/rc_core/src/persist/user/multiplayer.rs b/rc_core/src/persist/user/multiplayer.rs index cd5b8b8..8120a42 100644 --- a/rc_core/src/persist/user/multiplayer.rs +++ b/rc_core/src/persist/user/multiplayer.rs @@ -9,6 +9,7 @@ fn db_to_impl(client_emu: &oj_rc_database::schema::multiplayer_game_player::Clie } impl UserData { + #[allow(clippy::too_many_arguments)] pub(super) async fn generate_fake_players_data( &self, _guid: i64, @@ -57,6 +58,7 @@ impl UserData { Ok(fakes) } + #[allow(clippy::too_many_arguments)] pub(super) async fn generate_forced_fake_players_data( &self, guid: i64, @@ -77,6 +79,7 @@ impl UserData { ).await } + #[allow(clippy::too_many_arguments)] pub(super) async fn generate_filler_players_data( &self, guid: i64, diff --git a/rc_core/src/persist/user/traits.rs b/rc_core/src/persist/user/traits.rs index 745a798..f5893e9 100644 --- a/rc_core/src/persist/user/traits.rs +++ b/rc_core/src/persist/user/traits.rs @@ -265,6 +265,7 @@ pub trait LobbyUser { fn user_id(&self) -> i32; async fn player_data(&self, cpu_counter: &crate::cubes::CpuListParser) -> Result; async fn team_chooser(&self, game: &GameDescriptor) -> super::TeamChooser; + #[allow(clippy::too_many_arguments)] async fn start_game(&self, game: GameDescriptor, players: Vec, factory: &dyn oj_rc_factory::VehicleFactoryAdapter, cpu_counter: &crate::cubes::CpuListParser, weapon_lister: &crate::cubes::WeaponListParser, team_chooser: &super::TeamChooser, missing_players: usize) -> Result; } diff --git a/rc_factory_api/src/main.rs b/rc_factory_api/src/main.rs index 19ef79e..1cddbeb 100644 --- a/rc_factory_api/src/main.rs +++ b/rc_factory_api/src/main.rs @@ -16,7 +16,7 @@ async fn index() -> impl Responder { } fn io_error(e: impl ToString) -> std::io::Error { - std::io::Error::new(std::io::ErrorKind::Other, e.to_string()) + std::io::Error::other(e.to_string()) } #[actix_web::main] diff --git a/rc_factory_api/src/robocraft/factory/crf_api.rs b/rc_factory_api/src/robocraft/factory/crf_api.rs index 59e74bd..d23c20a 100644 --- a/rc_factory_api/src/robocraft/factory/crf_api.rs +++ b/rc_factory_api/src/robocraft/factory/crf_api.rs @@ -19,7 +19,7 @@ fn parse_filter(filter: &str) -> Vec { fn payload_to_query(payload: &ListPayload) -> ListQuery { ListQuery { page: (payload.page.max(1)) as usize, - page_size: (payload.page_size.max(1).min(100)) as usize, + page_size: (payload.page_size.clamp(1, 100)) as usize, order: FactoryOrderType::try_from(payload.order.clamp(0, u8::MAX.into()) as u8).unwrap_or(FactoryOrderType::Suggested), player_filter: payload.player_filter, movement_filter: parse_filter(&payload.movement_filter), @@ -91,11 +91,8 @@ fn get_info(qi: VehicleQueryInfo, vi: VehicleInfo) -> FactoryRobotGetInfo { #[post("/api/roboShopItems/list")] pub async fn list(factory: Data, body: Json) -> HttpResponse { - match factory.get_ref() { - oj_rc_core::factory::Factory::None => { - return HttpResponse::ServiceUnavailable().body("factory adapter disabled"); - } - _ => {} + if let oj_rc_core::factory::Factory::None = factory.get_ref() { + return HttpResponse::ServiceUnavailable().body("factory adapter disabled"); } let query = payload_to_query(&body.into_inner()); @@ -114,11 +111,8 @@ pub async fn list(factory: Data, body: Json) -> HttpResponse { - match factory.get_ref() { - oj_rc_core::factory::Factory::None => { - return HttpResponse::ServiceUnavailable().body("factory adapter disabled"); - } - _ => {} + if let oj_rc_core::factory::Factory::None = factory.get_ref() { + return HttpResponse::ServiceUnavailable().body("factory adapter disabled"); } let query = payload_to_query(&ListPayload::default()); @@ -137,11 +131,8 @@ pub async fn list_default(factory: Data) -> HttpRe #[get("/api/roboShopItems/get/{id}")] pub async fn get(factory: Data, id: Path) -> HttpResponse { - match factory.get_ref() { - oj_rc_core::factory::Factory::None => { - return HttpResponse::ServiceUnavailable().body("factory adapter disabled"); - } - _ => {} + if let oj_rc_core::factory::Factory::None = factory.get_ref() { + return HttpResponse::ServiceUnavailable().body("factory adapter disabled"); } match factory.vehicle(*id).await { Ok(Some((vehicle_info, query_info))) => HttpResponse::Ok().json(FactoryInfo { diff --git a/utils/clippy_fix.sh b/utils/clippy_fix.sh new file mode 100755 index 0000000..c35e23d --- /dev/null +++ b/utils/clippy_fix.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +cargo clippy --all --fix -- \ + -A clippy::collapsible_if \ + -A clippy::type_complexity \ + -A clippy::wrong_self_convention