pub trait GraphNodeId:
Copy
+ Eq
+ Hash
+ Ord
+ Debug {
type Adjacent: Copy + Debug + From<(Self, Direction)> + Into<(Self, Direction)>;
type Edge: Copy + Eq + Hash + Debug + From<(Self, Self)> + Into<(Self, Self)>;
// Required method
fn kind(&self) -> &'static str;
}
Required Associated Types§
Sourcetype Adjacent: Copy + Debug + From<(Self, Direction)> + Into<(Self, Direction)>
type Adjacent: Copy + Debug + From<(Self, Direction)> + Into<(Self, Direction)>
The type that packs and unpacks this GraphNodeId
with a Direction
.
This is used to save space in the graph’s adjacency list.
Sourcetype Edge: Copy + Eq + Hash + Debug + From<(Self, Self)> + Into<(Self, Self)>
type Edge: Copy + Eq + Hash + Debug + From<(Self, Self)> + Into<(Self, Self)>
The type that packs and unpacks this GraphNodeId
with another
GraphNodeId
. This is used to save space in the graph’s edge list.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.