pub trait Delegate {
fn push_directory(&mut self, stack: &Stack) -> Result<()>;
fn push(&mut self, is_last_component: bool, stack: &Stack) -> Result<()>;
fn pop_directory(&mut self);
}
pub trait Delegate {
fn push_directory(&mut self, stack: &Stack) -> Result<()>;
fn push(&mut self, is_last_component: bool, stack: &Stack) -> Result<()>;
fn pop_directory(&mut self);
}