pub struct Correction {
pub path: Vec<u8>,
pub mode: CandidateMode,
pub before: Rc<[u8]>,
pub after: Rc<[u8]>,
}Expand description
What:
One proposed full-content correction:
the file,
the bytes it held when the policy
read it,
and the bytes it should hold.
#[derive(...)] generates cloning,
debug
printing and ==.
Why:
A correction replaces a file’s whole content,
so applying it needs no patch
format;
the bytes it replaces are kept so the original of a file is known
without reading it again.
In TS you’d write (pseudocode):
type Correction = { path: Uint8Array; mode: CandidateMode; before: Uint8Array; after: Uint8Array };Fields§
§path: Vec<u8>The pathname, relative to the repository’s top level, as Git’s raw bytes.
mode: CandidateModeThe file’s mode, which the correction keeps.
before: Rc<[u8]>The bytes the file held when the policy read it.
after: Rc<[u8]>The bytes the file should hold.
Trait Implementations§
Source§impl Clone for Correction
impl Clone for Correction
Source§impl Debug for Correction
impl Debug for Correction
impl Eq for Correction
Source§impl PartialEq for Correction
impl PartialEq for Correction
impl StructuralPartialEq for Correction
Auto Trait Implementations§
impl !Send for Correction
impl !Sync for Correction
impl Freeze for Correction
impl RefUnwindSafe for Correction
impl Unpin for Correction
impl UnsafeUnpin for Correction
impl UnwindSafe for Correction
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> ⓘ
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