diff options
| author | bors <bors@rust-lang.org> | 2013-02-15 13:54:49 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-02-15 13:54:49 -0800 |
| commit | 566bcf2225634ee4d4698247fe89364440eb534c (patch) | |
| tree | 75b488c9d3568c5732c43655d461eded9697e272 /src/libstd | |
| parent | 0528329a4fb7765917bda30e9e1805627801d36a (diff) | |
| parent | 91af52784aa1febcd424b9057221298c1f793094 (diff) | |
| download | rust-566bcf2225634ee4d4698247fe89364440eb534c.tar.gz rust-566bcf2225634ee4d4698247fe89364440eb534c.zip | |
auto merge of #4969 : nickdesaulniers/rust/issue3869, r=brson
Issue #3869 review? @nikomatsakis Convert all uses of vec::slice to vec::view Issue #3869 Rename const_view to const_slice Renamed mut_view to mut_slice Fix windows build error. `buf` is borrowed by the call to `as_mut_buf()` and so we must invoke `slice()` outside of that call.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/bigint.rs | 17 | ||||
| -rw-r--r-- | src/libstd/ebml.rs | 8 | ||||
| -rw-r--r-- | src/libstd/net_tcp.rs | 3 | ||||
| -rw-r--r-- | src/libstd/sort.rs | 28 |
4 files changed, 31 insertions, 25 deletions
diff --git a/src/libstd/bigint.rs b/src/libstd/bigint.rs index ab622438511..23a4769775c 100644 --- a/src/libstd/bigint.rs +++ b/src/libstd/bigint.rs @@ -216,8 +216,9 @@ impl Mul<BigUint, BigUint> for BigUint { pure fn cut_at(a: &BigUint, n: uint) -> (BigUint, BigUint) { let mid = uint::min(a.data.len(), n); - return (BigUint::from_slice(vec::view(a.data, mid, a.data.len())), - BigUint::from_slice(vec::view(a.data, 0, mid))); + return (BigUint::from_slice(vec::slice(a.data, mid, + a.data.len())), + BigUint::from_slice(vec::slice(a.data, 0, mid))); } pure fn sub_sign(a: BigUint, b: BigUint) -> (int, BigUint) { @@ -301,7 +302,7 @@ pub impl BigUint { let mut power: BigUint = One::one(); loop { let start = uint::max(end, unit_len) - unit_len; - match uint::parse_bytes(vec::view(buf, start, end), radix) { + match uint::parse_bytes(vec::slice(buf, start, end), radix) { Some(d) => n += BigUint::from_uint(d) * power, None => return None } @@ -380,7 +381,7 @@ pub impl BigUint { return (Zero::zero(), Zero::zero(), copy *a); } - let an = vec::view(a.data, a.data.len() - n, a.data.len()); + let an = vec::slice(a.data, a.data.len() - n, a.data.len()); let bn = b.data.last(); let mut d = ~[]; let mut carry = 0; @@ -487,7 +488,7 @@ pub impl BigUint { if n_unit == 0 { return self; } if self.data.len() < n_unit { return Zero::zero(); } return BigUint::from_slice( - vec::view(self.data, n_unit, self.data.len()) + vec::slice(self.data, n_unit, self.data.len()) ); } @@ -770,7 +771,7 @@ pub impl BigInt { sign = Minus; start = 1; } - return BigUint::parse_bytes(vec::view(buf, start, buf.len()), radix) + return BigUint::parse_bytes(vec::slice(buf, start, buf.len()), radix) .map(|bu| BigInt::from_biguint(sign, *bu)); } @@ -885,7 +886,7 @@ mod biguint_tests { let data = [ &[], &[1], &[2], &[-1], &[0, 1], &[2, 1], &[1, 1, 1] ] .map(|v| BigUint::from_slice(*v)); for data.eachi |i, ni| { - for vec::view(data, i, data.len()).eachi |j0, nj| { + for vec::slice(data, i, data.len()).eachi |j0, nj| { let j = j0 + i; if i == j { assert ni.cmp(nj) == 0; @@ -1298,7 +1299,7 @@ mod bigint_tests { nums.push_all_move(vs.map(|s| BigInt::from_slice(Plus, *s))); for nums.eachi |i, ni| { - for vec::view(nums, i, nums.len()).eachi |j0, nj| { + for vec::slice(nums, i, nums.len()).eachi |j0, nj| { let j = i + j0; if i == j { assert ni.cmp(nj) == 0; diff --git a/src/libstd/ebml.rs b/src/libstd/ebml.rs index 600ff333831..84df1785503 100644 --- a/src/libstd/ebml.rs +++ b/src/libstd/ebml.rs @@ -177,10 +177,12 @@ pub mod reader { } } - pub fn doc_data(d: Doc) -> ~[u8] { vec::slice::<u8>(*d.data, d.start, - d.end) } + pub fn doc_data(d: Doc) -> ~[u8] { + vec::slice::<u8>(*d.data, d.start, d.end).to_vec() + } + pub fn with_doc_data<T>(d: Doc, f: fn(x: &[u8]) -> T) -> T { - f(vec::view(*d.data, d.start, d.end)) + f(vec::slice(*d.data, d.start, d.end)) } pub fn doc_as_str(d: Doc) -> ~str { str::from_bytes(doc_data(d)) } diff --git a/src/libstd/net_tcp.rs b/src/libstd/net_tcp.rs index 9f750a2bf71..563bc1c203a 100644 --- a/src/libstd/net_tcp.rs +++ b/src/libstd/net_tcp.rs @@ -971,7 +971,8 @@ impl io::Writer for TcpSocketBuf { let w_result = write_common_impl(socket_data_ptr, vec::slice(data, 0, - vec::len(data))); + vec::len(data) + ).to_vec()); if w_result.is_err() { let err_data = w_result.get_err(); log(debug, diff --git a/src/libstd/sort.rs b/src/libstd/sort.rs index e56f4cb87cd..3450205aa95 100644 --- a/src/libstd/sort.rs +++ b/src/libstd/sort.rs @@ -195,12 +195,12 @@ pub fn tim_sort<T: Copy Ord>(array: &mut [T]) { let mut idx = 0; let mut remaining = size; loop { - let arr = vec::mut_view(array, idx, size); + let arr = vec::mut_slice(array, idx, size); let mut run_len: uint = count_run_ascending(arr); if run_len < min_run { let force = if remaining <= min_run {remaining} else {min_run}; - let slice = vec::mut_view(arr, 0, force); + let slice = vec::mut_slice(arr, 0, force); binarysort(slice, run_len); run_len = force; } @@ -431,12 +431,12 @@ impl<T: Copy Ord> MergeState<T> { arr[n+1].len = arr[n+2].len; } - let slice = vec::mut_view(array, b1, b1+l1); + let slice = vec::mut_slice(array, b1, b1+l1); let k = gallop_right(&const array[b2], slice, 0); b1 += k; l1 -= k; if l1 != 0 { - let slice = vec::mut_view(array, b2, b2+l2); + let slice = vec::mut_slice(array, b2, b2+l2); let l2 = gallop_left( &const array[b1+l1-1],slice,l2-1); if l2 > 0 { @@ -455,7 +455,8 @@ impl<T: Copy Ord> MergeState<T> { base2: uint, len2: uint) { assert len1 != 0 && len2 != 0 && base1+len1 == base2; - let mut tmp = vec::slice(array, base1, base1+len1); + let tmp = vec::cast_to_mut( + vec::slice(array, base1, base1+len1).to_vec()); let mut c1 = 0; let mut c2 = base2; @@ -509,7 +510,7 @@ impl<T: Copy Ord> MergeState<T> { loop { assert len1 > 1 && len2 != 0; - let tmp_view = vec::const_view(tmp, c1, c1+len1); + let tmp_view = vec::const_slice(tmp, c1, c1+len1); count1 = gallop_right(&const array[c2], tmp_view, 0); if count1 != 0 { copy_vec(array, dest, tmp, c1, count1); @@ -520,7 +521,7 @@ impl<T: Copy Ord> MergeState<T> { dest += 1; c2 += 1; len2 -= 1; if len2 == 0 { break_outer = true; break; } - let tmp_view = vec::const_view(array, c2, c2+len2); + let tmp_view = vec::const_slice(array, c2, c2+len2); count2 = gallop_left(&const tmp[c1], tmp_view, 0); if count2 != 0 { copy_vec(array, dest, array, c2, count2); @@ -558,7 +559,8 @@ impl<T: Copy Ord> MergeState<T> { base2: uint, len2: uint) { assert len1 != 1 && len2 != 0 && base1 + len1 == base2; - let mut tmp = vec::slice(array, base2, base2+len2); + let tmp = vec::cast_to_mut( + vec::slice(array, base2, base2+len2).to_vec()); let mut c1 = base1 + len1 - 1; let mut c2 = len2 - 1; @@ -614,7 +616,7 @@ impl<T: Copy Ord> MergeState<T> { loop { assert len2 > 1 && len1 != 0; - let tmp_view = vec::mut_view(array, base1, base1+len1); + let tmp_view = vec::mut_slice(array, base1, base1+len1); count1 = len1 - gallop_right( &const tmp[c2], tmp_view, len1-1); @@ -630,7 +632,7 @@ impl<T: Copy Ord> MergeState<T> { let count2; { - let tmp_view = vec::mut_view(tmp, 0, len2); + let tmp_view = vec::mut_slice(tmp, 0, len2); count2 = len2 - gallop_left(&const array[c1], tmp_view, len2-1); @@ -710,7 +712,7 @@ fn copy_vec<T: Copy>(dest: &mut [T], s1: uint, from: &[const T], s2: uint, len: uint) { assert s1+len <= dest.len() && s2+len <= from.len(); - let slice = vec::slice(from, s2, s2+len); + let slice = vec::slice(from, s2, s2+len).to_vec(); for slice.eachi |i, v| { dest[s1+i] = *v; } @@ -1087,7 +1089,7 @@ mod big_tests { isSorted(arr); let mut arr = if n > 4 { - let part = vec::view(arr, 0, 4); + let part = vec::slice(arr, 0, 4); multiplyVec(part, n) } else { arr }; tim_sort(arr); // ~sort @@ -1159,7 +1161,7 @@ mod big_tests { isSorted(arr); let mut arr = if n > 4 { - let part = vec::view(arr, 0, 4); + let part = vec::slice(arr, 0, 4); multiplyVec(part, n) } else { arr }; tim_sort(arr); // ~sort |
