diff --git a/src/traits.rs b/src/traits.rs index e3112bb..91924bf 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -5,7 +5,7 @@ use crate::maps::{EdgeMap, VertexMap}; pub trait GraphTopology { type Vertex: Copy + Eq; type Edge: Copy + Eq; - type IncidenceCursor: IncidenceCursor + Copy; + type IncidenceCursor: IncidenceCursor; fn vertex_count(&self) -> usize; fn vertex_capacity(&self) -> usize; @@ -31,6 +31,6 @@ pub trait GraphTopologyDeletion: GraphTopology { fn delete_edge(&mut self, e: Self::Edge); } -pub trait IncidenceCursor { +pub trait IncidenceCursor: Copy { fn next(&mut self, graph: &G) -> Option<(G::Vertex, G::Edge)>; }