diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rustdoc/markdown_pass.rs | 5 | ||||
| -rw-r--r-- | src/rustdoc/path_pass.rs | 16 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/rustdoc/markdown_pass.rs b/src/rustdoc/markdown_pass.rs index aaddb9663cb..79be115f390 100644 --- a/src/rustdoc/markdown_pass.rs +++ b/src/rustdoc/markdown_pass.rs @@ -158,6 +158,9 @@ fn should_write_crate_description() { } fn write_nmod(ctxt: ctxt, doc: doc::nmoddoc) { + let fullpath = str::connect(doc.path() + [doc.name()], "::"); + write_header(ctxt, h1, #fmt("Native module `%s`", fullpath)); + write_brief(ctxt, doc.brief()); write_desc(ctxt, doc.desc()); @@ -169,6 +172,8 @@ fn write_nmod(ctxt: ctxt, doc: doc::nmoddoc) { #[test] fn should_write_native_mods() { let markdown = test::render("#[doc = \"test\"] native mod a { }"); + log(error, markdown); + assert str::contains(markdown, "Native module `a`"); assert str::contains(markdown, "test"); } diff --git a/src/rustdoc/path_pass.rs b/src/rustdoc/path_pass.rs index 8589e3264e0..737c7419084 100644 --- a/src/rustdoc/path_pass.rs +++ b/src/rustdoc/path_pass.rs @@ -47,7 +47,11 @@ fn fold_nmod(fold: fold::fold<ctxt>, doc: doc::nmoddoc) -> doc::nmoddoc { vec::push(fold.ctxt.path, doc.name()); let doc = fold::default_seq_fold_nmod(fold, doc); vec::pop(fold.ctxt.path); - ret doc; + + { + item: fold.fold_item(fold, doc.item) + with doc + } } #[test] @@ -72,6 +76,16 @@ fn should_record_fn_paths() { } #[test] +fn should_record_native_mod_paths() { + let source = "mod a { native mod b { } }"; + astsrv::from_str(source) {|srv| + let doc = extract::from_srv(srv, ""); + let doc = run(srv, doc); + assert doc.topmod.mods()[0].nmods()[0].path() == ["a"]; + } +} + +#[test] fn should_record_native_fn_paths() { let source = "native mod a { fn b(); }"; astsrv::from_str(source) {|srv| |
