diff options
| author | Eric Huss <eric@huss.org> | 2021-02-08 10:03:57 -0800 |
|---|---|---|
| committer | Eric Huss <eric@huss.org> | 2021-02-08 12:08:27 -0800 |
| commit | cadffa74df1589011cc7e9c3a19e196e2c73b46c (patch) | |
| tree | 5e2fd6610d5f824a264a5f3984687c5844755108 | |
| parent | 921ec4b3fca17cc777766c240038d7d50ba98e0d (diff) | |
| download | rust-cadffa74df1589011cc7e9c3a19e196e2c73b46c.tar.gz rust-cadffa74df1589011cc7e9c3a19e196e2c73b46c.zip | |
Fix pretty printer macro_rules with semicolon.
| -rw-r--r-- | compiler/rustc_ast_pretty/src/pprust/state.rs | 3 | ||||
| -rw-r--r-- | src/test/pretty/macro_rules.rs | 19 |
2 files changed, 22 insertions, 0 deletions
diff --git a/compiler/rustc_ast_pretty/src/pprust/state.rs b/compiler/rustc_ast_pretty/src/pprust/state.rs index 7f4775bf41a..01e234c9be9 100644 --- a/compiler/rustc_ast_pretty/src/pprust/state.rs +++ b/compiler/rustc_ast_pretty/src/pprust/state.rs @@ -1311,6 +1311,9 @@ impl<'a> State<'a> { true, item.span, ); + if macro_def.body.need_semicolon() { + self.word(";"); + } } } self.ann.post(self, AnnNode::Item(item)) diff --git a/src/test/pretty/macro_rules.rs b/src/test/pretty/macro_rules.rs new file mode 100644 index 00000000000..da223d164f9 --- /dev/null +++ b/src/test/pretty/macro_rules.rs @@ -0,0 +1,19 @@ +// pp-exact + +macro_rules! brace { () => { } ; } + +macro_rules! bracket[() => { } ;]; + +macro_rules! paren(() => { } ;); + +macro_rules! matcher_brackets { + (paren) => { } ; (bracket) => { } ; (brace) => { } ; +} + +macro_rules! all_fragments { + ($ b : block, $ e : expr, $ i : ident, $ it : item, $ l : lifetime, $ lit + : literal, $ m : meta, $ p : pat, $ pth : path, $ s : stmt, $ tt : tt, $ + ty : ty, $ vis : vis) => { } ; +} + +fn main() { } |
