pub struct StableCrateId(pub(crate) Hash64);Expand description
A StableCrateId is a 64-bit hash of a crate name, together with all
-Cmetadata arguments, and some other data. It is to CrateNum what DefPathHash is to
DefId. It is stable across compilation sessions.
Since the ID is a hash value, there is a small chance that two crates
end up with the same StableCrateId. The compiler will check for such
collisions when loading crates and abort compilation in order to avoid
further trouble.
For more information on the possibility of hash collisions in rustc,
see the discussion in DefId.
Tuple Fields§
§0: Hash64Implementations§
Trait Implementations§
Source§impl Clone for StableCrateId
 
impl Clone for StableCrateId
Source§fn clone(&self) -> StableCrateId
 
fn clone(&self) -> StableCrateId
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StableCrateId
 
impl Debug for StableCrateId
Source§impl<__D: SpanDecoder> Decodable<__D> for StableCrateId
 
impl<__D: SpanDecoder> Decodable<__D> for StableCrateId
Source§impl<__E: SpanEncoder> Encodable<__E> for StableCrateId
 
impl<__E: SpanEncoder> Encodable<__E> for StableCrateId
Source§impl Hash for StableCrateId
 
impl Hash for StableCrateId
Source§impl<__CTX> HashStable<__CTX> for StableCrateIdwhere
    __CTX: HashStableContext,
 
impl<__CTX> HashStable<__CTX> for StableCrateIdwhere
    __CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
Source§impl LowerHex for StableCrateId
 
impl LowerHex for StableCrateId
Source§impl Ord for StableCrateId
 
impl Ord for StableCrateId
Source§fn cmp(&self, other: &StableCrateId) -> Ordering
 
fn cmp(&self, other: &StableCrateId) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
    Self: Sized,
 
fn max(self, other: Self) -> Selfwhere
    Self: Sized,
Source§impl PartialEq for StableCrateId
 
impl PartialEq for StableCrateId
Source§impl PartialOrd for StableCrateId
 
impl PartialOrd for StableCrateId
impl Copy for StableCrateId
impl Eq for StableCrateId
impl StructuralPartialEq for StableCrateId
Auto Trait Implementations§
impl DynSend for StableCrateId
impl DynSync for StableCrateId
impl Freeze for StableCrateId
impl RefUnwindSafe for StableCrateId
impl Send for StableCrateId
impl Sync for StableCrateId
impl Unpin for StableCrateId
impl UnwindSafe for StableCrateId
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§impl<Q, K> Comparable<K> for Q
 
impl<Q, K> Comparable<K> for Q
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.Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> Pointable for T
 
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
 
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
 
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
 
fn with_current_subscriber(self) -> WithDispatch<Self>
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