From 721e83006d2196007d82ade7d013977b61888c3a Mon Sep 17 00:00:00 2001 From: hal8174 Date: Sun, 30 Mar 2025 22:03:50 +0200 Subject: [PATCH] Fix all warnings --- .../src/bin/generate_factory.rs | 2 +- .../src/abstraction/power_connection.rs | 12 +++---- .../src/abstraction/roboports.rs | 15 +++----- .../src/priority_queue/bucket_queue.rs | 3 +- factorio-graph/src/set_cover.rs | 34 +++++++++--------- .../src/wheighted_graph/shortest_path.rs | 9 ++--- .../src/wheighted_graph/steiner_tree.rs | 10 +++--- factorio-layout/src/genetic_algorithm_v2.rs | 36 +++++++++---------- factorio-pathfinding/src/belt_finding/mod.rs | 1 - factorio-pathfinding/src/bin/path_finding.rs | 5 +-- factorio-pathfinding/src/lib.rs | 1 + 11 files changed, 57 insertions(+), 71 deletions(-) diff --git a/factorio-blueprint-generator/src/bin/generate_factory.rs b/factorio-blueprint-generator/src/bin/generate_factory.rs index d17e546..dff3778 100644 --- a/factorio-blueprint-generator/src/bin/generate_factory.rs +++ b/factorio-blueprint-generator/src/bin/generate_factory.rs @@ -4,7 +4,7 @@ use factorio_blueprint_generator::factory::{FactoryGraph, generate_factory}; use factorio_core::{prelude::*, visualize::Visualize}; use factorio_graph::{ priority_queue::{ - ByKey, PriorityQueue, + ByKey, binary_heap::{BinaryHeap, FastBinaryHeap}, bucket_queue::BucketQueue, }, diff --git a/factorio-blueprint/src/abstraction/power_connection.rs b/factorio-blueprint/src/abstraction/power_connection.rs index a995163..9dd2c91 100644 --- a/factorio-blueprint/src/abstraction/power_connection.rs +++ b/factorio-blueprint/src/abstraction/power_connection.rs @@ -1,9 +1,5 @@ -use std::ops::Index; - -use factorio_core::visualize::Visualize; use factorio_graph::{ - graph::Graph, - priority_queue::binary_heap::FastBinaryHeap, + priority_queue::bucket_queue::BucketQueue, wheighted_graph::{WheightedGraph, shortest_path::dijkstra, steiner_tree}, }; use tracing::trace_span; @@ -196,7 +192,7 @@ impl Blueprint { // ]; if let Some(res) = - steiner_tree::takaheshi_matsuyama::<_, FastBinaryHeap<_>>(&graph, &pole_positions) + steiner_tree::takaheshi_matsuyama::<_, BucketQueue<_>>(&graph, &pole_positions) { for path in res { let path_iter = path.iter().filter_map( @@ -252,7 +248,7 @@ impl Blueprint { let mut roboportmap = self .entities .iter() - .filter_map(|(k, e)| match e.entity { + .filter_map(|(_k, e)| match e.entity { EntityType::Roboport => Some(e.position), _ => None, }) @@ -380,7 +376,7 @@ impl Blueprint { start_nodes: start_nodes.clone(), }; - let p = dijkstra::<_, FastBinaryHeap<_>, _>(&multistart_graph, None, |p| { + let p = dijkstra::<_, BucketQueue<_>, _>(&multistart_graph, None, |p| { if let Some(n) = p { match n.node_type { NodeType::In => false, diff --git a/factorio-blueprint/src/abstraction/roboports.rs b/factorio-blueprint/src/abstraction/roboports.rs index ed5995c..5753c60 100644 --- a/factorio-blueprint/src/abstraction/roboports.rs +++ b/factorio-blueprint/src/abstraction/roboports.rs @@ -1,17 +1,12 @@ -use std::collections::HashMap; - -use factorio_core::{misc::PositionMap, prelude::Position}; +use super::Blueprint; +use crate::abstraction::Entity; +use factorio_core::prelude::Position; use factorio_graph::{ - graph::Graph, - priority_queue::binary_heap::FastBinaryHeap, - set_cover::{greedy_connected_set_cover_priority_queue, greedy_set_cover_priority_queue}, + graph::Graph, priority_queue::binary_heap::FastBinaryHeap, + set_cover::greedy_connected_set_cover_priority_queue, }; use tracing::trace_span; -use crate::abstraction::Entity; - -use super::{Blueprint, EntityType}; - struct RoboportGraph<'a> { roboports: &'a [Position], } diff --git a/factorio-graph/src/priority_queue/bucket_queue.rs b/factorio-graph/src/priority_queue/bucket_queue.rs index fd72a75..0a2de80 100644 --- a/factorio-graph/src/priority_queue/bucket_queue.rs +++ b/factorio-graph/src/priority_queue/bucket_queue.rs @@ -1,7 +1,6 @@ +use super::PriorityQueueByKey; use std::collections::{HashMap, VecDeque}; -use super::{PriorityQueue, PriorityQueueByKey}; - pub struct BucketQueue { min: i64, data: VecDeque>, diff --git a/factorio-graph/src/set_cover.rs b/factorio-graph/src/set_cover.rs index 8007e88..159260b 100644 --- a/factorio-graph/src/set_cover.rs +++ b/factorio-graph/src/set_cover.rs @@ -6,20 +6,20 @@ use crate::{graph::Graph, priority_queue::PriorityQueue}; #[derive(Debug, Clone, Copy)] pub struct SetUncovered { - setIndex: usize, - uncoveredElements: usize, + set_index: usize, + uncovered_elements: usize, } impl PartialEq for SetUncovered { fn eq(&self, other: &Self) -> bool { - self.uncoveredElements.eq(&other.uncoveredElements) + self.uncovered_elements.eq(&other.uncovered_elements) } } impl PartialOrd for SetUncovered { fn partial_cmp(&self, other: &Self) -> Option { - self.uncoveredElements - .partial_cmp(&other.uncoveredElements) + self.uncovered_elements + .partial_cmp(&other.uncovered_elements) .map(|o| o.reverse()) } } @@ -72,8 +72,8 @@ where .enumerate() .map(|(i, s)| { Some(p.insert(SetUncovered { - setIndex: i, - uncoveredElements: s.len(), + set_index: i, + uncovered_elements: s.len(), })) }) .collect::>(); @@ -82,8 +82,8 @@ where while covered_count < universe { let SetUncovered { - setIndex: i, - uncoveredElements: _, + set_index: i, + uncovered_elements: _, } = p.pop_min().unwrap(); r.push(i); @@ -102,7 +102,7 @@ where } // dbg!(decrease, i, s.deref()); - p.increase_key(h, |e| e.uncoveredElements -= decrease); + p.increase_key(h, |e| e.uncovered_elements -= decrease); } for &e in sets[i].deref() { @@ -161,15 +161,15 @@ where } for e in graph.edge_iter(&i) { handles[e] = HandleOption::Seen(p.insert(SetUncovered { - setIndex: e, - uncoveredElements: sets[e].iter().filter(|&&v| !covered[v]).count(), + set_index: e, + uncovered_elements: sets[e].iter().filter(|&&v| !covered[v]).count(), })); } while covered_count < universe { let SetUncovered { - setIndex: i, - uncoveredElements: _, + set_index: i, + uncovered_elements: _, } = p.pop_min().unwrap(); r.push(i); @@ -192,7 +192,7 @@ where } // dbg!(decrease, i, s.deref()); - p.increase_key(h, |e| e.uncoveredElements -= decrease); + p.increase_key(h, |e| e.uncovered_elements -= decrease); } for &e in sets[i].deref() { @@ -204,8 +204,8 @@ where for e in graph.edge_iter(&i) { if matches!(handles[e], HandleOption::Unknown) { handles[e] = HandleOption::Seen(p.insert(SetUncovered { - setIndex: e, - uncoveredElements: sets[e].iter().filter(|&&v| !covered[v]).count(), + set_index: e, + uncovered_elements: sets[e].iter().filter(|&&v| !covered[v]).count(), })); } } diff --git a/factorio-graph/src/wheighted_graph/shortest_path.rs b/factorio-graph/src/wheighted_graph/shortest_path.rs index a4981b0..e7e76c6 100644 --- a/factorio-graph/src/wheighted_graph/shortest_path.rs +++ b/factorio-graph/src/wheighted_graph/shortest_path.rs @@ -1,10 +1,7 @@ -use std::{collections::HashMap, fmt::Debug, hash::Hash, hash::Hasher}; - -use tracing::{field::Empty, trace_span}; - -use crate::priority_queue::{PriorityQueue, PriorityQueueByKey}; - use super::WheightedGraph; +use crate::priority_queue::PriorityQueueByKey; +use std::{collections::HashMap, fmt::Debug, hash::Hash, hash::Hasher}; +use tracing::{field::Empty, trace_span}; #[derive(Debug, Clone, Copy)] pub struct QueueObject { diff --git a/factorio-graph/src/wheighted_graph/steiner_tree.rs b/factorio-graph/src/wheighted_graph/steiner_tree.rs index 2cd55ff..57cb47d 100644 --- a/factorio-graph/src/wheighted_graph/steiner_tree.rs +++ b/factorio-graph/src/wheighted_graph/steiner_tree.rs @@ -1,11 +1,9 @@ -use tracing::trace_span; - -use crate::priority_queue::{PriorityQueue, PriorityQueueByKey}; -use std::hash::Hash; -use std::{collections::HashSet, fmt::Debug}; - use super::shortest_path::dijkstra; use super::{WheightedGraph, shortest_path::QueueObject}; +use crate::priority_queue::PriorityQueueByKey; +use std::collections::HashSet; +use std::hash::Hash; +use tracing::trace_span; struct MultistartWrapper<'a, 'b, G> where diff --git a/factorio-layout/src/genetic_algorithm_v2.rs b/factorio-layout/src/genetic_algorithm_v2.rs index 66348b1..8d12e3f 100644 --- a/factorio-layout/src/genetic_algorithm_v2.rs +++ b/factorio-layout/src/genetic_algorithm_v2.rs @@ -1,21 +1,21 @@ -use factorio_pathfinding::Pathfinder; -use rand::Rng; +// use factorio_pathfinding::Pathfinder; +// use rand::Rng; -use crate::Layouter; +// use crate::Layouter; -pub struct GeneticAlgorithmV2 { - pub new_layouts: usize, - pub mutation_timeout: usize, - pub max_mutations: usize, -} +// pub struct GeneticAlgorithmV2 { +// pub new_layouts: usize, +// pub mutation_timeout: usize, +// pub max_mutations: usize, +// } -impl Layouter for GeneticAlgorithmV2 { - fn layout( - &self, - input: &crate::LayoutInput, - pathfinder: &P, - rng: &mut R, - ) -> Option { - todo!() - } -} +// impl Layouter for GeneticAlgorithmV2 { +// fn layout( +// &self, +// input: &crate::LayoutInput, +// pathfinder: &P, +// rng: &mut R, +// ) -> Option { +// todo!() +// } +// } diff --git a/factorio-pathfinding/src/belt_finding/mod.rs b/factorio-pathfinding/src/belt_finding/mod.rs index e9b60bd..c1fa9cd 100644 --- a/factorio-pathfinding/src/belt_finding/mod.rs +++ b/factorio-pathfinding/src/belt_finding/mod.rs @@ -7,7 +7,6 @@ use crate::SinglePathfinder; use crate::examples::HashMapMap; use factorio_core::misc::Map; use factorio_core::{prelude::*, visualize::Visualize}; -use factorio_graph::priority_queue::PriorityQueue; use factorio_graph::priority_queue::PriorityQueueByKey; use factorio_graph::wheighted_graph::WheightedGraph; use factorio_graph::wheighted_graph::shortest_path::QueueObject; diff --git a/factorio-pathfinding/src/bin/path_finding.rs b/factorio-pathfinding/src/bin/path_finding.rs index 8d0f07e..18354a6 100644 --- a/factorio-pathfinding/src/bin/path_finding.rs +++ b/factorio-pathfinding/src/bin/path_finding.rs @@ -63,13 +63,14 @@ fn main() { match args.input { PathfindingInputArg::EmptyDiagonal => { + let lanes = 5; let connections = vec![Connection { - start_pos: Position::new(0, -1), + start_pos: Position::new(lanes - 1, -1), start_dir: Direction::Down, end_pos: Position::new(args.size - 1, args.size), end_dir: Direction::Down, beltspeed: factorio_core::beltoptions::Beltspeed::Normal, - lanes: 1, + lanes: lanes as usize, }]; let map = EmptyMap { area: AABB::new( diff --git a/factorio-pathfinding/src/lib.rs b/factorio-pathfinding/src/lib.rs index 33024c2..fa1ffb2 100644 --- a/factorio-pathfinding/src/lib.rs +++ b/factorio-pathfinding/src/lib.rs @@ -38,6 +38,7 @@ struct SingleConnection { pub start_dir: Direction, pub end_pos: Position, pub end_dir: Direction, + #[allow(dead_code)] pub beltspeed: Beltspeed, }