pub trait Stack {
type Item;
// Required methods
fn push(&mut self, data: Self::Item);
fn pop(&mut self) -> Result<Self::Item, Error>;
fn last(&self) -> Result<&Self::Item, Error>;
}pub trait Stack {
type Item;
// Required methods
fn push(&mut self, data: Self::Item);
fn pop(&mut self) -> Result<Self::Item, Error>;
fn last(&self) -> Result<&Self::Item, Error>;
}