aboutsummaryrefslogtreecommitdiff
path: root/vendor/rayon/tests/par_bridge_recursion.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/rayon/tests/par_bridge_recursion.rs')
-rw-r--r--vendor/rayon/tests/par_bridge_recursion.rs31
1 files changed, 0 insertions, 31 deletions
diff --git a/vendor/rayon/tests/par_bridge_recursion.rs b/vendor/rayon/tests/par_bridge_recursion.rs
deleted file mode 100644
index 3a48ef1..0000000
--- a/vendor/rayon/tests/par_bridge_recursion.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-use rayon::prelude::*;
-use std::iter::once_with;
-
-const N: usize = 100_000;
-
-#[test]
-#[cfg_attr(any(target_os = "emscripten", target_family = "wasm"), ignore)]
-fn par_bridge_recursion() {
- let pool = rayon::ThreadPoolBuilder::new()
- .num_threads(10)
- .build()
- .unwrap();
-
- let seq: Vec<_> = (0..N).map(|i| (i, i.to_string())).collect();
-
- pool.broadcast(|_| {
- let mut par: Vec<_> = (0..N)
- .into_par_iter()
- .flat_map(|i| {
- once_with(move || {
- // Using rayon within the serial iterator creates an opportunity for
- // work-stealing to make par_bridge's mutex accidentally recursive.
- rayon::join(move || i, move || i.to_string())
- })
- .par_bridge()
- })
- .collect();
- par.par_sort_unstable();
- assert_eq!(seq, par);
- });
-}