about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2013-08-10 13:03:19 -0700
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2013-08-10 13:03:19 -0700
commitfb00463feb4c51915941a84077b78c173e6dad2b (patch)
tree99185b107f3e5f7b10e09edffec1ed4ec8d3280d /src/libsyntax/parse/parser.rs
parentb19c2ed8f3b04a872520c5f47782fe04d39de24c (diff)
parent33c6d3fd7880df371151ec3e9a053b7169a181e5 (diff)
downloadrust-fb00463feb4c51915941a84077b78c173e6dad2b.tar.gz
rust-fb00463feb4c51915941a84077b78c173e6dad2b.zip
Merge branch 'issue-8393-attributes-in-macros' of https://github.com/nikomatsakis/rust into rollup
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index d1916088a41..77c50a779c0 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[macro_escape];
+
 use abi;
 use abi::AbiSet;
 use ast::{Sigil, BorrowedSigil, ManagedSigil, OwnedSigil};
@@ -4460,7 +4462,17 @@ impl Parser {
                                attrs: ~[Attribute],
                                macros_allowed: bool)
                                -> item_or_view_item {
-        maybe_whole!(iovi self, nt_item);
+        match *self.token {
+            INTERPOLATED(token::nt_item(item)) => {
+                self.bump();
+                let new_attrs = vec::append(attrs, item.attrs);
+                return iovi_item(@ast::item {
+                        attrs: new_attrs,
+                        ..(*item).clone()});
+            }
+            _ => {}
+        }
+
         let lo = self.span.lo;
 
         let visibility = self.parse_non_priv_visibility();