diff options
| author | Jesse Jones <jesse9jones@gmail.com> | 2012-11-17 10:21:14 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-11-18 13:25:26 -0800 |
| commit | 333d268b3ef5846fc22c73c01f69a12bf11f6b9d (patch) | |
| tree | 1c9a63189d67fe0f164bfee2fda3bab87755f376 /src/libstd/sort.rs | |
| parent | 6d99a2f8a99baedab90fb8bd6cb6e1507fad736b (diff) | |
| download | rust-333d268b3ef5846fc22c73c01f69a12bf11f6b9d.tar.gz rust-333d268b3ef5846fc22c73c01f69a12bf11f6b9d.zip | |
Made merge_sort pure
Diffstat (limited to 'src/libstd/sort.rs')
| -rw-r--r-- | src/libstd/sort.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstd/sort.rs b/src/libstd/sort.rs index 4f06cc40c22..451d5e805d0 100644 --- a/src/libstd/sort.rs +++ b/src/libstd/sort.rs @@ -13,10 +13,10 @@ type Le<T> = pure fn(v1: &T, v2: &T) -> bool; * Has worst case O(n log n) performance, best case O(n), but * is not space efficient. This is a stable sort. */ -pub fn merge_sort<T: Copy>(v: &[const T], le: Le<T>) -> ~[T] { +pub pure fn merge_sort<T: Copy>(v: &[const T], le: Le<T>) -> ~[T] { type Slice = (uint, uint); - return merge_sort_(v, (0u, len(v)), le); + unsafe {return merge_sort_(v, (0u, len(v)), le);} fn merge_sort_<T: Copy>(v: &[const T], slice: Slice, le: Le<T>) -> ~[T] { |
