diff --git a/src/rustdoc/attr_pass.rs b/src/rustdoc/attr_pass.rs index 6d4cabba0d4..4c945a7869f 100644 --- a/src/rustdoc/attr_pass.rs +++ b/src/rustdoc/attr_pass.rs @@ -158,20 +158,12 @@ fn fold_fn( } fn merge_ret_attrs( - doc: option, + doc: doc::retdoc, attrs: option - ) -> option { - alt doc { - some(doc) { - some({ - desc: attrs - with doc - }) - } - none { - // FIXME: Warning about documenting nil? - none - } + ) -> doc::retdoc { + { + desc: attrs + with doc } } } @@ -204,7 +196,7 @@ fn fold_fn_should_extract_return_attributes() { let doc = tystr_pass::mk_pass()(srv, doc); let fold = fold::default_seq_fold(srv); let doc = fold_fn(fold, doc.topmod.fns[0]); - assert option::get(doc.return).desc == some("what"); + assert doc.return.desc == some("what"); } #[test] diff --git a/src/rustdoc/doc.rs b/src/rustdoc/doc.rs index 4a3101bc716..7ccd50b9649 100644 --- a/src/rustdoc/doc.rs +++ b/src/rustdoc/doc.rs @@ -22,7 +22,7 @@ type fndoc = ~{ brief: option, desc: option, args: [argdoc], - return: option, + return: retdoc, sig: option }; diff --git a/src/rustdoc/extract.rs b/src/rustdoc/extract.rs index ce6d7bdcbb4..9ce5bfed4fe 100644 --- a/src/rustdoc/extract.rs +++ b/src/rustdoc/extract.rs @@ -80,7 +80,10 @@ fn fndoc_from_fn( brief: none, desc: none, args: argdocs_from_args(decl.inputs), - return: none, + return: { + desc: none, + ty: none + }, sig: none } } diff --git a/src/rustdoc/gen.rs b/src/rustdoc/gen.rs index b365de6e6f5..a355bea9934 100644 --- a/src/rustdoc/gen.rs +++ b/src/rustdoc/gen.rs @@ -222,23 +222,18 @@ fn should_write_argument_description() { fn write_return( ctxt: ctxt, - return: option + doc: doc::retdoc ) { - alt return { - some(doc) { - alt doc.ty { - some(ty) { - ctxt.w.write_line(#fmt("Returns `%s`", ty)); + alt doc.ty { + some(ty) { + ctxt.w.write_line(#fmt("Returns `%s`", ty)); + ctxt.w.write_line(""); + alt doc.desc { + some(d) { + ctxt.w.write_line(d); ctxt.w.write_line(""); - alt doc.desc { - some(d) { - ctxt.w.write_line(d); - ctxt.w.write_line(""); - } - none { } - } } - none { fail "unimplemented"; } + none { } } } none { } diff --git a/src/rustdoc/prune_undoc_pass.rs b/src/rustdoc/prune_undoc_pass.rs index 5bc8696b08a..ba8a5456a27 100644 --- a/src/rustdoc/prune_undoc_pass.rs +++ b/src/rustdoc/prune_undoc_pass.rs @@ -32,7 +32,7 @@ fn fold_fn( fold.ctxt.have_docs = doc.brief != none || doc.desc != none - || doc.return != none; + || doc.return.desc != none; ret doc; } diff --git a/src/rustdoc/tystr_pass.rs b/src/rustdoc/tystr_pass.rs index d8c6c675e3a..26dcaabe816 100644 --- a/src/rustdoc/tystr_pass.rs +++ b/src/rustdoc/tystr_pass.rs @@ -62,23 +62,16 @@ fn should_add_fn_sig() { fn merge_ret_ty( srv: astsrv::srv, fn_id: doc::ast_id, - doc: option -) -> option { - alt doc { - some(doc) { - fail "unimplemented"; - } - none { - alt get_ret_ty(srv, fn_id) { - some(ty) { - some({ - desc: none, - ty: some(ty) - }) - } - none { none } + doc: doc::retdoc +) -> doc::retdoc { + alt get_ret_ty(srv, fn_id) { + some(ty) { + { + ty: some(ty) + with doc } } + none { doc } } } @@ -105,7 +98,7 @@ fn should_add_fn_ret_types() { let srv = astsrv::mk_srv_from_str(source); let doc = extract::from_srv(srv, ""); let doc = run(srv, doc); - assert option::get(doc.topmod.fns[0].return).ty == some("int"); + assert doc.topmod.fns[0].return.ty == some("int"); } #[test] @@ -114,7 +107,7 @@ fn should_not_add_nil_ret_type() { let srv = astsrv::mk_srv_from_str(source); let doc = extract::from_srv(srv, ""); let doc = run(srv, doc); - assert doc.topmod.fns[0].return == none; + assert doc.topmod.fns[0].return.ty == none; } fn merge_arg_tys(