about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2016-10-08 16:52:44 +0530
committerGitHub <noreply@github.com>2016-10-08 16:52:44 +0530
commit69f4126da56348a8a3ec2c522c6a9534ff9531f8 (patch)
tree2f85c0fed0bb1aa54914841b1ab00271a2414eaa /src/libsyntax_ext
parentc1a19b84816c1717f151671064bcc02d98aa4dff (diff)
parent0d1ab4e9e4e1a6b481a3cf32088ab7d7e7e673ef (diff)
downloadrust-69f4126da56348a8a3ec2c522c6a9534ff9531f8.tar.gz
rust-69f4126da56348a8a3ec2c522c6a9534ff9531f8.zip
Rollup merge of #37034 - nox:empty-trait-list, r=alexcrichton
Do not add an empty #[derive()] list in expand_derive (fixes #37033)
Diffstat (limited to 'src/libsyntax_ext')
-rw-r--r--src/libsyntax_ext/deriving/mod.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libsyntax_ext/deriving/mod.rs b/src/libsyntax_ext/deriving/mod.rs
index 111596cfe88..fdb10a2beb2 100644
--- a/src/libsyntax_ext/deriving/mod.rs
+++ b/src/libsyntax_ext/deriving/mod.rs
@@ -154,11 +154,13 @@ pub fn expand_derive(cx: &mut ExtCtxt,
     });
     if new_attributes.len() > 0 {
         item = item.map(|mut i| {
-            let list = cx.meta_list(mitem.span,
-                                    intern_and_get_ident("derive"),
-                                    traits);
             i.attrs.extend(new_attributes);
-            i.attrs.push(cx.attribute(mitem.span, list));
+            if traits.len() > 0 {
+                let list = cx.meta_list(mitem.span,
+                                        intern_and_get_ident("derive"),
+                                        traits);
+                i.attrs.push(cx.attribute(mitem.span, list));
+            }
             i
         });
         return vec![Annotatable::Item(item)]