Struct RevertOutcome
pub struct RevertOutcome {
pub covered: usize,
pub reverted: usize,
pub kept: Vec<KeptSlot>,
pub wrote: bool,
}Expand description
What a revert did, and what it deliberately did not do.
Fields§
§covered: usizeChanges the run covered.
reverted: usizeSlots whose effect was inverted.
kept: Vec<KeptSlot>Slots left alone because somebody edited them after the run. Empty is the ordinary case; non-empty means this revert was partial and the caller must say so.
wrote: boolTrue when the document changed. A run whose effect had already been undone reverts nothing and is not an error.
Implementations§
§impl RevertOutcome
impl RevertOutcome
pub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
True when every slot the run wrote was inverted — i.e. the caller may report that the work was undone completely.
pub fn blocked_by(&self) -> Vec<HistoryAuthor>
pub fn blocked_by(&self) -> Vec<HistoryAuthor>
Distinct people whose later edits held part of the run back, in first-seen order.
Trait Implementations§
§impl Clone for RevertOutcome
impl Clone for RevertOutcome
§fn clone(&self) -> RevertOutcome
fn clone(&self) -> RevertOutcome
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for RevertOutcome
impl Debug for RevertOutcome
§impl Default for RevertOutcome
impl Default for RevertOutcome
§fn default() -> RevertOutcome
fn default() -> RevertOutcome
Returns the “default value” for a type. Read more
§impl PartialEq for RevertOutcome
impl PartialEq for RevertOutcome
impl StructuralPartialEq for RevertOutcome
Auto Trait Implementations§
impl Freeze for RevertOutcome
impl RefUnwindSafe for RevertOutcome
impl Send for RevertOutcome
impl Sync for RevertOutcome
impl Unpin for RevertOutcome
impl UnsafeUnpin for RevertOutcome
impl UnwindSafe for RevertOutcome
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.