@@ -2194,11 +2194,13 @@ pub fn trans_enum_def(ccx: @mut CrateContext, enum_definition: &ast::enum_def,
2194
2194
}
2195
2195
}
2196
2196
2197
- pub struct TransItemVisitor ;
2197
+ pub struct TransItemVisitor {
2198
+ ccx : @mut CrateContext ,
2199
+ }
2198
2200
2199
- impl Visitor < @ mut CrateContext > for TransItemVisitor {
2200
- fn visit_item ( & mut self , i : @ast:: item , ccx : @ mut CrateContext ) {
2201
- trans_item ( ccx, i) ;
2201
+ impl Visitor < ( ) > for TransItemVisitor {
2202
+ fn visit_item ( & mut self , i : @ast:: item , _ : ( ) ) {
2203
+ trans_item ( self . ccx , i) ;
2202
2204
}
2203
2205
}
2204
2206
@@ -2235,8 +2237,8 @@ pub fn trans_item(ccx: @mut CrateContext, item: &ast::item) {
2235
2237
} else {
2236
2238
// Be sure to travel more than just one layer deep to catch nested
2237
2239
// items in blocks and such.
2238
- let mut v = TransItemVisitor ;
2239
- v. visit_block ( body, ccx ) ;
2240
+ let mut v = TransItemVisitor { ccx : ccx } ;
2241
+ v. visit_block ( body, ( ) ) ;
2240
2242
}
2241
2243
}
2242
2244
ast:: item_impl( ref generics, _, _, ref ms) => {
@@ -2288,8 +2290,8 @@ pub fn trans_item(ccx: @mut CrateContext, item: &ast::item) {
2288
2290
// functions, but the trait still needs to be walked. Otherwise default
2289
2291
// methods with items will not get translated and will cause ICE's when
2290
2292
// metadata time comes around.
2291
- let mut v = TransItemVisitor ;
2292
- visit:: walk_item ( & mut v, item, ccx ) ;
2293
+ let mut v = TransItemVisitor { ccx : ccx } ;
2294
+ visit:: walk_item ( & mut v, item, ( ) ) ;
2293
2295
}
2294
2296
_ => { /* fall through */ }
2295
2297
}
0 commit comments