use crate::Tree;
use super::{NodeId, node_ref::NodeRef};
pub trait NodeIdProver {
fn node_id(&self) -> &NodeId;
fn tree(&self) -> Option<&Tree> {
None
}
}
impl NodeIdProver for &NodeRef<'_> {
fn node_id(&self) -> &NodeId {
&self.id
}
fn tree(&self) -> Option<&Tree> {
Some(self.tree)
}
}
impl NodeIdProver for &NodeId {
fn node_id(&self) -> Self {
self
}
}