@ -37,3 +37,15 @@ impl<'a, C: IntoContextElement> BreadcrumbTree for BreadcrumbTreeNode<'a, C> {
self.parent
}
struct BreadcrumbTreeIterator<'a>(Option<&'a dyn BreadcrumbTree>);
impl<'a> Iterator for BreadcrumbTreeIterator<'a> {
type Item = &'a dyn IntoContextElement;
fn next(&mut self) -> Option<Self::Item> {
let ret = self.0;
self.0 = self.0.map(|node| node.get_parent()).flatten();
ret.map(|node| node.get_ice())