aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-05-27 08:38:21 +0100
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-05-27 08:38:21 +0100
commitbdd779aa44455d86a9975800ab6cd70057fab4a3 (patch)
tree6c39bd0ad6ce7ab52cfcf19ad6b5c8f34c68420f /crates/ra_hir/src/code_model.rs
parentce694ae11854a806031db98c51c068253f927519 (diff)
parent6d68d60d32222af9fda1a6a89911a2c25f4fe402 (diff)
Merge #1277
1277: Improve macro item resolution r=matklad a=edwin0cheng ~This PR add a new namespace `Macros` in `per_ns.rs` to allow following use case:~ This PR improve macro item resolution to allow following use case: ```rust //- /main.rs use foo::bar; bar!(); //- /lib.rs (crate foo) #[macro_export] macro_rules! bar{ () => { struct Foo { field: u32 } } ``` Co-authored-by: Edwin Cheng <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r--crates/ra_hir/src/code_model.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs
index 49030ce67..a9ffc8782 100644
--- a/crates/ra_hir/src/code_model.rs
+++ b/crates/ra_hir/src/code_model.rs
@@ -13,7 +13,7 @@ use crate::{
13 adt::{EnumVariantId, StructFieldId, VariantDef}, 13 adt::{EnumVariantId, StructFieldId, VariantDef},
14 generics::HasGenericParams, 14 generics::HasGenericParams,
15 docs::{Documentation, Docs, docs_from_ast}, 15 docs::{Documentation, Docs, docs_from_ast},
16 ids::{FunctionId, StructId, EnumId, AstItemDef, ConstId, StaticId, TraitId, TypeAliasId}, 16 ids::{FunctionId, StructId, EnumId, AstItemDef, ConstId, StaticId, TraitId, TypeAliasId, MacroDefId},
17 impl_block::ImplBlock, 17 impl_block::ImplBlock,
18 resolve::Resolver, 18 resolve::Resolver,
19 diagnostics::{DiagnosticSink}, 19 diagnostics::{DiagnosticSink},
@@ -937,6 +937,10 @@ impl Docs for TypeAlias {
937 docs_from_ast(&*self.source(db).1) 937 docs_from_ast(&*self.source(db).1)
938 } 938 }
939} 939}
940#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
941pub struct MacroDef {
942 pub(crate) id: MacroDefId,
943}
940 944
941pub enum Container { 945pub enum Container {
942 Trait(Trait), 946 Trait(Trait),