pub struct Stack;Expand description
Haskell Stack build tree adapter. Opt-in; see the module comment.
Trait Implementations§
Source§impl PackageManager for Stack
impl PackageManager for Stack
Source§fn enforce_lockfile(&self, path: &Path, _policy: EnforcePolicy) -> Result<()>
fn enforce_lockfile(&self, path: &Path, _policy: EnforcePolicy) -> Result<()>
What is checked is that stack.yaml still names a snapshot, because the
snapshot is what makes the rebuild reproducible: it pins GHC and every package
version the way a lockfile would. resolver: is the traditional key,
snapshot: its newer synonym — a file with neither is not a project Stack can
rebuild deterministically. Running stack build here to find out would start a
compile in the middle of a delete pass.
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Human-readable name for this adapter (e.g., “npm”, “pnpm”, “uv”).
Source§fn detect(&self, path: &Path) -> bool
fn detect(&self, path: &Path) -> bool
Check if this adapter applies to the given project directory. Read more
Source§fn bloat_dirs(&self, path: &Path) -> Vec<BloatDir>
fn bloat_dirs(&self, path: &Path) -> Vec<BloatDir>
List all bloat directories this adapter manages in the given project. Read more
Source§fn restore(&self, _path: &Path, _timeout: Duration) -> Result<()>
fn restore(&self, _path: &Path, _timeout: Duration) -> Result<()>
Restore dependencies from the lockfile (for
dev-prune restore). Read moreSource§fn lockfiles(&self) -> &'static [&'static str]
fn lockfiles(&self) -> &'static [&'static str]
The file this manager rebuilds its bloat directory from. Read more
Source§fn opt_in(&self) -> bool
fn opt_in(&self) -> bool
Whether this adapter is inert until the user enables it in settings. Read more
Source§fn restore_named(
&self,
project_path: &Path,
dir_name: &str,
runtime: Option<&str>,
timeout: Duration,
) -> Result<()>
fn restore_named( &self, project_path: &Path, dir_name: &str, runtime: Option<&str>, timeout: Duration, ) -> Result<()>
PackageManager::restore, told the name the pruned directory had. Read moreAuto Trait Implementations§
impl Freeze for Stack
impl RefUnwindSafe for Stack
impl Send for Stack
impl Sync for Stack
impl Unpin for Stack
impl UnsafeUnpin for Stack
impl UnwindSafe for Stack
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> 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