rustdoc: Reexport native functions
This commit is contained in:
parent
396540f19d
commit
16d290d10c
|
@ -104,7 +104,8 @@ fn build_reexport_def_map(
|
|||
|
||||
// FIXME: Do a parallel fold
|
||||
let fold = fold::fold({
|
||||
fold_mod: fold_mod
|
||||
fold_mod: fold_mod,
|
||||
fold_nmod: fold_nmod
|
||||
with *fold::default_seq_fold(ctxt)
|
||||
});
|
||||
|
||||
|
@ -124,6 +125,19 @@ fn build_reexport_def_map(
|
|||
|
||||
ret doc;
|
||||
}
|
||||
|
||||
fn fold_nmod(fold: fold::fold<ctxt>, doc: doc::nmoddoc) -> doc::nmoddoc {
|
||||
let doc = fold::default_seq_fold_nmod(fold, doc);
|
||||
|
||||
for fndoc in doc.fns {
|
||||
let def_id = ast_util::local_def(fndoc.id());
|
||||
if fold.ctxt.def_set.contains_key(def_id) {
|
||||
fold.ctxt.def_map.insert(def_id, doc::fntag(fndoc));
|
||||
}
|
||||
}
|
||||
|
||||
ret doc;
|
||||
}
|
||||
}
|
||||
|
||||
fn build_reexport_path_map(srv: astsrv::srv, -def_map: def_map) -> path_map {
|
||||
|
@ -298,6 +312,14 @@ fn should_mark_reepxorts_as_such() {
|
|||
assert doc.topmod.mods()[1].fns()[0].item.reexport == true;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn should_duplicate_reexported_native_fns() {
|
||||
let source = "native mod a { fn b(); } \
|
||||
mod c { import a::b; export b; }";
|
||||
let doc = test::mk_doc(source);
|
||||
assert doc.topmod.mods()[0].fns()[0].name() == "b";
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn should_duplicate_multiple_reexported_items() {
|
||||
let source = "mod a { \
|
||||
|
|
Loading…
Reference in New Issue