cargo::ops

Struct CleanContext

source
pub struct CleanContext<'gctx> {
    pub gctx: &'gctx GlobalContext,
    progress: Box<dyn CleaningProgressBar + 'gctx>,
    pub dry_run: bool,
    num_files_removed: u64,
    num_dirs_removed: u64,
    total_bytes_removed: u64,
}

Fields§

§gctx: &'gctx GlobalContext§progress: Box<dyn CleaningProgressBar + 'gctx>§dry_run: bool§num_files_removed: u64§num_dirs_removed: u64§total_bytes_removed: u64

Implementations§

source§

impl<'gctx> CleanContext<'gctx>

source

pub fn new(gctx: &'gctx GlobalContext) -> Self

source

fn rm_rf_package_glob_containing_hash( &mut self, package: &str, pattern: &Path, ) -> CargoResult<()>

Glob remove artifacts for the provided package

Make sure the artifact is for package and not another crate that is prefixed by package by getting the original name stripped of the trailing hash and possible extension

source

fn rm_rf_glob(&mut self, pattern: &Path) -> CargoResult<()>

source

fn rm_rf_prefix_list( &mut self, pattern: &str, path_matchers: &[(&str, &str)], ) -> CargoResult<()>

Removes files matching a glob and any of the provided filename patterns (prefix/suffix pairs).

This function iterates over files matching a glob (pattern) and removes those whose filenames start and end with specific prefix/suffix pairs. It should be more efficient for operations involving multiple prefix/suffix pairs, as it iterates over the directory only once, unlike making multiple calls to Self::rm_rf_glob.

source

pub fn rm_rf(&mut self, path: &Path) -> CargoResult<()>

source

pub fn display_summary(&self) -> CargoResult<()>

source

pub fn remove_paths(&mut self, paths: &[PathBuf]) -> CargoResult<()>

Deletes all of the given paths, showing a progress bar as it proceeds.

If any path does not exist, or is not accessible, this will not generate an error. This only generates an error for other issues, like not being able to write to the console.

Auto Trait Implementations§

§

impl<'gctx> Freeze for CleanContext<'gctx>

§

impl<'gctx> !RefUnwindSafe for CleanContext<'gctx>

§

impl<'gctx> !Send for CleanContext<'gctx>

§

impl<'gctx> !Sync for CleanContext<'gctx>

§

impl<'gctx> Unpin for CleanContext<'gctx>

§

impl<'gctx> !UnwindSafe for CleanContext<'gctx>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 56 bytes