struct SourceIdInner {
url: Url,
canonical_url: CanonicalUrl,
kind: SourceKind,
precise: Option<String>,
name: Option<String>,
alt_registry_key: Option<String>,
}Expand description
The interned version of SourceId to avoid excessive clones and borrows.
Values are cached in SOURCE_ID_CACHE once created.
Fields§
§url: UrlThe source URL.
canonical_url: CanonicalUrlThe canonical version of the above url. See CanonicalUrl to learn
why it is needed and how it normalizes a URL.
kind: SourceKindThe source kind.
precise: Option<String>For example, the exact Git revision of the specified branch for a Git Source.
name: Option<String>Name of the registry source for alternative registries WARNING: this is not always set for alt-registries when the name is not known.
alt_registry_key: Option<String>Name of the alt registry in the [registries] table.
WARNING: this is not always set for alt-registries when the name is
not known.
Trait Implementations§
source§impl Clone for SourceIdInner
impl Clone for SourceIdInner
source§fn clone(&self) -> SourceIdInner
fn clone(&self) -> SourceIdInner
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for SourceIdInner
impl Debug for SourceIdInner
source§impl Hash for SourceIdInner
impl Hash for SourceIdInner
The hash of SourceIdInner is used to retrieve its interned value from
SOURCE_ID_CACHE. We only care about fields that make SourceIdInner
unique. Optional fields not affecting the uniqueness must be excluded,
such as name and alt_registry_key. That’s why this is not derived.
source§impl PartialEq<SourceIdInner> for SourceIdInner
impl PartialEq<SourceIdInner> for SourceIdInner
This implementation must be synced with SourceIdInner::hash.
impl Eq for SourceIdInner
impl StructuralEq for SourceIdInner
Auto Trait Implementations§
impl RefUnwindSafe for SourceIdInner
impl Send for SourceIdInner
impl Sync for SourceIdInner
impl Unpin for SourceIdInner
impl UnwindSafe for SourceIdInner
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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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:280 bytes