pub struct BuildInfoPlan {
pub header: [u8; 1024],
pub insert: u64,
pub tail_start: u64,
pub new_len: u64,
}Expand description
Everything needed to splice a build-info section into a finished file without holding the file in memory: the rewritten header, where the section goes, and where the bytes that do not move resume.
See plan_build_info for what the fields mean together; the layout is
always [header][metadata][build info][everything else, verbatim].
Fields§
§header: [u8; 1024]The header bytes to write at offset 0.
insert: u64Offset the new section is written at — equivalently, the length of the
unchanged [header][metadata] prefix.
tail_start: u64Offset in the old file where the bytes that do not move resume. The
span insert..tail_start is the old build-info section, if any, and is
the only part of the old file the new one drops.
new_len: u64Length of the file this plan produces.
Trait Implementations§
Source§impl Clone for BuildInfoPlan
impl Clone for BuildInfoPlan
Source§impl Debug for BuildInfoPlan
impl Debug for BuildInfoPlan
impl Eq for BuildInfoPlan
Source§impl PartialEq for BuildInfoPlan
impl PartialEq for BuildInfoPlan
impl StructuralPartialEq for BuildInfoPlan
Auto Trait Implementations§
impl Freeze for BuildInfoPlan
impl RefUnwindSafe for BuildInfoPlan
impl Send for BuildInfoPlan
impl Sync for BuildInfoPlan
impl Unpin for BuildInfoPlan
impl UnsafeUnpin for BuildInfoPlan
impl UnwindSafe for BuildInfoPlan
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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