@@ -141,7 +141,8 @@ fn write_return(
141
141
some ( doc) {
142
142
alt doc. ty {
143
143
some ( ty) {
144
- ctxt. w . write_line ( "### Returns `" + ty + "`" ) ;
144
+ ctxt. w . write_line ( #fmt ( "Returns `%s`" , ty) ) ;
145
+ ctxt. w . write_line ( "" ) ;
145
146
alt doc. desc {
146
147
some ( d) {
147
148
ctxt. w . write_line ( d) ;
@@ -162,6 +163,7 @@ mod tests {
162
163
let srv = astsrv:: mk_srv_from_str ( source) ;
163
164
let doc = extract:: from_srv ( srv, "" ) ;
164
165
let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
166
+ let doc = tystr_pass:: mk_pass ( ) ( srv, doc) ;
165
167
write_markdown_str ( doc)
166
168
}
167
169
@@ -208,16 +210,31 @@ mod tests {
208
210
}
209
211
210
212
#[ test]
211
- fn should_leve_blank_line_after_brief ( ) {
213
+ fn should_leave_blank_line_after_brief ( ) {
212
214
let markdown = render ( "#[doc(brief = \" brief\" )] fn a() { }" ) ;
213
215
assert str:: contains ( markdown, "brief\n \n " ) ;
214
216
}
215
217
216
218
#[ test]
217
- fn should_leve_blank_line_between_brief_and_desc ( ) {
219
+ fn should_leave_blank_line_between_brief_and_desc ( ) {
218
220
let markdown = render (
219
221
"#[doc(brief = \" brief\" , desc = \" desc\" )] fn a() { }"
220
222
) ;
221
223
assert str:: contains ( markdown, "brief\n \n desc" ) ;
222
224
}
225
+
226
+ #[ test]
227
+ fn should_write_return_type_on_new_line ( ) {
228
+ let markdown = render ( "fn a() -> int { }" ) ;
229
+ assert str:: contains ( markdown, "\n Returns `int`" ) ;
230
+ }
231
+
232
+ #[ test]
233
+ fn should_write_blank_line_between_return_type_and_next_header ( ) {
234
+ let markdown = render (
235
+ "fn a() -> int { } \
236
+ fn b() -> int { }"
237
+ ) ;
238
+ assert str:: contains ( markdown, "Returns `int`\n \n ##" ) ;
239
+ }
223
240
}
0 commit comments