Struct cargo::core::package_id::PackageId
source · pub struct PackageId {
inner: &'static PackageIdInner,
}
Expand description
Identifier for a specific version of a package in a specific source.
Fields§
§inner: &'static PackageIdInner
Implementations§
source§impl PackageId
impl PackageId
pub fn try_new( name: impl Into<InternedString>, version: &str, sid: SourceId, ) -> CargoResult<PackageId>
pub fn new( name: InternedString, version: Version, source_id: SourceId, ) -> PackageId
pub fn name(self) -> InternedString
pub fn version(self) -> &'static Version
pub fn source_id(self) -> SourceId
pub fn with_source_id(self, source: SourceId) -> PackageId
pub fn map_source(self, to_replace: SourceId, replace_with: SourceId) -> Self
sourcepub fn stable_hash(self, workspace: &Path) -> PackageIdStableHash<'_>
pub fn stable_hash(self, workspace: &Path) -> PackageIdStableHash<'_>
Returns a value that implements a “stable” hashable value.
Stable hashing removes the path prefix of the workspace from path packages. This helps with reproducible builds, since this hash is part of the symbol metadata, and we don’t want the absolute path where the build is performed to affect the binary output.
sourcepub fn tarball_name(&self) -> String
pub fn tarball_name(&self) -> String
Filename of the .crate
tarball, e.g., once_cell-1.18.0.crate
.
sourcepub fn to_spec(&self) -> PackageIdSpec
pub fn to_spec(&self) -> PackageIdSpec
Convert a PackageId
to a PackageIdSpec
, which will have both the PartialVersion
and Url
fields filled in.
source§impl PackageId
impl PackageId
pub fn as_activations_key( self, ) -> (InternedString, SourceId, SemverCompatibility)
Trait Implementations§
source§impl<'de> Deserialize<'de> for PackageId
impl<'de> Deserialize<'de> for PackageId
source§fn deserialize<D>(d: D) -> Result<PackageId, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(d: D) -> Result<PackageId, D::Error>where
D: Deserializer<'de>,
source§impl Ord for PackageId
impl Ord for PackageId
source§impl PartialOrd for PackageId
impl PartialOrd for PackageId
impl Copy for PackageId
impl Eq for PackageId
Auto Trait Implementations§
impl Freeze for PackageId
impl RefUnwindSafe for PackageId
impl Send for PackageId
impl Sync for PackageId
impl Unpin for PackageId
impl UnwindSafe for PackageId
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> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§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.§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
source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
§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>
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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: 8 bytes