pub trait Revisable: Debug {
// Required methods
fn id(&self) -> RevisableId;
fn holder_id(&self) -> Option<HolderId>;
fn version(&self) -> usize;
fn view_ids(&self) -> Rc<RefCell<IndexSet<ViewId>>>;
fn bind_view(&self, view_id: &ViewId);
fn unbind_view(&self, view_id: &ViewId);
fn unlace_view(&self, view_id: &ViewId, loose: usize);
fn clone_boxed(&self) -> Box<dyn Revisable>;
// Provided method
fn is_revising(&self) -> bool { ... }
}
This method tests for self and other values to be equal, and is used
by ==.
This method tests for !=. The default implementation is almost always
sufficient, and should not be overridden without very good reason.