diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 9d7021328d20e3fbd15788565c18219032ac9442..f67c07dff55192b86e003cb3dced3f249482a7f8 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -4091,7 +4091,7 @@ fn trans_rec(bcx: @block_ctxt, fields: [ast::field], for tf in ty_fields { let dst = GEP_tup_like_1(bcx, t, addr, [0, i]); bcx = dst.bcx; - // FIXME make this {|f| str::eq(f.node.ident, tf.ident)} again when + // FIXME make this again when // bug #913 is fixed fn test(n: str, f: ast::field) -> bool { str::eq(f.node.ident, n) } alt vec::find(bind test(tf.ident, _), fields) { diff --git a/src/comp/middle/tstate/bitvectors.rs b/src/comp/middle/tstate/bitvectors.rs index bfc698f73117c407b02ec53165e1c11a4d75e1d8..63d220ddbd2a74419caa1f0ed13c810182f5b89f 100644 --- a/src/comp/middle/tstate/bitvectors.rs +++ b/src/comp/middle/tstate/bitvectors.rs @@ -150,7 +150,8 @@ fn relax_precond_block(fcx: fn_ctxt, i: node_id, b: blk) { visit_expr: relax_precond_expr, visit_stmt: relax_precond_stmt, visit_item: - fn (_i: @item, _cx: relax_ctxt, _vt: visit::vt) { } + fn (_i: @item, _cx: relax_ctxt, _vt: visit::vt) { }, + visit_fn: do_nothing with *visitor}; let v1 = visit::mk_vt(visitor); v1.visit_block(b, cx, v1); diff --git a/src/comp/middle/tstate/collect_locals.rs b/src/comp/middle/tstate/collect_locals.rs index 75d9fbef72d3a08c1faef3804ddb88e6fa415c87..5b192e3a406413672e4fbf741198960e5b980b6f 100644 --- a/src/comp/middle/tstate/collect_locals.rs +++ b/src/comp/middle/tstate/collect_locals.rs @@ -130,19 +130,14 @@ fn mk_fn_info(ccx: crate_ctxt, f: _fn, tp: [ty_param], f_sp: span, // "diverges" constraint let diverges_id = ccx.tcx.sess.next_node_id(); let diverges_name = name + "!"; - add_constraint(cx.tcx, respan(f_sp, ninit(diverges_id, diverges_name)), - next, res_map); + next = add_constraint(cx.tcx, respan(f_sp, ninit(diverges_id, + diverges_name)), + next, res_map); let v: @mutable [node_id] = @mutable []; let rslt = {constrs: res_map, - - // add 2 to account for the i_return and i_diverge constraints - // FIXME the 1u here is a kludge to make bug #913's impact somewhat - // smaller. it should be removed once the bug is really fixed - num_constraints: - vec::len(*cx.cs) + vec::len(f.decl.constraints) + - vec::len(f.decl.inputs) + 2u + 1u, + num_constraints: next, cf: f.decl.cf, i_return: ninit(id, name), i_diverge: ninit(diverges_id, diverges_name),