diff --git a/src/rustdoc/attr_pass.rs b/src/rustdoc/attr_pass.rs index 474189f36199..9dd650aab8f8 100644 --- a/src/rustdoc/attr_pass.rs +++ b/src/rustdoc/attr_pass.rs @@ -93,6 +93,7 @@ fn parse_item_attrs( astsrv::exec(srv) {|ctxt| let attrs = alt ctxt.ast_map.get(id) { ast_map::node_item(item, _) { item.attrs } + ast_map::node_native_item(item, _) { item.attrs } _ { fail "parse_item_attrs: not an item"; } @@ -113,6 +114,18 @@ fn should_extract_top_mod_attributes() { assert doc.topmod.desc() == some("test"); } +#[test] +fn should_extract_native_mod_attributes() { + let doc = test::mk_doc("#[doc = \"test\"] native mod a { }"); + assert doc.topmod.nmods()[0].desc() == some("test"); +} + +#[test] +fn should_extract_native_fn_attributes() { + let doc = test::mk_doc("native mod a { #[doc = \"test\"] fn a(); }"); + assert doc.topmod.nmods()[0].fns[0].desc() == some("test"); +} + fn fold_fn( fold: fold::fold, doc: doc::fndoc