def collector: Set correct namespace in DefPathData
for foreign types
This commit is contained in:
parent
f0dc906319
commit
84de641484
@ -194,25 +194,19 @@ fn visit_use_tree(&mut self, use_tree: &'a UseTree, id: NodeId, _nested: bool) {
|
|||||||
visit::walk_use_tree(self, use_tree, id);
|
visit::walk_use_tree(self, use_tree, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn visit_foreign_item(&mut self, foreign_item: &'a ForeignItem) {
|
fn visit_foreign_item(&mut self, fi: &'a ForeignItem) {
|
||||||
let def_kind = match foreign_item.kind {
|
let (def_data, def_kind) = match fi.kind {
|
||||||
ForeignItemKind::Static(_, mt, _) => DefKind::Static(mt),
|
ForeignItemKind::Static(_, mt, _) => {
|
||||||
ForeignItemKind::Fn(_) => DefKind::Fn,
|
(DefPathData::ValueNs(fi.ident.name), DefKind::Static(mt))
|
||||||
ForeignItemKind::TyAlias(_) => DefKind::ForeignTy,
|
}
|
||||||
ForeignItemKind::MacCall(_) => return self.visit_macro_invoc(foreign_item.id),
|
ForeignItemKind::Fn(_) => (DefPathData::ValueNs(fi.ident.name), DefKind::Fn),
|
||||||
|
ForeignItemKind::TyAlias(_) => (DefPathData::TypeNs(fi.ident.name), DefKind::ForeignTy),
|
||||||
|
ForeignItemKind::MacCall(_) => return self.visit_macro_invoc(fi.id),
|
||||||
};
|
};
|
||||||
|
|
||||||
// FIXME: The namespace is incorrect for foreign types.
|
let def = self.create_def(fi.id, def_data, def_kind, fi.span);
|
||||||
let def = self.create_def(
|
|
||||||
foreign_item.id,
|
|
||||||
DefPathData::ValueNs(foreign_item.ident.name),
|
|
||||||
def_kind,
|
|
||||||
foreign_item.span,
|
|
||||||
);
|
|
||||||
|
|
||||||
self.with_parent(def, |this| {
|
self.with_parent(def, |this| visit::walk_foreign_item(this, fi));
|
||||||
visit::walk_foreign_item(this, foreign_item);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn visit_variant(&mut self, v: &'a Variant) {
|
fn visit_variant(&mut self, v: &'a Variant) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: symbol-name(_RMCsCRATE_HASH_13foreign_typesINtB<REF>_5CheckNvB<REF>_11ForeignTypeE)
|
error: symbol-name(_RMCsCRATE_HASH_13foreign_typesINtB<REF>_5CheckNtB<REF>_11ForeignTypeE)
|
||||||
--> $DIR/foreign-types.rs:13:1
|
--> $DIR/foreign-types.rs:13:1
|
||||||
|
|
|
|
||||||
LL | #[rustc_symbol_name]
|
LL | #[rustc_symbol_name]
|
||||||
|
Loading…
Reference in New Issue
Block a user