about summary refs log tree commit diff
path: root/src/test/auxiliary/custom_derive_plugin.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/auxiliary/custom_derive_plugin.rs')
-rw-r--r--src/test/auxiliary/custom_derive_plugin.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/test/auxiliary/custom_derive_plugin.rs b/src/test/auxiliary/custom_derive_plugin.rs
index 17d3f6a46ef..433a15795b3 100644
--- a/src/test/auxiliary/custom_derive_plugin.rs
+++ b/src/test/auxiliary/custom_derive_plugin.rs
@@ -19,7 +19,7 @@ extern crate rustc;
 
 use syntax::ast;
 use syntax::codemap::Span;
-use syntax::ext::base::{Decorator, ExtCtxt};
+use syntax::ext::base::{Decorator, ExtCtxt, Annotatable};
 use syntax::ext::build::AstBuilder;
 use syntax::ext::deriving::generic::{cs_fold, TraitDef, MethodDef, combine_substructure};
 use syntax::ext::deriving::generic::ty::{Literal, LifetimeBounds, Path, borrowed_explicit_self};
@@ -70,5 +70,13 @@ fn expand(cx: &mut ExtCtxt,
         ],
     };
 
-    trait_def.expand(cx, mitem, item, push)
+    trait_def.expand(cx,
+                     mitem,
+                     Annotatable::Item(P(item.clone())),
+                     &mut |i| {
+                        match i {
+                            Annotatable::Item(i) => push(i),
+                            _ => panic!("Not an item")
+                        }
+                     })
 }