Skip to content

Commit 0b84437

Browse files
committed
Replace more vector additions (issue #2719)
1 parent 61b1875 commit 0b84437

File tree

7 files changed

+14
-12
lines changed

7 files changed

+14
-12
lines changed

src/libcore/vec.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1094,8 +1094,10 @@ pure fn permute<T: copy>(v: [T]/&, put: fn([T]/~)) {
10941094
let mut rest = slice(v, 0u, i);
10951095
unchecked {
10961096
push_all(rest, view(v, i+1u, ln));
1097+
permute(rest) {|permutation|
1098+
put(append([elt]/~, permutation))
1099+
}
10971100
}
1098-
permute(rest) {|permutation| put([elt]/~ + permutation)}
10991101
i += 1u;
11001102
}
11011103
}

src/libstd/getopts.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ fn getopts(args: [str]/~, opts: [opt]/~) -> result unsafe {
199199
let cur = args[i];
200200
let curlen = str::len(cur);
201201
if !is_arg(cur) {
202-
free += [cur]/~;
202+
vec::push(free, cur);
203203
} else if str::eq(cur, "--") {
204204
let mut j = i + 1u;
205205
while j < l { vec::push(free, args[j]); j += 1u; }
@@ -223,7 +223,7 @@ fn getopts(args: [str]/~, opts: [opt]/~) -> result unsafe {
223223
names = []/~;
224224
while j < curlen {
225225
let range = str::char_range_at(cur, j);
226-
names += [short(range.ch)]/~;
226+
vec::push(names, short(range.ch));
227227
j = range.next;
228228
}
229229
}
@@ -341,7 +341,7 @@ Used when an option accepts multiple values.
341341
fn opt_strs(m: match, nm: str) -> [str]/~ {
342342
let mut acc: [str]/~ = []/~;
343343
for vec::each(opt_vals(m, nm)) {|v|
344-
alt v { val(s) { acc += [s]/~; } _ { } }
344+
alt v { val(s) { vec::push(acc, s); } _ { } }
345345
}
346346
ret acc;
347347
}

src/libstd/md4.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ fn md4(msg: [u8]/~) -> {a: u32, b: u32, c: u32, d: u32} {
55
let orig_len: u64 = (vec::len(msg) * 8u) as u64;
66

77
// pad message
8-
let mut msg = msg + [0x80u8]/~;
8+
let mut msg = vec::append(msg, [0x80u8]/~);
99
let mut bitlen = orig_len + 8u64;
1010
while (bitlen + 64u64) % 512u64 > 0u64 {
11-
msg += [0u8]/~;
11+
vec::push(msg, 0u8);
1212
bitlen += 8u64;
1313
}
1414

1515
// append length
1616
let mut i = 0u64;
1717
while i < 8u64 {
18-
msg += [(orig_len >> (i * 8u64)) as u8]/~;
18+
vec::push(msg, (orig_len >> (i * 8u64)) as u8);
1919
i += 1u64;
2020
}
2121

src/libstd/sha1.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ fn sha1() -> sha1 {
165165
let b = (hpart >> 16u32 & 0xFFu32) as u8;
166166
let c = (hpart >> 8u32 & 0xFFu32) as u8;
167167
let d = (hpart & 0xFFu32) as u8;
168-
rs += [a, b, c, d]/~;
168+
rs = vec::append(rs, [a, b, c, d]/~);
169169
}
170170
ret rs;
171171
}

src/libstd/sort.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ fn merge_sort<T: copy>(le: le<T>, v: [const T]/~) -> [T]/~ {
4848
a_ix += 1u;
4949
} else { vec::push(rs, b[b_ix]); b_ix += 1u; }
5050
}
51-
rs += vec::slice(a, a_ix, a_len);
52-
rs += vec::slice(b, b_ix, b_len);
51+
rs = vec::append(rs, vec::slice(a, a_ix, a_len));
52+
rs = vec::append(rs, vec::slice(b, b_ix, b_len));
5353
ret rs;
5454
}
5555
}

src/libstd/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ fn run_tests_console(opts: test_opts,
128128
st.failed += 1u;
129129
write_failed(st.out, st.use_color);
130130
st.out.write_line("");
131-
st.failures += [copy test]/~;
131+
vec::push(st.failures, copy test);
132132
}
133133
tr_ignored {
134134
st.ignored += 1u;

src/libstd/uv_ll.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,7 @@ unsafe fn buf_init(++input: *u8, len: uint) -> uv_buf_t {
678678
unsafe fn ip4_addr(ip: str, port: int)
679679
-> sockaddr_in {
680680
let mut addr_vec = str::bytes(ip);
681-
addr_vec += [0u8]/~; // add null terminator
681+
vec::push(addr_vec, 0u8); // add null terminator
682682
let addr_vec_ptr = vec::unsafe::to_ptr(addr_vec);
683683
let ip_back = str::from_bytes(addr_vec);
684684
log(debug, #fmt("vec val: '%s' length: %u",

0 commit comments

Comments
 (0)