pub struct Crate { /* private fields */ }
Expand description
hir::Crate describes a single crate. It’s the main interface with which a crate’s dependencies interact. Mostly, it should be just a proxy for the root module.
Implementations§
source§impl Crate
impl Crate
pub fn origin(self, db: &dyn HirDatabase) -> CrateOrigin
pub fn is_builtin(self, db: &dyn HirDatabase) -> bool
pub fn dependencies(self, db: &dyn HirDatabase) -> Vec<CrateDependency>
pub fn reverse_dependencies(self, db: &dyn HirDatabase) -> Vec<Crate>
pub fn transitive_reverse_dependencies( self, db: &dyn HirDatabase, ) -> impl Iterator<Item = Crate>
pub fn root_module(self) -> Module
pub fn modules(self, db: &dyn HirDatabase) -> Vec<Module>
pub fn root_file(self, db: &dyn HirDatabase) -> FileId
pub fn edition(self, db: &dyn HirDatabase) -> Edition
pub fn version(self, db: &dyn HirDatabase) -> Option<String>
pub fn display_name(self, db: &dyn HirDatabase) -> Option<CrateDisplayName>
pub fn query_external_importables( self, db: &dyn DefDatabase, query: Query, ) -> impl Iterator<Item = Either<ModuleDef, Macro>>
pub fn all(db: &dyn HirDatabase) -> Vec<Crate>
sourcepub fn get_html_root_url(self: &Crate, db: &dyn HirDatabase) -> Option<String>
pub fn get_html_root_url(self: &Crate, db: &dyn HirDatabase) -> Option<String>
Try to get the root URL of the documentation of a crate.
pub fn cfg(&self, db: &dyn HirDatabase) -> Arc<CfgOptions>
pub fn potential_cfg(&self, db: &dyn HirDatabase) -> Arc<CfgOptions>
Trait Implementations§
impl Copy for Crate
impl Eq for Crate
impl StructuralPartialEq for Crate
Auto Trait Implementations§
impl Freeze for Crate
impl RefUnwindSafe for Crate
impl Send for Crate
impl Sync for Crate
impl Unpin 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
Mutably borrows from an owned value. Read more
§impl<T> Cast for T
impl<T> Cast for 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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
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>
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>
Converts
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>
Converts
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