From b715c4ad0659ca2a8bfeadf03813ae6dcd3f5bda Mon Sep 17 00:00:00 2001 From: hal8174 Date: Sat, 18 Jan 2025 22:47:48 +0100 Subject: [PATCH] Resolve warnings --- Cargo.lock | 1 + factorio-blueprint-generator/src/balancer.rs | 4 ++-- .../src/bin/station.rs | 6 ++---- factorio-blueprint-generator/src/station.rs | 10 +++------- factorio-blueprint/src/belt.rs | 4 +--- factorio-blueprint/src/bin/decode_base64.rs | 19 +++++++++++++++++++ factorio-blueprint/src/lib.rs | 4 +--- factorio-blueprint/src/structs.rs | 2 -- factorio-core/Cargo.toml | 1 + .../src/beltoptions.rs | 0 factorio-core/src/lib.rs | 1 + .../src/belt_finding/conflict_avoidance.rs | 6 ++++-- factorio-pathfinding/src/belt_finding/mod.rs | 2 +- factorio-pathfinding/src/bin/beltfinding.rs | 2 +- .../src/bin/create_beltfinding_image.rs | 2 +- .../src/graph/wheighted_graph/mod.rs | 2 +- factorio-pathfinding/src/layout/mod.rs | 15 ++++++++------- .../src/priority_queue/fibonacci_heap.rs | 2 +- 18 files changed, 48 insertions(+), 35 deletions(-) create mode 100644 factorio-blueprint/src/bin/decode_base64.rs rename factorio-blueprint/src/misc.rs => factorio-core/src/beltoptions.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index ad9d941..7c68c61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -574,6 +574,7 @@ dependencies = [ name = "factorio-core" version = "0.1.0" dependencies = [ + "clap 4.5.26", "criterion", "image", "proptest", diff --git a/factorio-blueprint-generator/src/balancer.rs b/factorio-blueprint-generator/src/balancer.rs index fa55fbf..752de18 100644 --- a/factorio-blueprint-generator/src/balancer.rs +++ b/factorio-blueprint-generator/src/balancer.rs @@ -1,7 +1,7 @@ use factorio_blueprint::{ - Blueprint, BlueprintEntity, BlueprintPosition, belt::convert_to_blueprint, misc::Beltspeed, + Blueprint, BlueprintEntity, BlueprintPosition, belt::convert_to_blueprint, }; -use factorio_core::{pathfield::PathField, prelude::*}; +use factorio_core::{beltoptions::Beltspeed, pathfield::PathField, prelude::*}; pub fn generate_4_lane_balancer() -> Blueprint { let mut e = vec![ diff --git a/factorio-blueprint-generator/src/bin/station.rs b/factorio-blueprint-generator/src/bin/station.rs index 0554adc..b159036 100644 --- a/factorio-blueprint-generator/src/bin/station.rs +++ b/factorio-blueprint-generator/src/bin/station.rs @@ -1,9 +1,7 @@ use clap::{Parser, Subcommand}; -use factorio_blueprint::{ - BlueprintBook, BlueprintBookEntry, BlueprintString, encode, - misc::{Beltspeed, Belttype}, -}; +use factorio_blueprint::{BlueprintBook, BlueprintBookEntry, BlueprintString, encode}; use factorio_blueprint_generator::station::basic_unload_station; +use factorio_core::beltoptions::{Beltspeed, Belttype}; #[derive(Parser)] struct Args { diff --git a/factorio-blueprint-generator/src/station.rs b/factorio-blueprint-generator/src/station.rs index 6f10332..7d33af0 100644 --- a/factorio-blueprint-generator/src/station.rs +++ b/factorio-blueprint-generator/src/station.rs @@ -1,14 +1,10 @@ -use std::sync::Arc; - -use factorio_blueprint::{ - Blueprint, BlueprintEntity, BlueprintPosition, - misc::{Beltspeed, Belttype}, -}; +use factorio_blueprint::{Blueprint, BlueprintEntity, BlueprintPosition}; +use factorio_core::beltoptions::{Beltspeed, Belttype}; pub fn station_unload( length: usize, locomotives: usize, - unloader: &Vec, + unloader: &[BlueprintEntity], beltspeed: Beltspeed, outputs: usize, output_x: f64, diff --git a/factorio-blueprint/src/belt.rs b/factorio-blueprint/src/belt.rs index 07f50d5..774df40 100644 --- a/factorio-blueprint/src/belt.rs +++ b/factorio-blueprint/src/belt.rs @@ -1,6 +1,4 @@ -use factorio_core::{pathfield::PathField, prelude::*}; - -use crate::misc::Beltspeed; +use factorio_core::{beltoptions::Beltspeed, pathfield::PathField, prelude::*}; use super::{BlueprintEntity, BlueprintPosition}; diff --git a/factorio-blueprint/src/bin/decode_base64.rs b/factorio-blueprint/src/bin/decode_base64.rs new file mode 100644 index 0000000..e197911 --- /dev/null +++ b/factorio-blueprint/src/bin/decode_base64.rs @@ -0,0 +1,19 @@ +use std::io::{Cursor, Read}; + +use base64::{Engine, prelude::BASE64_STANDARD}; + +fn main() { + let i = std::fs::read_to_string("test").unwrap(); + + let u = BASE64_STANDARD.decode(i.trim().as_bytes()).unwrap(); + + dbg!(&u); + + let mut o = String::new(); + + flate2::bufread::ZlibDecoder::new(Cursor::new(u)) + .read_to_string(&mut o) + .unwrap(); + + dbg!(o); +} diff --git a/factorio-blueprint/src/lib.rs b/factorio-blueprint/src/lib.rs index 94d2615..25916e4 100644 --- a/factorio-blueprint/src/lib.rs +++ b/factorio-blueprint/src/lib.rs @@ -4,10 +4,8 @@ use base64::prelude::BASE64_STANDARD; use std::io::Cursor; use std::io::Read; -pub mod misc; - -pub mod structs; pub mod belt; +pub mod structs; pub use structs::*; diff --git a/factorio-blueprint/src/structs.rs b/factorio-blueprint/src/structs.rs index e517702..eef6318 100644 --- a/factorio-blueprint/src/structs.rs +++ b/factorio-blueprint/src/structs.rs @@ -1,5 +1,3 @@ -use std::collections::HashMap; - use bon::Builder; use serde::Deserialize; use serde::Serialize; diff --git a/factorio-core/Cargo.toml b/factorio-core/Cargo.toml index 24349c6..d3e63f8 100644 --- a/factorio-core/Cargo.toml +++ b/factorio-core/Cargo.toml @@ -8,6 +8,7 @@ edition = "2024" criterion = "0.3" [dependencies] +clap = { version = "4.5.26", features = ["derive"] } image = "0.25.5" proptest = "1.5.0" proptest-derive = "0.5.0" diff --git a/factorio-blueprint/src/misc.rs b/factorio-core/src/beltoptions.rs similarity index 100% rename from factorio-blueprint/src/misc.rs rename to factorio-core/src/beltoptions.rs diff --git a/factorio-core/src/lib.rs b/factorio-core/src/lib.rs index 028c38d..eb1c4a8 100644 --- a/factorio-core/src/lib.rs +++ b/factorio-core/src/lib.rs @@ -1,4 +1,5 @@ pub mod aabb; +pub mod beltoptions; pub mod block; pub mod color; pub mod direction; diff --git a/factorio-pathfinding/src/belt_finding/conflict_avoidance.rs b/factorio-pathfinding/src/belt_finding/conflict_avoidance.rs index 6fd6b4d..0883e5d 100644 --- a/factorio-pathfinding/src/belt_finding/conflict_avoidance.rs +++ b/factorio-pathfinding/src/belt_finding/conflict_avoidance.rs @@ -1,6 +1,8 @@ use crate::{belt_finding::brute_force::BruteforceBuilder, misc::Map}; -use factorio_blueprint::{belt::convert_to_blueprint, misc::Beltspeed, BlueprintEntity}; -use factorio_core::{pathfield::PathField, prelude::*, visualize::Visualize}; +use factorio_blueprint::{belt::convert_to_blueprint, BlueprintEntity}; +use factorio_core::{ + beltoptions::Beltspeed, pathfield::PathField, prelude::*, visualize::Visualize, +}; use std::{ ops::RangeInclusive, time::{Duration, Instant}, diff --git a/factorio-pathfinding/src/belt_finding/mod.rs b/factorio-pathfinding/src/belt_finding/mod.rs index 7d5ea38..9136ebf 100644 --- a/factorio-pathfinding/src/belt_finding/mod.rs +++ b/factorio-pathfinding/src/belt_finding/mod.rs @@ -184,7 +184,7 @@ struct MapInternal<'a> { end: (Position, Direction), } -impl<'a> WheightedGraph for MapInternal<'a> { +impl WheightedGraph for MapInternal<'_> { type Node = (Position, Direction); fn edge(&self, node: &Self::Node, num: usize) -> Option<(Self::Node, f64)> { diff --git a/factorio-pathfinding/src/bin/beltfinding.rs b/factorio-pathfinding/src/bin/beltfinding.rs index 709b067..d7549ae 100644 --- a/factorio-pathfinding/src/bin/beltfinding.rs +++ b/factorio-pathfinding/src/bin/beltfinding.rs @@ -54,7 +54,7 @@ fn output_blueprint(conflict: &ConflictAvoidance) { let bp = BlueprintString::Blueprint( Blueprint::builder() .entities(belts) - .label(format!("test")) + .label("solution".to_string()) .build(), ); diff --git a/factorio-pathfinding/src/bin/create_beltfinding_image.rs b/factorio-pathfinding/src/bin/create_beltfinding_image.rs index 2046228..45413bf 100644 --- a/factorio-pathfinding/src/bin/create_beltfinding_image.rs +++ b/factorio-pathfinding/src/bin/create_beltfinding_image.rs @@ -18,7 +18,7 @@ fn main() { .iter() .map(|f| { let f = File::open(f).unwrap(); - let mut p = serde_json::from_reader::(f).unwrap(); + let p = serde_json::from_reader::(f).unwrap(); let c = ConflictAvoidance::new(&p); c.visualize() diff --git a/factorio-pathfinding/src/graph/wheighted_graph/mod.rs b/factorio-pathfinding/src/graph/wheighted_graph/mod.rs index 86e8800..bfe5975 100644 --- a/factorio-pathfinding/src/graph/wheighted_graph/mod.rs +++ b/factorio-pathfinding/src/graph/wheighted_graph/mod.rs @@ -36,7 +36,7 @@ where } } -impl<'a, 'b, G> Iterator for WheightedGraphEdgeIter<'a, 'b, G> +impl Iterator for WheightedGraphEdgeIter<'_, '_, G> where G: WheightedGraph, { diff --git a/factorio-pathfinding/src/layout/mod.rs b/factorio-pathfinding/src/layout/mod.rs index 32e3463..5bd6d38 100644 --- a/factorio-pathfinding/src/layout/mod.rs +++ b/factorio-pathfinding/src/layout/mod.rs @@ -1,11 +1,12 @@ use crate::belt_finding::conflict_avoidance::ConflictAvoidance; -use factorio_core::pathfield::PathField; -use factorio_core::prelude::*; -use factorio_core::visualize::{image_grid, Color, Symbol, Visualization, Visualize}; +use factorio_core::{ + pathfield::PathField, + prelude::*, + visualize::{image_grid, Color, Symbol, Visualization, Visualize}, +}; use rand::{seq::SliceRandom, Rng}; use serde::{Deserialize, Serialize}; -use std::sync::atomic::AtomicU32; -use std::time::Instant; +use std::{sync::atomic::AtomicU32, time::Instant}; static OUTFILEINDEX: AtomicU32 = AtomicU32::new(0); @@ -240,7 +241,7 @@ impl<'a> PathLayout<'a> { } } -impl<'a> Visualize for PathLayout<'a> { +impl Visualize for PathLayout<'_> { fn visualize(&self) -> factorio_core::visualize::Visualization { let mut v = self.layout.visualize(); let offset = self.layout.blocks.len(); @@ -525,7 +526,7 @@ impl Layout<'_> { } } -impl<'a> Visualize for Layout<'a> { +impl Visualize for Layout<'_> { fn visualize(&self) -> Visualization { let mut v = Visualization::new(self.problem.size); diff --git a/factorio-pathfinding/src/priority_queue/fibonacci_heap.rs b/factorio-pathfinding/src/priority_queue/fibonacci_heap.rs index 39f1867..3c429b1 100644 --- a/factorio-pathfinding/src/priority_queue/fibonacci_heap.rs +++ b/factorio-pathfinding/src/priority_queue/fibonacci_heap.rs @@ -14,7 +14,7 @@ pub struct FibonacciHeap { impl std::fmt::Debug for FibonacciHeap { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { struct PrintData<'a, I>(&'a Vec>>); - impl<'a, I: Debug> Debug for PrintData<'a, I> { + impl Debug for PrintData<'_, I> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_map() .entries(self.0.iter().enumerate().filter_map(|d| {