Skip to content

Commit 929c3dd

Browse files
committed
Workarounds for bug #2280: add some temporaries for borrowing.
1 parent e7dbf42 commit 929c3dd

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

src/cargo/cargo.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,10 @@ fn configure(opts: options) -> cargo {
423423

424424
fn for_each_package(c: cargo, b: fn(source, package)) {
425425
for c.sources.each_value {|v|
426-
for vec::each(copy v.packages) {|p|
426+
// FIXME (#2280): this temporary shouldn't be
427+
// necessary, but seems to be, for borrowing.
428+
let pks = copy v.packages;
429+
for vec::each(pks) {|p|
427430
b(v, p);
428431
}
429432
}

src/rustc/middle/trans/base.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5096,7 +5096,10 @@ fn trans_crate(sess: session::session, crate: @ast::crate, tcx: ty::ctxt,
50965096
io::println(#fmt("n_null_glues: %u", ccx.stats.n_null_glues));
50975097
io::println(#fmt("n_real_glues: %u", ccx.stats.n_real_glues));
50985098

5099-
for vec::each(copy *ccx.stats.fn_times) {|timing|
5099+
// FIXME (#2280): this temporary shouldn't be
5100+
// necessary, but seems to be, for borrowing.
5101+
let times = copy *ccx.stats.fn_times;
5102+
for vec::each(times) {|timing|
51005103
io::println(#fmt("time: %s took %d ms", timing.ident,
51015104
timing.time));
51025105
}

src/rustc/middle/tstate/auxiliary.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,10 @@ fn find_instances(_fcx: fn_ctxt, subst: subst, c: constraint) ->
727727
alt c {
728728
cinit(_, _, _) {/* this is dealt with separately */ }
729729
cpred(p, descs) {
730-
for vec::each(copy *descs) {|d|
730+
// FIXME (#2280): this temporary shouldn't be
731+
// necessary, but seems to be, for borrowing.
732+
let ds = copy *descs;
733+
for vec::each(ds) {|d|
731734
if args_mention(d.node.args, find_in_subst_bool, subst) {
732735
let old_bit_num = d.node.bit_num;
733736
let newv = replace(subst, d);

src/test/bench/shootout-mandelbrot.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@ fn writer(path: str, writech: comm::chan<comm::chan<line>>, size: uint)
119119
while prev <= i {
120120
if lines.contains_key(prev) {
121121
#debug("WS %u", prev);
122-
cout.write(lines.get(prev));
122+
// FIXME (#2280): this temporary shouldn't be
123+
// necessary, but seems to be, for borrowing.
124+
let v : [u8] = lines.get(prev);
125+
cout.write(v);
123126
done += 1_u;
124127
lines.remove(prev);
125128
prev += 1_u;

0 commit comments

Comments
 (0)