diff --git a/src/segbend.rs b/src/segbend.rs index fe75be1..feadd48 100644 --- a/src/segbend.rs +++ b/src/segbend.rs @@ -20,7 +20,7 @@ impl Segbend { dot: DotIndex, graph: &StableDiGraph, ) -> Option { - if let Some(tagged_prev) = Dot::new(dot, graph).tagged_prev() { + Dot::new(dot, graph).tagged_prev().map(|tagged_prev| { let bend = *tagged_prev.as_bend().unwrap(); let dot = Bend::new(bend, graph).prev().unwrap(); let seg = *Dot::new(dot, graph) @@ -29,18 +29,16 @@ impl Segbend { .as_seg() .unwrap(); - Some(Self { bend, dot, seg }) - } else { - None - } + Self { bend, dot, seg } + }) } pub fn from_dot_next( dot: DotIndex, graph: &StableDiGraph, ) -> Option { - if let Some(tagged_prev) = Dot::new(dot, graph).tagged_next() { - let bend = *tagged_prev.as_bend().unwrap(); + Dot::new(dot, graph).tagged_next().map(|tagged_next| { + let bend = *tagged_next.as_bend().unwrap(); let dot = Bend::new(bend, graph).next().unwrap(); let seg = *Dot::new(dot, graph) .tagged_next() @@ -48,10 +46,8 @@ impl Segbend { .as_seg() .unwrap(); - Some(Self { bend, dot, seg }) - } else { - None - } + Self { bend, dot, seg } + }) } }