Struct cargo::ops::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>
impl<'gctx> CleanContext<'gctx>
pub fn new(gctx: &'gctx GlobalContext) -> Self
sourcefn rm_rf_package_glob_containing_hash(
&mut self,
package: &str,
pattern: &Path,
) -> CargoResult<()>
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
fn rm_rf_glob(&mut self, pattern: &Path) -> CargoResult<()>
sourcefn rm_rf_prefix_list(
&mut self,
pattern: &str,
path_matchers: &[(&str, &str)],
) -> CargoResult<()>
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
.
pub fn rm_rf(&mut self, path: &Path) -> CargoResult<()>
pub fn display_summary(&self) -> CargoResult<()>
sourcepub fn remove_paths(&mut self, paths: &[PathBuf]) -> CargoResult<()>
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> 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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
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