]> git.proxmox.com Git - rustc.git/blob - src/vendor/rayon/tests/compile-fail/quicksort_race1.rs
New upstream version 1.25.0+dfsg1
[rustc.git] / src / vendor / rayon / tests / compile-fail / quicksort_race1.rs
1 extern crate rayon;
2
3 fn quick_sort<T:PartialOrd+Send>(v: &mut [T]) {
4 if v.len() <= 1 {
5 return;
6 }
7
8 let mid = partition(v);
9 let (lo, _hi) = v.split_at_mut(mid);
10 rayon::join(|| quick_sort(lo), || quick_sort(lo)); //~ ERROR E0524
11 }
12
13 fn partition<T:PartialOrd+Send>(v: &mut [T]) -> usize {
14 let pivot = v.len() - 1;
15 let mut i = 0;
16 for j in 0..pivot {
17 if v[j] <= v[pivot] {
18 v.swap(i, j);
19 i += 1;
20 }
21 }
22 v.swap(i, pivot);
23 i
24 }
25
26 fn main() { }