Skip to main content

CrateInfo

Struct CrateInfo 

Source
pub struct CrateInfo {
    pub name: String,
    pub root: PathBuf,
    pub src_dirs: Vec<PathBuf>,
    pub tests_dir: Option<PathBuf>,
    pub examples_dir: Option<PathBuf>,
    pub benches_dir: Option<PathBuf>,
}
Expand description

Information about a crate in a workspace.

Fields§

§name: String

Name of the crate

§root: PathBuf

Root directory of the crate (where Cargo.toml is)

§src_dirs: Vec<PathBuf>

Source directories to scan (typically just “src”)

§tests_dir: Option<PathBuf>

Test directory if it exists

§examples_dir: Option<PathBuf>

Examples directory if it exists

§benches_dir: Option<PathBuf>

Benches directory if it exists

Implementations§

Source§

impl CrateInfo

Source

pub fn all_dirs(&self) -> Vec<&Path>

Get all directories that should be scanned for this crate

Source

pub fn contains_path(&self, path: &Path, workspace_root: &Path) -> bool

Check if a file path belongs to this crate.

This is used to map arbitrary file paths (e.g., from git diffs) to their owning crate, enabling centralized filtering. Rather than re-implementing crate filtering logic in multiple places, callers should:

  1. Use this method to find which crate a file belongs to
  2. Apply crate-level filters using WorkspaceInfo::filter_by_names()

This design keeps filtering logic centralized in the workspace module.

The path can be absolute or relative to the workspace root.

Trait Implementations§

Source§

impl Clone for CrateInfo

Source§

fn clone(&self) -> CrateInfo

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CrateInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.