pub enum Change {
ElementAdded {
id: String,
kind: String,
},
ElementRemoved {
id: String,
kind: String,
},
ElementChanged {
id: String,
kind: String,
kind_was: Option<String>,
fields: Vec<ElementField>,
},
RelationAdded {
from: String,
to: String,
kind: String,
},
RelationRemoved {
from: String,
to: String,
kind: String,
},
RelationChanged {
from: String,
to: String,
kind: String,
kind_was: Option<String>,
label: bool,
gained: Vec<String>,
lost: Vec<String>,
technology: bool,
},
}Expand description
One difference between the committed model and a fresh survey, named by what changed rather than which lines did. Ids are as the file writes them; kinds are the specification’s keywords.
Variants§
ElementAdded
ElementRemoved
ElementChanged
An element in both, with the fields that differ in the order emit
writes them; kind is the fresh one, kind_was the committed one
when it changed.
RelationAdded
RelationRemoved
RelationChanged
A relation in both: its fresh kind and the committed one when it
changed, whether its label changed and the names it gained and
lost, and whether its technology changed. The names are the label
split on , (a surveyed relation’s items, an external’s title in
its pieces), so they describe a label change; a reorder or a repeat
changes the label with none gained or lost.
Trait Implementations§
impl Eq for Change
impl StructuralPartialEq for Change
Auto Trait Implementations§
impl Freeze for Change
impl RefUnwindSafe for Change
impl Send for Change
impl Sync for Change
impl Unpin for Change
impl UnsafeUnpin for Change
impl UnwindSafe for Change
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more