about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-03-16 14:20:36 -0700
committerbors <bors@rust-lang.org>2016-03-16 14:20:36 -0700
commiteeb062b8b1a1bb26151bed05ddd16fe55c979ee1 (patch)
tree4d1d15e624e9c28891610b272484d62331863e93 /src/libsyntax
parentfd5603b6fc8c130da50c2fd49bcd1188ef10a19e (diff)
parent0e3334eba95ea66f35db15a73181ba8e22f80586 (diff)
downloadrust-eeb062b8b1a1bb26151bed05ddd16fe55c979ee1.tar.gz
rust-eeb062b8b1a1bb26151bed05ddd16fe55c979ee1.zip
Auto merge of #31746 - erickt:newline, r=sfackler
syntax: Always pretty print a newline after doc comments

Before this patch, code that had a doc comment as the first
line, as in:

```rust
/// Foo
struct Foo;
```

Was pretty printed into:

```rust
///Foostruct Foo;
```

This makes sure that that there is always a trailing newline
after a doc comment.

Closes #31722
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/print/pprust.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 533487ae1c5..430d13b87fc 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -752,7 +752,8 @@ pub trait PrintState<'a> {
         }
         try!(self.maybe_print_comment(attr.span.lo));
         if attr.node.is_sugared_doc {
-            word(self.writer(), &attr.value_str().unwrap())
+            try!(word(self.writer(), &attr.value_str().unwrap()));
+            hardbreak(self.writer())
         } else {
             match attr.node.style {
                 ast::AttrStyle::Inner => try!(word(self.writer(), "#![")),