From 58372af058c7e4f60dbc6bf9157338ea545e9753 Mon Sep 17 00:00:00 2001 From: Jeffrey Seyfried Date: Sun, 12 Jun 2016 20:23:29 +0000 Subject: [PATCH] Add test for `MultiItemModifier`s that add items --- .../auxiliary/macro_crate_test.rs | 17 +++++++++-------- src/test/run-pass-fulldeps/macro-crate.rs | 2 ++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs b/src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs index 3516f566e8a1..a22c3ba48492 100644 --- a/src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs +++ b/src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs @@ -62,15 +62,16 @@ fn expand_identity(cx: &mut ExtCtxt, _span: Span, tts: &[TokenTree]) fn expand_into_foo_multi(cx: &mut ExtCtxt, sp: Span, attr: &MetaItem, - it: Annotatable) -> Annotatable { + it: Annotatable) -> Vec { match it { - Annotatable::Item(it) => { + Annotatable::Item(it) => vec![ Annotatable::Item(P(Item { attrs: it.attrs.clone(), ..(*quote_item!(cx, enum Foo2 { Bar2, Baz2 }).unwrap()).clone() - })) - } - Annotatable::ImplItem(it) => { + })), + Annotatable::Item(quote_item!(cx, enum Foo3 { Bar }).unwrap()), + ], + Annotatable::ImplItem(it) => vec![ quote_item!(cx, impl X { fn foo(&self) -> i32 { 42 } }).unwrap().and_then(|i| { match i.node { ItemKind::Impl(_, _, _, _, _, mut items) => { @@ -79,8 +80,8 @@ fn expand_into_foo_multi(cx: &mut ExtCtxt, _ => unreachable!("impl parsed to something other than impl") } }) - } - Annotatable::TraitItem(it) => { + ], + Annotatable::TraitItem(it) => vec![ quote_item!(cx, trait X { fn foo(&self) -> i32 { 0 } }).unwrap().and_then(|i| { match i.node { ItemKind::Trait(_, _, _, mut items) => { @@ -89,7 +90,7 @@ fn expand_into_foo_multi(cx: &mut ExtCtxt, _ => unreachable!("trait parsed to something other than trait") } }) - } + ], } } diff --git a/src/test/run-pass-fulldeps/macro-crate.rs b/src/test/run-pass-fulldeps/macro-crate.rs index 3a3819636691..d17adff007c6 100644 --- a/src/test/run-pass-fulldeps/macro-crate.rs +++ b/src/test/run-pass-fulldeps/macro-crate.rs @@ -40,6 +40,8 @@ pub fn main() { assert_eq!(Foo2::Bar2, Foo2::Bar2); test(None::); + let _ = Foo3::Bar; + let x = 10i32; assert_eq!(x.foo(), 42); let x = 10u8;