1 //! HIR (previsouly known as descriptors) provides a high-level OO acess to Rust
4 //! The principal difference between HIR and syntax trees is that HIR is bound
5 //! to a particular crate instance. That is, it has cfg flags and features
6 //! applied. So, there relation between syntax and HIR is many-to-one.
11 None => return Ok(None),
20 mod query_definitions;
22 pub mod source_binder;
27 // can't use `crate` or `r#crate` here :(
38 name::{AsName, KnownName},
39 ids::{DefKind, SourceItemId, SourceFileItemId, SourceFileItems},
43 path::{Path, PathKind},
46 ids::{HirFileId, DefId, DefLoc, MacroCallId, MacroCallLoc},
47 macros::{MacroDef, MacroInput, MacroExpansion},
48 module::{Module, ModuleId, Problem, nameres::{ItemMap, PerNs, Namespace}, ModuleScope, Resolution},
49 function::{Function, FnScopes},
52 impl_block::{ImplBlock, ImplItem},
55 pub use self::function::FnSignatureInfo;