about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2017-09-21 00:20:56 -0700
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2017-09-25 18:21:53 -0700
commit375332c6b9e70427cf12ede3af447ce285266892 (patch)
tree13c859e6cfaa3267be758ba761f621ee3e6d00e3 /src/libsyntax/ext
parent6c476ce462333fccd89ce3ed8c290998db874653 (diff)
downloadrust-375332c6b9e70427cf12ede3af447ce285266892.tar.gz
rust-375332c6b9e70427cf12ede3af447ce285266892.zip
Fix bug in collecting trait and impl items with derives.
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/expand.rs8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index 5deb4c3cc00..68ddfdc404a 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -774,13 +774,7 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
                     item: Annotatable,
                     kind: ExpansionKind)
                     -> Expansion {
-        if !traits.is_empty() &&
-           (kind == ExpansionKind::TraitItems || kind == ExpansionKind::ImplItems) {
-            self.cx.span_err(traits[0].span, "`derive` can be only be applied to items");
-            self.cx.trace_macros_diag();
-            return kind.expect_from_annotatables(::std::iter::once(item));
-        }
-        self.collect(kind, InvocationKind::Attr { attr: attr, traits: traits, item: item })
+        self.collect(kind, InvocationKind::Attr { attr, traits, item })
     }
 
     // If `item` is an attr invocation, remove and return the macro attribute.