Skip to content

Commit

Permalink
fix failing doc test and clear up docs (#6314)
Browse files Browse the repository at this point in the history
# Objective

Fixes #6306

## Solution
 Change the failing assert and expand example to explain when ordering is deterministic or not.

Co-authored-by: Mike Hsu <mike.hsu@gmail.com>
  • Loading branch information
rparrett and hymm committed Oct 20, 2022
1 parent abbc0cf commit 48e9dc1
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions crates/bevy_tasks/src/task_pool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,11 +164,19 @@ impl TaskPool {
/// });
/// });
///
/// // results are returned in the order the tasks are spawned in.
/// // Note: the ordering may become non-deterministic if you spawn from within tasks.
/// // the ordering is only guaranteed when tasks are spawned directly from the main closure.
/// // The ordering of results is non-deterministic if you spawn from within tasks as above.
/// // If you're doing this, you'll have to write your code to not depend on the ordering.
/// assert!(results.contains(&0));
/// assert!(results.contains(&1));
///
/// // The ordering is deterministic if you only spawn directly from the closure function.
/// let results = pool.scope(|s| {
/// s.spawn(async { 0 });
/// s.spawn(async { 1 });
/// });
/// assert_eq!(&results[..], &[0, 1]);
/// // can access x after scope runs
///
/// // You can access x after scope runs, since it was only temporarily borrowed in the scope.
/// assert_eq!(x, 2);
/// ```
///
Expand Down

0 comments on commit 48e9dc1

Please sign in to comment.