resolve: Turn the binding from #[macro_export]
into a proper Import
This commit is contained in:
parent
637bfe68a1
commit
84317518ff
10 changed files with 96 additions and 61 deletions
|
@ -88,6 +88,11 @@ impl<'r, 'a> EffectiveVisibilitiesVisitor<'r, 'a> {
|
|||
// here, but `macro_use` imports always refer to external items,
|
||||
// so it doesn't matter and we can just do nothing.
|
||||
}
|
||||
ImportKind::MacroExport => {
|
||||
// In theory we should reset the parent id to something public
|
||||
// here, but it has the same effect as leaving the previous parent,
|
||||
// so we can just do nothing.
|
||||
}
|
||||
}
|
||||
|
||||
level = Level::Reexported;
|
||||
|
@ -152,13 +157,6 @@ impl<'r, 'ast> Visitor<'ast> for EffectiveVisibilitiesVisitor<'ast, 'r> {
|
|||
self.update(def_id, Visibility::Public, parent_id, Level::Direct);
|
||||
}
|
||||
|
||||
// Only exported `macro_rules!` items are public, but they always are
|
||||
ast::ItemKind::MacroDef(ref macro_def) if macro_def.macro_rules => {
|
||||
let parent_id = self.r.local_parent(def_id);
|
||||
let vis = self.r.visibilities[&def_id];
|
||||
self.update(def_id, vis, parent_id, Level::Direct);
|
||||
}
|
||||
|
||||
ast::ItemKind::Mod(..) => {
|
||||
self.set_bindings_effective_visibilities(def_id);
|
||||
visit::walk_item(self, item);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue