pub enum PackageSource<'g> {
Workspace(&'g Utf8Path),
Path(&'g Utf8Path),
External(&'g str),
}
Expand description
The source of a package.
This enum contains information about where a package is found, and whether it is inside or outside the workspace.
Variants§
Workspace(&'g Utf8Path)
This package is in the workspace.
The path is relative to the workspace root.
Path(&'g Utf8Path)
This package is a path dependency that isn’t in the workspace.
The path is relative to the workspace root.
External(&'g str)
This package is an external dependency.
- For packages retrieved from
crates.io
, the source is the string"registry+https://github.com/rust-lang/crates.io-index"
. - For packages retrieved from other registries, the source begins with
"registry+"
. - For packages retrieved from Git repositories, the source begins with
"git+"
.
Implementations§
source§impl<'g> PackageSource<'g>
impl<'g> PackageSource<'g>
sourcepub const CRATES_IO_REGISTRY: &'static str = "registry+https://github.com/rust-lang/crates.io-index"
pub const CRATES_IO_REGISTRY: &'static str = "registry+https://github.com/rust-lang/crates.io-index"
The path to the crates.io registry.
sourcepub fn is_workspace(&self) -> bool
pub fn is_workspace(&self) -> bool
Returns true if this package source represents a workspace.
sourcepub fn is_path(&self) -> bool
pub fn is_path(&self) -> bool
Returns true if this package source represents a path dependency that isn’t in the workspace.
sourcepub fn is_external(&self) -> bool
pub fn is_external(&self) -> bool
Returns true if this package source represents an external dependency.
sourcepub fn is_crates_io(&self) -> bool
pub fn is_crates_io(&self) -> bool
Returns true if the source is crates.io
.
sourcepub fn is_local(&self) -> bool
pub fn is_local(&self) -> bool
Returns true if this package is a local dependency, i.e. either in the workspace or a local path.
sourcepub fn workspace_path(&self) -> Option<&'g Utf8Path>
pub fn workspace_path(&self) -> Option<&'g Utf8Path>
Returns the path if this is a workspace dependency, or None
if this is a non-workspace
dependency.
The path is relative to the workspace root.
sourcepub fn local_path(&self) -> Option<&'g Utf8Path>
pub fn local_path(&self) -> Option<&'g Utf8Path>
Returns the local path if this is a local dependency, or None
if it is an external
dependency.
The path is relative to the workspace root.
sourcepub fn external_source(&self) -> Option<&'g str>
pub fn external_source(&self) -> Option<&'g str>
Returns the external source if this is an external dependency, or None
if it is a local
dependency.
sourcepub fn parse_external(&self) -> Option<ExternalSource<'g>>
pub fn parse_external(&self) -> Option<ExternalSource<'g>>
Attempts to parse an external source.
Returns None
if the external dependency could not be recognized, or if it is a local
dependency.
For more about external sources, see the documentation for ExternalSource
.
Trait Implementations§
source§impl<'g> Clone for PackageSource<'g>
impl<'g> Clone for PackageSource<'g>
source§fn clone(&self) -> PackageSource<'g>
fn clone(&self) -> PackageSource<'g>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'g> Debug for PackageSource<'g>
impl<'g> Debug for PackageSource<'g>
source§impl Display for PackageSource<'_>
impl Display for PackageSource<'_>
source§impl<'g> Hash for PackageSource<'g>
impl<'g> Hash for PackageSource<'g>
source§impl<'g> PartialEq for PackageSource<'g>
impl<'g> PartialEq for PackageSource<'g>
impl<'g> Copy for PackageSource<'g>
impl<'g> Eq for PackageSource<'g>
impl<'g> StructuralPartialEq for PackageSource<'g>
Auto Trait Implementations§
impl<'g> Freeze for PackageSource<'g>
impl<'g> RefUnwindSafe for PackageSource<'g>
impl<'g> Send for PackageSource<'g>
impl<'g> Sync for PackageSource<'g>
impl<'g> Unpin for PackageSource<'g>
impl<'g> UnwindSafe for PackageSource<'g>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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>
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>
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