Trait grove::trees::SomeTreeRef [−][src]
pub trait SomeTreeRef<D: Data> {
type Walker: SomeWalker<D>;
fn walker(self) -> Self::Walker;
fn search<L>(self, locator: L) -> Self::Walker
where
L: Locator<D>,
Self: Sized,
{ ... }
}
Expand description
This is a workaround for not having Generic Associated Types in Rust yet.
Really, the type Self::Walker
should have been defined in SomeTree
and
should have been generic in a lifetime parameter.
Associated Types
type Walker: SomeWalker<D>
type Walker: SomeWalker<D>
The walker type associated with this tree.
for example, if Self = &'a AVLTreee<D>
then Self::Walker = AVLWalker<'a>
.
The walker’s lifetime comes from Self
’s lifetime.