nodecraft/
id.rs

1use core::{
2  fmt::{Debug, Display},
3  hash::Hash,
4};
5
6mod impls;
7use cheap_clone::CheapClone;
8#[cfg(any(feature = "std", feature = "alloc"))]
9pub use impls::NodeId;
10pub use impls::{NodeIdRef, ParseNodeIdError};
11
12/// Id abstraction for distributed systems
13pub trait Id: CheapClone + Eq + Ord + Hash + Debug + Display + Sized + Unpin + 'static {}
14
15impl<T> Id for T where T: CheapClone + Eq + Ord + Hash + Debug + Display + Sized + Unpin + 'static {}