rustdoc: Convert fn return type to retdoc record
This commit is contained in:
parent
63dcc64275
commit
e77b8db707
3 changed files with 14 additions and 6 deletions
|
@ -112,7 +112,10 @@ fn parse_fn_(
|
||||||
name: name,
|
name: name,
|
||||||
brief: _brief,
|
brief: _brief,
|
||||||
desc: desc,
|
desc: desc,
|
||||||
return: return,
|
return: some({
|
||||||
|
desc: return,
|
||||||
|
ty: none,
|
||||||
|
}),
|
||||||
args: argdocs }
|
args: argdocs }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +179,7 @@ mod tests {
|
||||||
let source = "#[doc(return = \"return value\")]";
|
let source = "#[doc(return = \"return value\")]";
|
||||||
let attrs = parse_attributes(source);
|
let attrs = parse_attributes(source);
|
||||||
let doc = parse_fn("f", 0, attrs);
|
let doc = parse_fn("f", 0, attrs);
|
||||||
assert doc.return == some("return value");
|
assert option::get(doc.return).desc == some("return value");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -15,10 +15,15 @@ type fndoc = ~{
|
||||||
name: str,
|
name: str,
|
||||||
brief: str,
|
brief: str,
|
||||||
desc: option::t<str>,
|
desc: option::t<str>,
|
||||||
return: option::t<str>,
|
return: option<retdoc>,
|
||||||
args: [(str, str)]
|
args: [(str, str)]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
type retdoc = {
|
||||||
|
desc: option<str>,
|
||||||
|
ty: option<str>
|
||||||
|
};
|
||||||
|
|
||||||
// Just to break the structural recursive types
|
// Just to break the structural recursive types
|
||||||
tag modlist = [moddoc];
|
tag modlist = [moddoc];
|
||||||
tag fnlist = [fndoc];
|
tag fnlist = [fndoc];
|
||||||
|
|
|
@ -100,12 +100,12 @@ fn write_fndoc(ctxt: ctxt, ident: str, doc: doc::fndoc, decl: ast::fn_decl) {
|
||||||
}
|
}
|
||||||
for (arg, desc) in doc.args {
|
for (arg, desc) in doc.args {
|
||||||
ctxt.w.write_str("### Argument `" + arg + "`: ");
|
ctxt.w.write_str("### Argument `" + arg + "`: ");
|
||||||
ctxt.w.write_str(desc);
|
ctxt.w.write_str(desc)
|
||||||
}
|
}
|
||||||
ctxt.w.write_line("### Returns `" + pprust::ty_to_str(decl.output) + "`");
|
ctxt.w.write_line("### Returns `" + pprust::ty_to_str(decl.output) + "`");
|
||||||
alt doc.return {
|
alt doc.return {
|
||||||
some(_r) { ctxt.w.write_line(_r); }
|
some({desc: some(d), _}) { ctxt.w.write_line(d); }
|
||||||
none. { }
|
_ { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue