From 9f201d2c3da9e1c1d0f66f9668289a3275e62dd5 Mon Sep 17 00:00:00 2001 From: Mikolaj Wielgus Date: Thu, 31 Aug 2023 07:27:42 +0200 Subject: [PATCH] Make `Head`, `Segbend`, `Bow` copyable Having to move or borrow tem, especially `Head`, makes it really difficult to appease the borrow checker. --- src/bow.rs | 1 + src/router.rs | 1 + src/segbend.rs | 1 + 3 files changed, 3 insertions(+) diff --git a/src/bow.rs b/src/bow.rs index d3829e1..6e7f8bd 100644 --- a/src/bow.rs +++ b/src/bow.rs @@ -5,6 +5,7 @@ use crate::graph::{ }; use crate::primitive::{Bend, Dot, Seg}; +#[derive(Debug, Clone, Copy)] pub struct Bow { seg1_dot1: DotIndex, seg1: SegIndex, diff --git a/src/router.rs b/src/router.rs index 6d18e03..f07e09c 100644 --- a/src/router.rs +++ b/src/router.rs @@ -27,6 +27,7 @@ struct Route { width: f64, } +#[derive(Debug, Clone, Copy)] pub struct Head { pub dot: DotIndex, pub segbend: Option, diff --git a/src/segbend.rs b/src/segbend.rs index feadd48..c4f9082 100644 --- a/src/segbend.rs +++ b/src/segbend.rs @@ -5,6 +5,7 @@ use crate::{ primitive::{Bend, Dot}, }; +#[derive(Debug, Clone, Copy)] pub struct Segbend { pub seg: SegIndex, pub dot: DotIndex,