Support parsing attributes with arbitrary tokens.
diff --git a/src/attr.rs b/src/attr.rs
index 443daa5..8b5ee18 100644
--- a/src/attr.rs
+++ b/src/attr.rs
@@ -47,6 +47,11 @@
     ///
     /// E.g. `feature = "foo"` as in `#[feature = "foo"]`
     NameValue(Ident, Lit),
+
+    /// Tokens meta item.
+    ///
+    /// E.g. `test foo bar` as in `#[test foo bar]`
+    Tokens(Ident, Vec<TokenTree>),
 }
 
 impl MetaItem {
@@ -58,7 +63,8 @@
         match *self {
             MetaItem::Word(ref name) |
             MetaItem::List(ref name, _) |
-            MetaItem::NameValue(ref name, _) => name.as_ref(),
+            MetaItem::NameValue(ref name, _) |
+            MetaItem::Tokens(ref name, _) => name.as_ref(),
         }
     }
 }
@@ -111,6 +117,7 @@
     use super::*;
     use ident::parsing::ident;
     use lit::parsing::lit;
+    use mac::parsing::token_trees;
     use synom::space::{block_comment, whitespace};
 
     #[cfg(feature = "full")]
@@ -170,6 +177,25 @@
         )
         |
         do_parse!(
+            name_and_token_trees: preceded!(
+                punct!("#"),
+                delimited!(
+                    punct!("["),
+                    tuple!(ident, token_trees),
+                    punct!("]")
+                )
+            ) >>
+            (Attribute {
+                style: AttrStyle::Outer,
+                value: {
+                    let (name, token_trees) = name_and_token_trees;
+                    MetaItem::Tokens(name, token_trees)
+                },
+                is_sugared_doc: false,
+            })
+        )
+        |
+        do_parse!(
             punct!("///") >>
             not!(tag!("/")) >>
             content: take_until!("\n") >>
@@ -286,6 +312,10 @@
                     tokens.append("=");
                     value.to_tokens(tokens);
                 }
+                MetaItem::Tokens(ref name, ref token_trees) => {
+                    name.to_tokens(tokens);
+                    tokens.append_all(token_trees);
+                }
             }
         }
     }