about summary refs log tree commit diff
path: root/src/libstd/sort.rs
diff options
context:
space:
mode:
authorJesse Jones <jesse9jones@gmail.com>2012-11-17 10:21:14 -0800
committerBrian Anderson <banderson@mozilla.com>2012-11-18 13:25:26 -0800
commit333d268b3ef5846fc22c73c01f69a12bf11f6b9d (patch)
tree1c9a63189d67fe0f164bfee2fda3bab87755f376 /src/libstd/sort.rs
parent6d99a2f8a99baedab90fb8bd6cb6e1507fad736b (diff)
downloadrust-333d268b3ef5846fc22c73c01f69a12bf11f6b9d.tar.gz
rust-333d268b3ef5846fc22c73c01f69a12bf11f6b9d.zip
Made merge_sort pure
Diffstat (limited to 'src/libstd/sort.rs')
-rw-r--r--src/libstd/sort.rs4
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] {