diff --git a/src/comp/syntax/print/pprust.rs b/src/comp/syntax/print/pprust.rs index 07cd7537f5e..0ca54fceddc 100644 --- a/src/comp/syntax/print/pprust.rs +++ b/src/comp/syntax/print/pprust.rs @@ -1563,7 +1563,11 @@ fn print_comment(s: &ps, cmnt: lexer::cmnt) { } lexer::blank_line. { // We need to do at least one, possibly two hardbreaks. - if is_begin(s) || is_end(s) { hardbreak(s.s) } + let is_semi = alt s.s.last_token() { + pp::STRING(s, _) { s == ";" } + _ { false } + }; + if is_semi || is_begin(s) || is_end(s) { hardbreak(s.s) } hardbreak(s.s); } } diff --git a/src/test/pretty/blank-lines.rs b/src/test/pretty/blank-lines.rs new file mode 100644 index 00000000000..13cf815e80d --- /dev/null +++ b/src/test/pretty/blank-lines.rs @@ -0,0 +1,15 @@ +// pp-exact +fn f() -> [int] { + let picard = 0; + + let data = 1; + + let worf = 2; + + + let enterprise = [picard, data, worf]; + + + + ret enterprise; +}