From d0058ef5fd686847f93162e2b79643cdf676cbb8 Mon Sep 17 00:00:00 2001 From: Alain Emilia Anna Zscheile Date: Sat, 5 Oct 2024 23:41:44 +0200 Subject: [PATCH] router: get rid of unnecessary RouterError --- src/autorouter/autorouter.rs | 6 +++--- src/router/route.rs | 12 ++++++------ src/router/router.rs | 12 ++---------- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/autorouter/autorouter.rs b/src/autorouter/autorouter.rs index dfa7f5a..c3b50d3 100644 --- a/src/autorouter/autorouter.rs +++ b/src/autorouter/autorouter.rs @@ -7,7 +7,7 @@ use crate::{ board::{mesadata::AccessMesadata, Board}, drawing::{band::BandTermsegIndex, dot::FixedDotIndex, Infringement}, layout::via::ViaWeight, - router::{navmesh::NavmeshError, RouterError, RouterOptions}, + router::{astar::AstarError, navmesh::NavmeshError, RouterOptions}, triangulation::GetTrianvertexNodeIndex, }; @@ -33,8 +33,8 @@ pub enum AutorouterError { NothingToRoute, #[error(transparent)] Navmesh(#[from] NavmeshError), - #[error(transparent)] - Router(#[from] RouterError), + #[error("routing failed: {0}")] + Astar(#[from] AstarError), #[error("could not place via")] CouldNotPlaceVia(#[from] Infringement), #[error("could not remove band")] diff --git a/src/router/route.rs b/src/router/route.rs index 5e64711..63285fb 100644 --- a/src/router/route.rs +++ b/src/router/route.rs @@ -4,11 +4,11 @@ use crate::{ }, geometry::primitive::PrimitiveShape, router::{ - astar::{Astar, AstarStatus}, - navmesh::Navmesh, + astar::{Astar, AstarError, AstarStatus}, + navmesh::{Navmesh, NavmeshError}, trace::TraceStepper, tracer::Tracer, - Router, RouterAstarStrategy, RouterError, RouterStatus, + Router, RouterAstarStrategy, RouterStatus, }, stepper::Step, }; @@ -26,7 +26,7 @@ impl RouteStepper { from: FixedDotIndex, to: FixedDotIndex, width: f64, - ) -> Result { + ) -> Result { let navmesh = Navmesh::new(router.layout(), from, to, router.options())?; Ok(Self::new_from_navmesh(router, navmesh, width)) } @@ -73,10 +73,10 @@ impl RouteStepper { } } -impl<'a, R: AccessRules> Step, RouterStatus, RouterError, BandTermsegIndex> +impl<'a, R: AccessRules> Step, RouterStatus, AstarError, BandTermsegIndex> for RouteStepper { - fn step(&mut self, router: &mut Router) -> Result { + fn step(&mut self, router: &mut Router) -> Result { let tracer = Tracer::new(router.layout_mut()); let target = self.astar.graph.destination(); let mut strategy = RouterAstarStrategy::new(tracer, &mut self.trace, target); diff --git a/src/router/router.rs b/src/router/router.rs index ffac380..bd85cdf 100644 --- a/src/router/router.rs +++ b/src/router/router.rs @@ -1,7 +1,6 @@ use geo::EuclideanDistance; use petgraph::{data::DataMap, visit::EdgeRef}; use serde::{Deserialize, Serialize}; -use thiserror::Error; use crate::{ drawing::{ @@ -22,7 +21,7 @@ use crate::{ }; use super::{ - astar::{AstarError, AstarStrategy, PathTracker}, + astar::{AstarStrategy, PathTracker}, draw::DrawException, navmesh::{Navmesh, NavmeshEdgeReference, NavmeshError, NavvertexIndex}, route::RouteStepper, @@ -36,13 +35,6 @@ pub struct RouterOptions { pub squeeze_through_under_bands: bool, } -#[derive(Error, Debug, Clone)] -#[error("routing failed")] -pub enum RouterError { - Navmesh(#[from] NavmeshError), - Astar(#[from] AstarError), -} - #[derive(Debug)] pub enum RouterStatus { Running, @@ -199,7 +191,7 @@ impl<'a, R: AccessRules> Router<'a, R> { from: FixedDotIndex, to: FixedDotIndex, width: f64, - ) -> Result { + ) -> Result { RouteStepper::new(self, from, to, width) }