diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-03-14 14:03:56 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-03-14 20:46:36 -0400 |
| commit | 6b35875dca67e5dd1e8f986c8528ffbf973fdcbb (patch) | |
| tree | d36cb21cbe8dde663f0f381ad9ce70c9c50fc295 /src/libstd/sort.rs | |
| parent | 273c5e5f1129949db780619901fe54b9a3d1fecf (diff) | |
| download | rust-6b35875dca67e5dd1e8f986c8528ffbf973fdcbb.tar.gz rust-6b35875dca67e5dd1e8f986c8528ffbf973fdcbb.zip | |
annotate libstd and start enforcing mutability
Diffstat (limited to 'src/libstd/sort.rs')
| -rw-r--r-- | src/libstd/sort.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/libstd/sort.rs b/src/libstd/sort.rs index 6a78a23777e..ce3982fb433 100644 --- a/src/libstd/sort.rs +++ b/src/libstd/sort.rs @@ -33,12 +33,12 @@ fn merge_sort<T: copy>(le: le<T>, v: [const T]) -> [T] { } fn merge<T: copy>(le: le<T>, a: [T], b: [T]) -> [T] { - let rs = []; + let mut rs = []; vec::reserve(rs, len(a) + len(b)); let a_len = len(a); - let a_ix = 0u; + let mut a_ix = 0u; let b_len = len(b); - let b_ix = 0u; + let mut b_ix = 0u; while a_ix < a_len && b_ix < b_len { if le(a[a_ix], b[b_ix]) { rs += [a[a_ix]]; @@ -55,8 +55,8 @@ fn part<T: copy>(compare_func: le<T>, arr: [mutable T], left: uint, right: uint, pivot: uint) -> uint { let pivot_value = arr[pivot]; arr[pivot] <-> arr[right]; - let storage_index: uint = left; - let i: uint = left; + let mut storage_index: uint = left; + let mut i: uint = left; while i < right { if compare_func(copy arr[i], pivot_value) { arr[i] <-> arr[storage_index]; @@ -96,10 +96,10 @@ fn qsort3<T: copy>(compare_func_lt: le<T>, compare_func_eq: le<T>, arr: [mutable T], left: int, right: int) { if right <= left { ret; } let v: T = arr[right]; - let i: int = left - 1; - let j: int = right; - let p: int = i; - let q: int = j; + let mut i: int = left - 1; + let mut j: int = right; + let mut p: int = i; + let mut q: int = j; loop { i += 1; while compare_func_lt(copy arr[i], v) { i += 1; } @@ -122,7 +122,7 @@ fn qsort3<T: copy>(compare_func_lt: le<T>, compare_func_eq: le<T>, arr[i] <-> arr[right]; j = i - 1; i += 1; - let k: int = left; + let mut k: int = left; while k < p { arr[k] <-> arr[j]; k += 1; |
