diff options
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index bcbc0a19ce7..b634dcca7fc 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -2387,7 +2387,7 @@ pub enum ItemKind { ), /// A macro invocation. /// - /// E.g., `macro_rules! foo { .. }` or `foo!(..)`. + /// E.g., `foo!(..)`. Mac(Mac), /// A macro definition. diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 5d8498f8b5d..bf36c0d2f56 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -35,6 +35,7 @@ pub enum AnnNode<'a> { SubItem(ast::NodeId), Expr(&'a ast::Expr), Pat(&'a ast::Pat), + Crate(&'a ast::Crate), } pub trait PpAnn { @@ -140,6 +141,7 @@ pub fn print_crate<'a>(cm: &'a SourceMap, s.print_mod(&krate.module, &krate.attrs); s.print_remaining_comments(); + s.ann.post(&mut s, AnnNode::Crate(krate)); s.s.eof() } @@ -1369,8 +1371,12 @@ impl<'a> State<'a> { } } ast::ItemKind::MacroDef(ref macro_def) => { - let (kw, has_bang) = - if macro_def.legacy { ("macro_rules", true) } else { ("macro", false) }; + let (kw, has_bang) = if macro_def.legacy { + ("macro_rules", true) + } else { + self.print_visibility(&item.vis); + ("macro", false) + }; self.print_mac_common( Some(MacHeader::Keyword(kw)), has_bang, |
