diff options
| author | bors <bors@rust-lang.org> | 2017-09-26 22:26:13 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-09-26 22:26:13 +0000 |
| commit | d4da74424729fd27e007dbcf6858201515f3e971 (patch) | |
| tree | 093865460308303046c19ea87dcc6c053a0d4ab7 /src/libsyntax | |
| parent | 930d3b17dd91b6564cf535ac717c688db757be5d (diff) | |
| parent | 375332c6b9e70427cf12ede3af447ce285266892 (diff) | |
| download | rust-d4da74424729fd27e007dbcf6858201515f3e971.tar.gz rust-d4da74424729fd27e007dbcf6858201515f3e971.zip | |
Auto merge of #44757 - jseyfried:fix_bad_derive_collection, r=nrc
macros: fix bug in collecting trait and impl items with derives. Fixes #43023. r? @nrc
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 8 |
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. |
