use ferroui_base::data::BindingBase;
use std::ops::Deref;
use std::rc::Rc;
#[derive(Clone)]
pub struct AssignedBinding(pub Rc<dyn BindingBase>);
impl AssignedBinding {
pub fn new(binding: Rc<dyn BindingBase>) -> Self {
Self(binding)
}
}
impl PartialEq for AssignedBinding {
fn eq(&self, other: &Self) -> bool {
std::ptr::addr_eq(Rc::as_ptr(&self.0), Rc::as_ptr(&other.0))
}
}
impl Deref for AssignedBinding {
type Target = dyn BindingBase;
fn deref(&self) -> &Self::Target {
&*self.0
}
}
impl From<Rc<dyn BindingBase>> for AssignedBinding {
fn from(value: Rc<dyn BindingBase>) -> Self {
Self(value)
}
}