pub struct Cabal;Expand description
Haskell Cabal build tree adapter. Opt-in; see the module comment.
Trait Implementations§
Source§impl PackageManager for Cabal
impl PackageManager for Cabal
Source§fn enforce_lockfile(&self, path: &Path, _policy: EnforcePolicy) -> Result<()>
fn enforce_lockfile(&self, path: &Path, _policy: EnforcePolicy) -> Result<()>
What is checked is that cabal.project still declares its packages, because
packages: is the one field every project file carries and the one cabal build rebuilds from. A file without it is whatever it is, not a project
cabal-install can rebuild. Running cabal 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 Cabal
impl RefUnwindSafe for Cabal
impl Send for Cabal
impl Sync for Cabal
impl Unpin for Cabal
impl UnsafeUnpin for Cabal
impl UnwindSafe for Cabal
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