]> git.lizzy.rs Git - rust.git/blobdiff - crates/ra_hir/src/lib.rs
Hover for associated items in patterns
[rust.git] / crates / ra_hir / src / lib.rs
index a861ee88e6d272ee2babf7b1656dcc0915eeba27..74c718e724fd2367a974a614fb1c6b6931db15a5 100644 (file)
@@ -5,10 +5,21 @@
 //! to a particular crate instance. That is, it has cfg flags and features
 //! applied. So, the relation between syntax and HIR is many-to-one.
 
+macro_rules! impl_froms {
+    ($e:ident: $($v:ident), *) => {
+        $(
+            impl From<$v> for $e {
+                fn from(it: $v) -> $e {
+                    $e::$v(it)
+                }
+            }
+        )*
+    }
+}
+
 pub mod db;
-#[cfg(test)]
-mod mock;
-mod query_definitions;
+#[macro_use]
+pub mod mock;
 mod path;
 pub mod source_binder;
 
 mod module_tree;
 mod nameres;
 mod adt;
+mod type_alias;
 mod type_ref;
 mod ty;
 mod impl_block;
 mod expr;
 mod generics;
+mod docs;
+mod resolve;
 
 mod code_model_api;
 mod code_model_impl;
 mod marks;
 
 use crate::{
-    db::HirDatabase,
+    db::{HirDatabase, PersistentHirDatabase},
     name::{AsName, KnownName},
-    ids::{DefKind, SourceItemId, SourceFileItems},
+    ids::{SourceItemId, SourceFileItems},
 };
 
 pub use self::{
     path::{Path, PathKind},
     name::Name,
-    ids::{HirFileId, DefId, DefLoc, MacroCallId, MacroCallLoc},
+    ids::{HirFileId, MacroCallId, MacroCallLoc, HirInterner},
     macros::{MacroDef, MacroInput, MacroExpansion},
-    nameres::{ItemMap, PerNs, Namespace, Resolution},
-    ty::Ty,
+    nameres::{ItemMap, PerNs, Namespace},
+    ty::{Ty, Substs},
     impl_block::{ImplBlock, ImplItem},
-    code_model_impl::function::{FnScopes, ScopesWithSyntaxMapping},
+    docs::{Docs, Documentation},
+    adt::AdtDef,
+    expr::{ExprScopes, ScopesWithSourceMap, ScopeEntryWithSyntax, Pat},
+    resolve::{Resolver, Resolution},
 };
 
 pub use self::code_model_api::{
     Crate, CrateDependency,
     Def,
-    Module, ModuleSource, Problem,
+    Module, ModuleDef, ModuleSource, Problem,
     Struct, Enum, EnumVariant,
-    Function, FnSignature, ScopeEntryWithSyntax,
-    StructField,
-    Static, Const,
-    Trait, Type,
+    Function, FnSignature,
+    StructField, FieldSource,
+    Static, Const, ConstSignature,
+    Trait, TypeAlias,
 };