use std::cell::RefCell; use std::ops::Deref; use std::rc::Rc; use yew::prelude::*; /// Weak link; Useful for being able to have a list of subcomponents. pub struct WeakComponentLink(Rc>>>); impl Clone for WeakComponentLink { fn clone(&self) -> Self { Self(Rc::clone(&self.0)) } } impl Default for WeakComponentLink { fn default() -> Self { Self(Rc::default()) } } impl Deref for WeakComponentLink { type Target = Rc>>>; fn deref(&self) -> &Self::Target { &self.0 } } impl PartialEq for WeakComponentLink { fn eq(&self, other: &Self) -> bool { Rc::ptr_eq(&self.0, &other.0) } }