pub struct DiskTree;Expand description
The real filesystem as a LocalTree.
Trait Implementations§
impl Copy for DiskTree
Source§impl LocalTree for DiskTree
impl LocalTree for DiskTree
Source§fn pack(&self, dir: &Path) -> Result<Packed, WorkspaceError>
fn pack(&self, dir: &Path) -> Result<Packed, WorkspaceError>
The walk of
dir as a tar archive, members in sorted path order so the same tree packs
to the same bytes.Source§fn pack_paths(
&self,
dir: &Path,
paths: &[String],
) -> Result<Packed, WorkspaceError>
fn pack_paths( &self, dir: &Path, paths: &[String], ) -> Result<Packed, WorkspaceError>
Exactly the named relative paths under
dir, in sorted order.Source§fn extract(
&self,
archive: &[u8],
globs: &[String],
dir: &Path,
) -> Result<Vec<Artifact>, WorkspaceError>
fn extract( &self, archive: &[u8], globs: &[String], dir: &Path, ) -> Result<Vec<Artifact>, WorkspaceError>
Writes the regular-file members of
archive that match one of globs under dir,
and nothing else: no symlink, hardlink, directory or special member, nothing under
.git whatever the globs say, and nothing that would land outside dir. What it
skips is skipped, not refused, since the archive is the VM’s word.Auto Trait Implementations§
impl Freeze for DiskTree
impl RefUnwindSafe for DiskTree
impl Send for DiskTree
impl Sync for DiskTree
impl Unpin for DiskTree
impl UnsafeUnpin for DiskTree
impl UnwindSafe for DiskTree
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<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 moreCreates a shared type from an unshared type.