diff options
Diffstat (limited to 'src/libstd/sort.rs')
| -rw-r--r-- | src/libstd/sort.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstd/sort.rs b/src/libstd/sort.rs index 07552a0a94f..00396e0e773 100644 --- a/src/libstd/sort.rs +++ b/src/libstd/sort.rs @@ -9,6 +9,7 @@ export le; export merge_sort; export quick_sort; export quick_sort3; +export Sort; type le<T> = pure fn(v1: &T, v2: &T) -> bool; @@ -160,6 +161,14 @@ fn quick_sort3<T: copy Ord Eq>(arr: &[mut T]) { qsort3(arr, 0, (arr.len() - 1) as int); } +trait Sort { + fn qsort(self); +} + +impl<T: copy Ord Eq> &[mut T] : Sort { + fn qsort(self) { quick_sort3(self); } +} + #[cfg(test)] mod test_qsort3 { fn check_sort(v1: &[mut int], v2: &[mut int]) { |
