pub trait GraphWalk<'a> {
type Node: Clone;
type Edge: Clone;
type Subgraph: Clone;
fn nodes(&'a self) -> crate::Nodes<'a, Self::Node>;
fn edges(&'a self) -> crate::Edges<'a, Self::Edge>;
fn source(&'a self, edge: &Self::Edge) -> Self::Node;
fn target(&'a self, edge: &Self::Edge) -> Self::Node;
fn subgraphs(&'a self) -> crate::Subgraphs<'a, Self::Subgraph> {
std::borrow::Cow::Borrowed(&[])
}
fn subgraph_nodes(&'a self, _s: &Self::Subgraph) -> crate::Nodes<'a, Self::Node> {
std::borrow::Cow::Borrowed(&[])
}
}