pub struct DiffResult<'a> {
pub(crate) d_post: [u8; 32],
pub(crate) lines: Vec<&'a str>,
}Expand description
The result of applying one or more diff commands to an input string.
It refers to lines from the diff and the input by reference, to avoid copying.
Fields§
§d_post: [u8; 32]An expected digest of the output, after it has been assembled.
lines: Vec<&'a str>The lines in the output.
Implementations§
Source§impl<'a> DiffResult<'a>
impl<'a> DiffResult<'a>
Sourcepub(crate) fn from_str(s: &'a str, d_post: [u8; 32]) -> Self
pub(crate) fn from_str(s: &'a str, d_post: [u8; 32]) -> Self
Construct a new DiffResult containing the provided string split into lines, and an expected post-transformation digest.
Sourcepub(crate) fn new(d_post: [u8; 32]) -> Self
pub(crate) fn new(d_post: [u8; 32]) -> Self
Return a new empty DiffResult with an expected post-transformation digests
Sourcepub(crate) fn push_reversed(&mut self, lines: &[&'a str])
pub(crate) fn push_reversed(&mut self, lines: &[&'a str])
Put every member of lines at the end of this DiffResult, in
reverse order.
Sourcepub(crate) fn remove_lines(
&mut self,
first: usize,
last: usize,
) -> Result<(), Error>
pub(crate) fn remove_lines( &mut self, first: usize, last: usize, ) -> Result<(), Error>
Remove the 1-indexed lines from first through last inclusive.
This has to move elements around within the vector, and so it is potentially O(n) in its length.
Sourcepub(crate) fn insert_at(
&mut self,
pos: usize,
lines: &[&'a str],
) -> Result<(), Error>
pub(crate) fn insert_at( &mut self, pos: usize, lines: &[&'a str], ) -> Result<(), Error>
Insert the provided lines so that they appear at 1-indexed
position pos.
This has to move elements around within the vector, and so it is potentially O(n) in its length.
Sourcepub fn check_digest(&self) -> Result<(), Error>
pub fn check_digest(&self) -> Result<(), Error>
See whether the output of this diff matches the target digest.
If not, return an error.
Trait Implementations§
Source§impl<'a> Clone for DiffResult<'a>
impl<'a> Clone for DiffResult<'a>
Source§fn clone(&self) -> DiffResult<'a>
fn clone(&self) -> DiffResult<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for DiffResult<'a>
impl<'a> Debug for DiffResult<'a>
Auto Trait Implementations§
impl<'a> Freeze for DiffResult<'a>
impl<'a> RefUnwindSafe for DiffResult<'a>
impl<'a> Send for DiffResult<'a>
impl<'a> Sync for DiffResult<'a>
impl<'a> Unpin for DiffResult<'a>
impl<'a> UnsafeUnpin for DiffResult<'a>
impl<'a> UnwindSafe for DiffResult<'a>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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>
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