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 :(
39 name::{AsName, KnownName},
40 ids::{DefKind, SourceItemId, SourceFileItemId, SourceFileItems},
44 path::{Path, PathKind},
47 ids::{HirFileId, DefId, DefLoc, MacroCallId, MacroCallLoc},
48 macros::{MacroDef, MacroInput, MacroExpansion},
49 module::{Module, ModuleId, Problem, nameres::{ItemMap, PerNs, Namespace}, ModuleScope, Resolution},
50 function::{Function, FnScopes, ScopesWithSyntaxMapping},
53 impl_block::{ImplBlock, ImplItem},
56 pub use self::function::FnSignatureInfo;