about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/rustdoc/markdown_pass.rs23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/rustdoc/markdown_pass.rs b/src/rustdoc/markdown_pass.rs
index 425374cbb08..aaddb9663cb 100644
--- a/src/rustdoc/markdown_pass.rs
+++ b/src/rustdoc/markdown_pass.rs
@@ -133,7 +133,7 @@ fn write_mod_contents(
     for itemtag in doc.items {
         alt itemtag {
           doc::modtag(moddoc) { write_mod(ctxt, moddoc) }
-          doc::nmodtag(_) { fail }
+          doc::nmodtag(nmoddoc) { write_nmod(ctxt, nmoddoc) }
           doc::fntag(fndoc) { write_fn(ctxt, fndoc) }
           doc::consttag(constdoc) { write_const(ctxt, constdoc) }
           doc::enumtag(enumdoc) { write_enum(ctxt, enumdoc) }
@@ -157,6 +157,27 @@ fn should_write_crate_description() {
     assert str::contains(markdown, "this is the crate");
 }
 
+fn write_nmod(ctxt: ctxt, doc: doc::nmoddoc) {
+    write_brief(ctxt, doc.brief());
+    write_desc(ctxt, doc.desc());
+
+    for fndoc in doc.fns {
+        write_fn(ctxt, fndoc);
+    }
+}
+
+#[test]
+fn should_write_native_mods() {
+    let markdown = test::render("#[doc = \"test\"] native mod a { }");
+    assert str::contains(markdown, "test");
+}
+
+#[test]
+fn should_write_native_fns() {
+    let markdown = test::render("native mod a { #[doc = \"test\"] fn a(); }");
+    assert str::contains(markdown, "test");
+}
+
 fn write_fn(
     ctxt: ctxt,
     doc: doc::fndoc