From fa3368bc71611f071489a3a5183bd572bc6f4022 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 23 Jan 2012 16:03:15 -0800 Subject: [PATCH] rustdoc: Prune undocumented return values --- src/rustdoc/prune_undoc_pass.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/rustdoc/prune_undoc_pass.rs b/src/rustdoc/prune_undoc_pass.rs index 029738da8db..433ed1ff839 100644 --- a/src/rustdoc/prune_undoc_pass.rs +++ b/src/rustdoc/prune_undoc_pass.rs @@ -53,6 +53,14 @@ fn fold_fn( } else { none } + }, + return: { + ty: if option::is_some(doc.return.desc) { + doc.return.ty + } else { + none + } + with doc.return } with *doc }; @@ -85,6 +93,17 @@ fn should_not_elide_fns_with_documented_arguments() { assert vec::is_not_empty(*doc.topmod.fns); } +#[test] +fn should_elide_undocumented_return_values() { + let source = "#[doc = \"fonz\"] fn a() -> int { }"; + let srv = astsrv::mk_srv_from_str(source); + let doc = extract::from_srv(srv, ""); + let doc = tystr_pass::mk_pass()(srv, doc); + let doc = attr_pass::mk_pass()(srv, doc); + let doc = run(srv, doc); + assert doc.topmod.fns[0].return.ty == none; +} + fn fold_modlist( fold: fold::fold, list: doc::modlist