pub trait PathTreeTypes:
Clone
+ Default
+ Debug {
type NodeId: Clone + Copy + Eq + Hash + Debug + Display;
type NewNodeId: NewNodeId<Self::NodeId> + Clone + Debug;
type InnerValue: Clone + Debug;
type LeafValue: Clone + Debug;
type PathSegmentOwned: Clone + Eq + Hash + Debug + Borrow<Self::PathSegment>;
type PathSegment: PathSegment + ?Sized;
type RootPath: RootPath<Self::PathSegment> + ?Sized;
// Required method
fn path_segment_to_owned(
path_segment: &Self::PathSegment,
) -> Self::PathSegmentOwned;
}
Expand description
Type system for PathTree
.
Required Associated Types§
type NodeId: Clone + Copy + Eq + Hash + Debug + Display
type NewNodeId: NewNodeId<Self::NodeId> + Clone + Debug
type InnerValue: Clone + Debug
type LeafValue: Clone + Debug
type PathSegmentOwned: Clone + Eq + Hash + Debug + Borrow<Self::PathSegment>
type PathSegment: PathSegment + ?Sized
type RootPath: RootPath<Self::PathSegment> + ?Sized
Required Methods§
fn path_segment_to_owned( path_segment: &Self::PathSegment, ) -> Self::PathSegmentOwned
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.