pub struct Crate {
pub id: CrateNum,
pub name: Symbol,
pub is_local: bool,
}Expand description
Metadata about a crate in the current compilation.
Use local_crate() to obtain the crate being compiled, or external_crates()
and find_crates() to discover dependencies.
Fields§
§id: CrateNumThe crate’s unique identifier in this compilation session.
name: SymbolThe crate name as declared in Cargo.toml or --crate-name.
is_local: boolWhether this is the crate currently being compiled.
Implementations§
Source§impl Crate
impl Crate
Sourcepub fn foreign_modules(&self) -> Vec<ForeignModuleDef>
pub fn foreign_modules(&self) -> Vec<ForeignModuleDef>
Return all foreign modules (e.g., extern "C" { ... } blocks) in this crate.
Sourcepub fn trait_decls(&self) -> TraitDecls
pub fn trait_decls(&self) -> TraitDecls
Return all trait declarations in this crate.
For the local crate, this includes private traits. For external crates, it returns all traits available in metadata.
Sourcepub fn trait_impls(&self) -> ImplTraitDecls
pub fn trait_impls(&self) -> ImplTraitDecls
Return all trait implementation blocks in this crate.
Sourcepub fn fn_defs(&self) -> Vec<FnDef>
pub fn fn_defs(&self) -> Vec<FnDef>
Return all function definitions in this crate.
For the local crate, this includes private functions. For external crates, it returns all functions available in metadata.
Trait Implementations§
impl Eq for Crate
impl StructuralPartialEq for Crate
Auto Trait Implementations§
impl !DynSend for Crate
impl !DynSync for Crate
impl !Send for Crate
impl !Sync for Crate
impl Freeze for Crate
impl RefUnwindSafe for Crate
impl Unpin for Crate
impl UnsafeUnpin for Crate
impl UnwindSafe for Crate
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<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
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§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.impl<T> ErasedDestructor for Twhere
T: 'static,
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 more§impl<K> IntoQueryKey<K> for K
impl<K> IntoQueryKey<K> for K
§fn into_query_key(self) -> K
fn into_query_key(self) -> K
Self to K.
This should always be a very cheap conversion, e.g. LocalDefId::to_def_id.§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> 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: 40 bytes