about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2017-02-02 07:01:15 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2017-02-12 07:20:04 +0000
commit2cc61eebb7f1677af2a20f76fb1411ed40f6901b (patch)
tree499464b6464aef1624f01cf6c98c686ddbfa04f2 /src/libsyntax_ext
parent4b413bc393d8cde89ce0d687c3ef4ea50374af2c (diff)
downloadrust-2cc61eebb7f1677af2a20f76fb1411ed40f6901b.tar.gz
rust-2cc61eebb7f1677af2a20f76fb1411ed40f6901b.zip
Allow using inert attributes from `proc_macro_derive`s with `#![feature(proc_macro)]`.
Diffstat (limited to 'src/libsyntax_ext')
-rw-r--r--src/libsyntax_ext/deriving/custom.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/libsyntax_ext/deriving/custom.rs b/src/libsyntax_ext/deriving/custom.rs
index 974e86a5741..a7e2d82bb97 100644
--- a/src/libsyntax_ext/deriving/custom.rs
+++ b/src/libsyntax_ext/deriving/custom.rs
@@ -107,12 +107,10 @@ impl MultiItemModifier for ProcMacroDerive {
             }
         });
 
-        let mut res = vec![Annotatable::Item(item)];
         // Reassign spans of all expanded items to the input `item`
         // for better errors here.
-        res.extend(new_items.into_iter().flat_map(|item| {
-            ChangeSpan { span: span }.fold_item(item)
-        }).map(Annotatable::Item));
-        res
+        new_items.into_iter().map(|item| {
+            Annotatable::Item(ChangeSpan { span: span }.fold_item(item).expect_one(""))
+        }).collect()
     }
 }