about summary refs log tree commit diff
path: root/src/librustc_resolve
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2017-04-03 22:23:32 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2017-04-03 23:02:49 +0000
commit6a9448b523b95dbc850e856508342644fc17db45 (patch)
treed41dcac1c447725f16c00d46103b81657f68aab6 /src/librustc_resolve
parent5309a3e31d88def1f3ea966162ed4f81f161d500 (diff)
downloadrust-6a9448b523b95dbc850e856508342644fc17db45.tar.gz
rust-6a9448b523b95dbc850e856508342644fc17db45.zip
Fix bug parsing `#[derive]` macro invocations.
Diffstat (limited to 'src/librustc_resolve')
-rw-r--r--src/librustc_resolve/macros.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc_resolve/macros.rs b/src/librustc_resolve/macros.rs
index 05f30f039c8..966cb7ee8d8 100644
--- a/src/librustc_resolve/macros.rs
+++ b/src/librustc_resolve/macros.rs
@@ -222,8 +222,10 @@ impl<'a> base::Resolver for Resolver<'a> {
             let name = unwrap_or!(attrs[i].name(), continue);
 
             if name == "derive" {
-                let result = attrs[i].parse_list(&self.session.parse_sess,
-                                                 |parser| parser.parse_path(PathStyle::Mod));
+                let result = attrs[i].parse_list(&self.session.parse_sess, |parser| {
+                    parser.parse_path_allowing_meta(PathStyle::Mod)
+                });
+
                 let mut traits = match result {
                     Ok(traits) => traits,
                     Err(mut e) => {