Skip to content

Commit 53c6454

Browse files
committed
rustdoc: Extract brief enum descs from long descs
1 parent 1d94f40 commit 53c6454

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

src/rustdoc/desc_to_brief_pass.rs

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ fn run(
2020
let fold = fold::fold({
2121
fold_mod: fold_mod,
2222
fold_const: fold_const,
23-
fold_fn: fold_fn
23+
fold_fn: fold_fn,
24+
fold_enum: fold_enum
2425
with *fold::default_seq_fold(())
2526
});
2627
fold.fold_crate(fold, doc)
@@ -59,6 +60,17 @@ fn fold_fn(fold: fold::fold<()>, doc: doc::fndoc) -> doc::fndoc {
5960
}
6061
}
6162

63+
fn fold_enum(fold: fold::fold<()>, doc: doc::enumdoc) -> doc::enumdoc {
64+
let doc = fold::default_seq_fold_enum(fold, doc);
65+
let (brief, desc) = modify(doc.brief, doc.desc);
66+
67+
~{
68+
brief: brief,
69+
desc: desc
70+
with *doc
71+
}
72+
}
73+
6274
#[test]
6375
fn should_promote_mod_desc() {
6476
let source = "#[doc(desc = \"desc\")] mod m { }";
@@ -92,6 +104,17 @@ fn should_promote_fn_desc() {
92104
assert doc.topmod.fns[0].desc == none;
93105
}
94106

107+
#[test]
108+
fn should_promote_enum_desc() {
109+
let source = "#[doc(desc = \"desc\")] enum a { b }";
110+
let srv = astsrv::mk_srv_from_str(source);
111+
let doc = extract::from_srv(srv, "");
112+
let doc = attr_pass::mk_pass()(srv, doc);
113+
let doc = run(srv, doc);
114+
assert doc.topmod.enums[0].brief == some("desc");
115+
assert doc.topmod.enums[0].desc == none;
116+
}
117+
95118
fn modify(
96119
brief: option<str>,
97120
desc: option<str>

0 commit comments

Comments
 (0)