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<'g> Display for PackageSource<'g>
impl<'g> Display for PackageSource<'g>
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
)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.