Skip to content

Commit fdbe206

Browse files
committed
rustdoc: Make doc::retdoc non-optional
1 parent 6222e98 commit fdbe206

File tree

6 files changed

+31
-48
lines changed

6 files changed

+31
-48
lines changed

src/rustdoc/attr_pass.rs

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -158,20 +158,12 @@ fn fold_fn(
158158
}
159159

160160
fn merge_ret_attrs(
161-
doc: option<doc::retdoc>,
161+
doc: doc::retdoc,
162162
attrs: option<str>
163-
) -> option<doc::retdoc> {
164-
alt doc {
165-
some(doc) {
166-
some({
167-
desc: attrs
168-
with doc
169-
})
170-
}
171-
none {
172-
// FIXME: Warning about documenting nil?
173-
none
174-
}
163+
) -> doc::retdoc {
164+
{
165+
desc: attrs
166+
with doc
175167
}
176168
}
177169
}
@@ -204,7 +196,7 @@ fn fold_fn_should_extract_return_attributes() {
204196
let doc = tystr_pass::mk_pass()(srv, doc);
205197
let fold = fold::default_seq_fold(srv);
206198
let doc = fold_fn(fold, doc.topmod.fns[0]);
207-
assert option::get(doc.return).desc == some("what");
199+
assert doc.return.desc == some("what");
208200
}
209201

210202
#[test]

src/rustdoc/doc.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type fndoc = ~{
2222
brief: option<str>,
2323
desc: option<str>,
2424
args: [argdoc],
25-
return: option<retdoc>,
25+
return: retdoc,
2626
sig: option<str>
2727
};
2828

src/rustdoc/extract.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ fn fndoc_from_fn(
8080
brief: none,
8181
desc: none,
8282
args: argdocs_from_args(decl.inputs),
83-
return: none,
83+
return: {
84+
desc: none,
85+
ty: none
86+
},
8487
sig: none
8588
}
8689
}

src/rustdoc/gen.rs

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -222,23 +222,18 @@ fn should_write_argument_description() {
222222

223223
fn write_return(
224224
ctxt: ctxt,
225-
return: option<doc::retdoc>
225+
doc: doc::retdoc
226226
) {
227-
alt return {
228-
some(doc) {
229-
alt doc.ty {
230-
some(ty) {
231-
ctxt.w.write_line(#fmt("Returns `%s`", ty));
227+
alt doc.ty {
228+
some(ty) {
229+
ctxt.w.write_line(#fmt("Returns `%s`", ty));
230+
ctxt.w.write_line("");
231+
alt doc.desc {
232+
some(d) {
233+
ctxt.w.write_line(d);
232234
ctxt.w.write_line("");
233-
alt doc.desc {
234-
some(d) {
235-
ctxt.w.write_line(d);
236-
ctxt.w.write_line("");
237-
}
238-
none { }
239-
}
240235
}
241-
none { fail "unimplemented"; }
236+
none { }
242237
}
243238
}
244239
none { }

src/rustdoc/prune_undoc_pass.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fn fold_fn(
3232
fold.ctxt.have_docs =
3333
doc.brief != none
3434
|| doc.desc != none
35-
|| doc.return != none;
35+
|| doc.return.desc != none;
3636
ret doc;
3737
}
3838

src/rustdoc/tystr_pass.rs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -62,23 +62,16 @@ fn should_add_fn_sig() {
6262
fn merge_ret_ty(
6363
srv: astsrv::srv,
6464
fn_id: doc::ast_id,
65-
doc: option<doc::retdoc>
66-
) -> option<doc::retdoc> {
67-
alt doc {
68-
some(doc) {
69-
fail "unimplemented";
70-
}
71-
none {
72-
alt get_ret_ty(srv, fn_id) {
73-
some(ty) {
74-
some({
75-
desc: none,
76-
ty: some(ty)
77-
})
78-
}
79-
none { none }
65+
doc: doc::retdoc
66+
) -> doc::retdoc {
67+
alt get_ret_ty(srv, fn_id) {
68+
some(ty) {
69+
{
70+
ty: some(ty)
71+
with doc
8072
}
8173
}
74+
none { doc }
8275
}
8376
}
8477

@@ -105,7 +98,7 @@ fn should_add_fn_ret_types() {
10598
let srv = astsrv::mk_srv_from_str(source);
10699
let doc = extract::from_srv(srv, "");
107100
let doc = run(srv, doc);
108-
assert option::get(doc.topmod.fns[0].return).ty == some("int");
101+
assert doc.topmod.fns[0].return.ty == some("int");
109102
}
110103

111104
#[test]
@@ -114,7 +107,7 @@ fn should_not_add_nil_ret_type() {
114107
let srv = astsrv::mk_srv_from_str(source);
115108
let doc = extract::from_srv(srv, "");
116109
let doc = run(srv, doc);
117-
assert doc.topmod.fns[0].return == none;
110+
assert doc.topmod.fns[0].return.ty == none;
118111
}
119112

120113
fn merge_arg_tys(

0 commit comments

Comments
 (0)