Expand description
This module defines parallel operations that are implemented in one way for the serial compiler, and another way the parallel compiler.
Structs§
- Parallel
Guard  - A guard used to hold panics that occur during a parallel section to later by unwound. This is used for the parallel compiler to prevent fatal errors from non-deterministically hiding errors by ensuring that everything in the section has completed executing before continuing with unwinding. It’s also used for the non-parallel code to ensure error message output match the parallel compiler for testing purposes.
 
Functions§
- broadcast
 - join
 - par_
for_ each_ in  - par_map
 - par_
slice 🔒 - parallel_
guard  - This gives access to a fresh parallel guard in the closure and will unwind any panics caught in it after the closure returns.
 - scope
 - serial_
join 🔒 - spawn
 - try_
par_ for_ each_ in  - This runs 
for_eachin parallel for each iterator item. If one or more of thefor_eachcalls returnsErr, the function will also returnErr. The error returned will be non-deterministic, but this is expected to be used withErrorGuaranteedwhich are all equivalent.