Creates a “fork-join” scope
s with FIFO order, and invokes the
closure with a reference to
s. This closure can then spawn
asynchronous tasks into
s. Those tasks may run asynchronously with
respect to the closure; they may themselves spawn additional tasks
s. When the closure returns, it will block until all tasks
that have been spawned into
This is just like
scope_fifo() except the closure runs on the same thread
in_place_scope_fifo(). Only work that it spawns runs in the
If a panic occurs, either in the closure given to
in_place_scope_fifo() or in
any of the spawned jobs, that panic will be propagated and the
in_place_scope_fifo() will panic. If multiple panics occurs, it is
non-deterministic which of their panic values will propagate.
Regardless, once a task is spawned using
scope.spawn_fifo(), it will
execute, even if the spawning task should later panic.
returns once all spawned jobs have completed, and any panics are
propagated at that point.