diff --git a/src/rustdoc/desc_to_brief_pass.rs b/src/rustdoc/desc_to_brief_pass.rs index 072c6c6c910..3c2cc46dad1 100644 --- a/src/rustdoc/desc_to_brief_pass.rs +++ b/src/rustdoc/desc_to_brief_pass.rs @@ -21,7 +21,8 @@ fn run( fold_mod: fold_mod, fold_const: fold_const, fold_fn: fold_fn, - fold_enum: fold_enum + fold_enum: fold_enum, + fold_res: fold_res with *fold::default_seq_fold(()) }); fold.fold_crate(fold, doc) @@ -71,6 +72,17 @@ fn fold_enum(fold: fold::fold<()>, doc: doc::enumdoc) -> doc::enumdoc { } } +fn fold_res(fold: fold::fold<()>, doc: doc::resdoc) -> doc::resdoc { + let doc = fold::default_seq_fold_res(fold, doc); + let (brief, desc) = modify(doc.brief, doc.desc); + + ~{ + brief: brief, + desc: desc + with *doc + } +} + #[test] fn should_promote_mod_desc() { let source = "#[doc(desc = \"desc\")] mod m { }"; @@ -115,6 +127,17 @@ fn should_promote_enum_desc() { assert doc.topmod.enums[0].desc == none; } +#[test] +fn should_promote_resource_desc() { + let source = "#[doc(desc = \"desc\")] resource r(a: bool) { }"; + let srv = astsrv::mk_srv_from_str(source); + let doc = extract::from_srv(srv, ""); + let doc = attr_pass::mk_pass()(srv, doc); + let doc = run(srv, doc); + assert doc.topmod.resources[0].brief == some("desc"); + assert doc.topmod.resources[0].desc == none; +} + fn modify( brief: option, desc: option