Skip to content

Commit 6bc5a92

Browse files
committed
Let MultiItemDecorator take &Annotatable (fixes #25683)
1 parent 59ba55d commit 6bc5a92

18 files changed

+39
-39
lines changed

src/libsyntax/ext/base.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -154,18 +154,18 @@ pub trait MultiItemDecorator {
154154
ecx: &mut ExtCtxt,
155155
sp: Span,
156156
meta_item: &ast::MetaItem,
157-
item: Annotatable,
157+
item: &Annotatable,
158158
push: &mut FnMut(Annotatable));
159159
}
160160

161161
impl<F> MultiItemDecorator for F
162-
where F : Fn(&mut ExtCtxt, Span, &ast::MetaItem, Annotatable, &mut FnMut(Annotatable))
162+
where F : Fn(&mut ExtCtxt, Span, &ast::MetaItem, &Annotatable, &mut FnMut(Annotatable))
163163
{
164164
fn expand(&self,
165165
ecx: &mut ExtCtxt,
166166
sp: Span,
167167
meta_item: &ast::MetaItem,
168-
item: Annotatable,
168+
item: &Annotatable,
169169
push: &mut FnMut(Annotatable)) {
170170
(*self)(ecx, sp, meta_item, item, push)
171171
}

src/libsyntax/ext/deriving/bounds.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use ext::deriving::generic::ty::*;
1717
pub fn expand_deriving_unsafe_bound(cx: &mut ExtCtxt,
1818
span: Span,
1919
_: &MetaItem,
20-
_: Annotatable,
20+
_: &Annotatable,
2121
_: &mut FnMut(Annotatable))
2222
{
2323
cx.span_err(span, "this unsafe trait should be implemented explicitly");
@@ -26,7 +26,7 @@ pub fn expand_deriving_unsafe_bound(cx: &mut ExtCtxt,
2626
pub fn expand_deriving_copy(cx: &mut ExtCtxt,
2727
span: Span,
2828
mitem: &MetaItem,
29-
item: Annotatable,
29+
item: &Annotatable,
3030
push: &mut FnMut(Annotatable))
3131
{
3232
let path = Path::new(vec![
@@ -45,5 +45,5 @@ pub fn expand_deriving_copy(cx: &mut ExtCtxt,
4545
associated_types: Vec::new(),
4646
};
4747

48-
trait_def.expand(cx, mitem, &item, push);
48+
trait_def.expand(cx, mitem, item, push);
4949
}

src/libsyntax/ext/deriving/clone.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use ptr::P;
2020
pub fn expand_deriving_clone(cx: &mut ExtCtxt,
2121
span: Span,
2222
mitem: &MetaItem,
23-
item: Annotatable,
23+
item: &Annotatable,
2424
push: &mut FnMut(Annotatable))
2525
{
2626
let inline = cx.meta_word(span, InternedString::new("inline"));
@@ -48,7 +48,7 @@ pub fn expand_deriving_clone(cx: &mut ExtCtxt,
4848
associated_types: Vec::new(),
4949
};
5050

51-
trait_def.expand(cx, mitem, &item, push)
51+
trait_def.expand(cx, mitem, item, push)
5252
}
5353

5454
fn cs_clone(

src/libsyntax/ext/deriving/cmp/eq.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use ptr::P;
2020
pub fn expand_deriving_eq(cx: &mut ExtCtxt,
2121
span: Span,
2222
mitem: &MetaItem,
23-
item: Annotatable,
23+
item: &Annotatable,
2424
push: &mut FnMut(Annotatable))
2525
{
2626
fn cs_total_eq_assert(cx: &mut ExtCtxt, span: Span, substr: &Substructure) -> P<Expr> {
@@ -67,5 +67,5 @@ pub fn expand_deriving_eq(cx: &mut ExtCtxt,
6767
),
6868
associated_types: Vec::new(),
6969
};
70-
trait_def.expand(cx, mitem, &item, push)
70+
trait_def.expand(cx, mitem, item, push)
7171
}

src/libsyntax/ext/deriving/cmp/ord.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use ptr::P;
2121
pub fn expand_deriving_ord(cx: &mut ExtCtxt,
2222
span: Span,
2323
mitem: &MetaItem,
24-
item: Annotatable,
24+
item: &Annotatable,
2525
push: &mut FnMut(Annotatable))
2626
{
2727
let inline = cx.meta_word(span, InternedString::new("inline"));
@@ -49,7 +49,7 @@ pub fn expand_deriving_ord(cx: &mut ExtCtxt,
4949
associated_types: Vec::new(),
5050
};
5151

52-
trait_def.expand(cx, mitem, &item, push)
52+
trait_def.expand(cx, mitem, item, push)
5353
}
5454

5555

src/libsyntax/ext/deriving/cmp/partial_eq.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use ptr::P;
2020
pub fn expand_deriving_partial_eq(cx: &mut ExtCtxt,
2121
span: Span,
2222
mitem: &MetaItem,
23-
item: Annotatable,
23+
item: &Annotatable,
2424
push: &mut FnMut(Annotatable))
2525
{
2626
// structures are equal if all fields are equal, and non equal, if
@@ -91,5 +91,5 @@ pub fn expand_deriving_partial_eq(cx: &mut ExtCtxt,
9191
),
9292
associated_types: Vec::new(),
9393
};
94-
trait_def.expand(cx, mitem, &item, push)
94+
trait_def.expand(cx, mitem, item, push)
9595
}

src/libsyntax/ext/deriving/cmp/partial_ord.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use ptr::P;
2323
pub fn expand_deriving_partial_ord(cx: &mut ExtCtxt,
2424
span: Span,
2525
mitem: &MetaItem,
26-
item: Annotatable,
26+
item: &Annotatable,
2727
push: &mut FnMut(Annotatable))
2828
{
2929
macro_rules! md {
@@ -82,7 +82,7 @@ pub fn expand_deriving_partial_ord(cx: &mut ExtCtxt,
8282
],
8383
associated_types: Vec::new(),
8484
};
85-
trait_def.expand(cx, mitem, &item, push)
85+
trait_def.expand(cx, mitem, item, push)
8686
}
8787

8888
#[derive(Copy, Clone)]

src/libsyntax/ext/deriving/decodable.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use ptr::P;
2424
pub fn expand_deriving_rustc_decodable(cx: &mut ExtCtxt,
2525
span: Span,
2626
mitem: &MetaItem,
27-
item: Annotatable,
27+
item: &Annotatable,
2828
push: &mut FnMut(Annotatable))
2929
{
3030
expand_deriving_decodable_imp(cx, span, mitem, item, push, "rustc_serialize")
@@ -33,7 +33,7 @@ pub fn expand_deriving_rustc_decodable(cx: &mut ExtCtxt,
3333
pub fn expand_deriving_decodable(cx: &mut ExtCtxt,
3434
span: Span,
3535
mitem: &MetaItem,
36-
item: Annotatable,
36+
item: &Annotatable,
3737
push: &mut FnMut(Annotatable))
3838
{
3939
expand_deriving_decodable_imp(cx, span, mitem, item, push, "serialize")
@@ -42,7 +42,7 @@ pub fn expand_deriving_decodable(cx: &mut ExtCtxt,
4242
fn expand_deriving_decodable_imp(cx: &mut ExtCtxt,
4343
span: Span,
4444
mitem: &MetaItem,
45-
item: Annotatable,
45+
item: &Annotatable,
4646
push: &mut FnMut(Annotatable),
4747
krate: &'static str)
4848
{
@@ -88,7 +88,7 @@ fn expand_deriving_decodable_imp(cx: &mut ExtCtxt,
8888
associated_types: Vec::new(),
8989
};
9090

91-
trait_def.expand(cx, mitem, &item, push)
91+
trait_def.expand(cx, mitem, item, push)
9292
}
9393

9494
fn decodable_substructure(cx: &mut ExtCtxt, trait_span: Span,

src/libsyntax/ext/deriving/default.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use ptr::P;
2020
pub fn expand_deriving_default(cx: &mut ExtCtxt,
2121
span: Span,
2222
mitem: &MetaItem,
23-
item: Annotatable,
23+
item: &Annotatable,
2424
push: &mut FnMut(Annotatable))
2525
{
2626
let inline = cx.meta_word(span, InternedString::new("inline"));
@@ -47,7 +47,7 @@ pub fn expand_deriving_default(cx: &mut ExtCtxt,
4747
),
4848
associated_types: Vec::new(),
4949
};
50-
trait_def.expand(cx, mitem, &item, push)
50+
trait_def.expand(cx, mitem, item, push)
5151
}
5252

5353
fn default_substructure(cx: &mut ExtCtxt, trait_span: Span, substr: &Substructure) -> P<Expr> {

src/libsyntax/ext/deriving/encodable.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ use ptr::P;
100100
pub fn expand_deriving_rustc_encodable(cx: &mut ExtCtxt,
101101
span: Span,
102102
mitem: &MetaItem,
103-
item: Annotatable,
103+
item: &Annotatable,
104104
push: &mut FnMut(Annotatable))
105105
{
106106
expand_deriving_encodable_imp(cx, span, mitem, item, push, "rustc_serialize")
@@ -109,7 +109,7 @@ pub fn expand_deriving_rustc_encodable(cx: &mut ExtCtxt,
109109
pub fn expand_deriving_encodable(cx: &mut ExtCtxt,
110110
span: Span,
111111
mitem: &MetaItem,
112-
item: Annotatable,
112+
item: &Annotatable,
113113
push: &mut FnMut(Annotatable))
114114
{
115115
expand_deriving_encodable_imp(cx, span, mitem, item, push, "serialize")
@@ -118,7 +118,7 @@ pub fn expand_deriving_encodable(cx: &mut ExtCtxt,
118118
fn expand_deriving_encodable_imp(cx: &mut ExtCtxt,
119119
span: Span,
120120
mitem: &MetaItem,
121-
item: Annotatable,
121+
item: &Annotatable,
122122
push: &mut FnMut(Annotatable),
123123
krate: &'static str)
124124
{
@@ -164,7 +164,7 @@ fn expand_deriving_encodable_imp(cx: &mut ExtCtxt,
164164
associated_types: Vec::new(),
165165
};
166166

167-
trait_def.expand(cx, mitem, &item, push)
167+
trait_def.expand(cx, mitem, item, push)
168168
}
169169

170170
fn encodable_substructure(cx: &mut ExtCtxt, trait_span: Span,

src/libsyntax/ext/deriving/hash.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use ptr::P;
1919
pub fn expand_deriving_hash(cx: &mut ExtCtxt,
2020
span: Span,
2121
mitem: &MetaItem,
22-
item: Annotatable,
22+
item: &Annotatable,
2323
push: &mut FnMut(Annotatable))
2424
{
2525

@@ -53,7 +53,7 @@ pub fn expand_deriving_hash(cx: &mut ExtCtxt,
5353
associated_types: Vec::new(),
5454
};
5555

56-
hash_trait_def.expand(cx, mitem, &item, push);
56+
hash_trait_def.expand(cx, mitem, item, push);
5757
}
5858

5959
fn hash_substructure(cx: &mut ExtCtxt, trait_span: Span, substr: &Substructure) -> P<Expr> {

src/libsyntax/ext/deriving/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ macro_rules! derive_traits {
134134
ecx: &mut ExtCtxt,
135135
sp: Span,
136136
mitem: &MetaItem,
137-
annotatable: Annotatable,
137+
annotatable: &Annotatable,
138138
push: &mut FnMut(Annotatable)) {
139139
warn_if_deprecated(ecx, sp, $name);
140140
$func(ecx, sp, mitem, annotatable, push);

src/libsyntax/ext/deriving/primitive.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use ptr::P;
2121
pub fn expand_deriving_from_primitive(cx: &mut ExtCtxt,
2222
span: Span,
2323
mitem: &MetaItem,
24-
item: Annotatable,
24+
item: &Annotatable,
2525
push: &mut FnMut(Annotatable))
2626
{
2727
let inline = cx.meta_word(span, InternedString::new("inline"));
@@ -69,7 +69,7 @@ pub fn expand_deriving_from_primitive(cx: &mut ExtCtxt,
6969
associated_types: Vec::new(),
7070
};
7171

72-
trait_def.expand(cx, mitem, &item, push)
72+
trait_def.expand(cx, mitem, item, push)
7373
}
7474

7575
fn cs_from(name: &str, cx: &mut ExtCtxt, trait_span: Span, substr: &Substructure) -> P<Expr> {

src/libsyntax/ext/deriving/show.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use ptr::P;
2121
pub fn expand_deriving_show(cx: &mut ExtCtxt,
2222
span: Span,
2323
mitem: &MetaItem,
24-
item: Annotatable,
24+
item: &Annotatable,
2525
push: &mut FnMut(Annotatable))
2626
{
2727
// &mut ::std::fmt::Formatter
@@ -50,7 +50,7 @@ pub fn expand_deriving_show(cx: &mut ExtCtxt,
5050
],
5151
associated_types: Vec::new(),
5252
};
53-
trait_def.expand(cx, mitem, &item, push)
53+
trait_def.expand(cx, mitem, item, push)
5454
}
5555

5656
/// We use the debug builders to do the heavy lifting here

src/libsyntax/ext/expand.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1212,7 +1212,7 @@ fn expand_decorators(a: Annotatable,
12121212
dec.expand(fld.cx,
12131213
attr.span,
12141214
&attr.node.value,
1215-
a.clone(),
1215+
&a,
12161216
&mut |ann| items.push(ann));
12171217
decorator_items.extend(items.into_iter()
12181218
.flat_map(|ann| expand_annotatable(ann, fld).into_iter()));

src/test/auxiliary/custom_derive_plugin.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pub fn plugin_registrar(reg: &mut Registry) {
3737
fn expand(cx: &mut ExtCtxt,
3838
span: Span,
3939
mitem: &ast::MetaItem,
40-
item: Annotatable,
40+
item: &Annotatable,
4141
push: &mut FnMut(Annotatable)) {
4242
let trait_def = TraitDef {
4343
span: span,
@@ -71,5 +71,5 @@ fn expand(cx: &mut ExtCtxt,
7171
],
7272
};
7373

74-
trait_def.expand(cx, mitem, &item, push)
74+
trait_def.expand(cx, mitem, item, push)
7575
}

src/test/auxiliary/custom_derive_plugin_attr.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ pub fn plugin_registrar(reg: &mut Registry) {
3939
fn expand(cx: &mut ExtCtxt,
4040
span: Span,
4141
mitem: &ast::MetaItem,
42-
item: Annotatable,
42+
item: &Annotatable,
4343
push: &mut FnMut(Annotatable)) {
4444
let trait_def = TraitDef {
4545
span: span,
@@ -62,7 +62,7 @@ fn expand(cx: &mut ExtCtxt,
6262
],
6363
};
6464

65-
trait_def.expand(cx, mitem, &item, push)
65+
trait_def.expand(cx, mitem, item, push)
6666
}
6767

6868
// Mostly copied from syntax::ext::deriving::hash

src/test/auxiliary/macro_crate_test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ fn expand_into_foo_multi(cx: &mut ExtCtxt,
108108
fn expand_duplicate(cx: &mut ExtCtxt,
109109
sp: Span,
110110
mi: &MetaItem,
111-
it: Annotatable,
111+
it: &Annotatable,
112112
push: &mut FnMut(Annotatable))
113113
{
114114
let copy_name = match mi.node {

0 commit comments

Comments
 (0)