From eb0f45e3fb686a3b6ef3cf690535894e2d9b64c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Cicho=C5=84?= Date: Sun, 29 Sep 2024 01:12:12 +0200 Subject: [PATCH] specctra: don't use imported layer indices internally We don't need to re-export them, so using them only makes the logic more brittle. --- src/specctra/mesadata.rs | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/specctra/mesadata.rs b/src/specctra/mesadata.rs index 9f60583..90cd98c 100644 --- a/src/specctra/mesadata.rs +++ b/src/specctra/mesadata.rs @@ -72,17 +72,12 @@ impl SpecctraMesadata { /// layer-to-layer name mappings, net-to-net name mappings, and net class rules. /// pub fn from_pcb(pcb: &Pcb) -> Self { - let mut highest_layer: usize = 0; - let mut layer_layername = BiHashMap::new(); - - for layer in &pcb.structure.layers { - let index = if layer.property.is_some() { - layer.property.as_ref().unwrap().index - } else { - layer.name.parse().unwrap() - }; - layer_layername.insert(index, layer.name.clone()); - } + let mut layer_layername = BiHashMap::from_iter( + pcb.structure.layers + .iter() + .enumerate() + .map(|(index, layer)| (index, layer.name.clone())) + ); // keeping this as a separate iter pass because it might be moved into a different struct later? let net_netname = BiHashMap::from_iter(