@@ -202,7 +202,9 @@ fn trans_add(bcx: &@block_ctxt, vec_ty: ty::t, lhs: ValueRef,
202
202
alloc ( bcx, vec_ty, new_fill, true ) ;
203
203
204
204
let write_ptr_ptr = do_spill ( bcx, get_dataptr ( bcx, new_vec, llunitty) ) ;
205
- let copy_block = { | & bcx, addr, _ty |
205
+ let copy_fn = bind fn( bcx: & @block_ctxt, addr: ValueRef , _ty: ty:: t,
206
+ write_ptr_ptr: ValueRef , unit_ty: ty:: t,
207
+ llunitsz: ValueRef ) -> result {
206
208
let write_ptr = Load ( bcx, write_ptr_ptr) ;
207
209
let bcx = copy_val ( bcx, INIT , write_ptr,
208
210
load_if_immediate ( bcx, addr, unit_ty) , unit_ty) ;
@@ -213,10 +215,10 @@ fn trans_add(bcx: &@block_ctxt, vec_ty: ty::t, lhs: ValueRef,
213
215
incr_ptr ( bcx, write_ptr, C_int ( 1 ) , write_ptr_ptr) ;
214
216
}
215
217
ret rslt( bcx, C_nil ( ) ) ;
216
- } ;
218
+ } ( _ , _ , _ , write_ptr_ptr , unit_ty , llunitsz ) ;
217
219
218
- let bcx = iter_ivec_raw ( bcx, lhs, vec_ty, lhs_fill, copy_block ) . bcx ;
219
- let bcx = iter_ivec_raw ( bcx, rhs, vec_ty, rhs_fill, copy_block ) . bcx ;
220
+ let bcx = iter_ivec_raw ( bcx, lhs, vec_ty, lhs_fill, copy_fn ) . bcx ;
221
+ let bcx = iter_ivec_raw ( bcx, rhs, vec_ty, rhs_fill, copy_fn ) . bcx ;
220
222
ret rslt( bcx, new_vec) ;
221
223
}
222
224
0 commit comments