@@ -142,7 +142,7 @@ fn instantiate_path(fcx: @fn_ctxt, pth: @ast::path,
142142 tpt : ty_param_bounds_and_ty , sp : span )
143143 -> ty_param_substs_opt_and_ty {
144144 let ty_param_count = vec:: len ( * tpt. bounds ) ;
145- let vars = vec:: init_fn ( { |_i| next_ty_var ( fcx) } , ty_param_count ) ;
145+ let vars = vec:: init_fn ( ty_param_count , { |_i| next_ty_var ( fcx) } ) ;
146146 let ty_substs_len = vec:: len ( pth. node . types ) ;
147147 if ty_substs_len > 0 u {
148148 let param_var_len = vec:: len ( vars) ;
@@ -611,9 +611,9 @@ fn compare_impl_method(tcx: ty::ctxt, sp: span, impl_m: ty::method,
611611 } else {
612612 let impl_fty = ty:: mk_fn ( tcx, impl_m. fty ) ;
613613 // Add dummy substs for the parameters of the impl method
614- let substs = substs + vec:: init_fn ( { |i|
614+ let substs = substs + vec:: init_fn ( vec :: len ( * if_m . tps ) , { |i|
615615 ty:: mk_param ( tcx, i + impl_tps, { crate : 0 , node: 0 } )
616- } , vec :: len ( * if_m . tps ) ) ;
616+ } ) ;
617617 let if_fty = ty:: substitute_type_params ( tcx, substs,
618618 ty:: mk_fn ( tcx, if_m. fty ) ) ;
619619 alt ty:: unify:: unify ( impl_fty, if_fty, ty:: unify:: precise, tcx) {
@@ -2334,7 +2334,7 @@ fn next_ty_var(fcx: @fn_ctxt) -> ty::t {
23342334
23352335fn bind_params ( fcx : @fn_ctxt , tp : ty:: t , count : uint )
23362336 -> { vars : [ ty:: t ] , ty: ty:: t } {
2337- let vars = vec:: init_fn ( { |_i| next_ty_var ( fcx) } , count ) ;
2337+ let vars = vec:: init_fn ( count , { |_i| next_ty_var ( fcx) } ) ;
23382338 { vars: vars, ty: ty:: substitute_type_params ( fcx. ccx . tcx , vars, tp) }
23392339}
23402340
0 commit comments