# Objective - Fixes https://github.com/bevyengine/bevy/issues/6603 ## Solution - `Task`s will cancel when dropped, but wait until they return Pending before they actually get canceled. That means that if a task panics, it's possible for that error to get propagated to the scope and the scope gets dropped, while scoped tasks in other threads are still running. This is a big problem since scoped task can hold life-timed values that are dropped as the scope is dropped leading to UB. --- ## Changelog - changed `Scope` to use `FallibleTask` and await the cancellation of all remaining tasks when it's dropped. |
||
|---|---|---|
| .. | ||
| iter | ||
| lib.rs | ||
| single_threaded_task_pool.rs | ||
| slice.rs | ||
| task_pool.rs | ||
| task.rs | ||
| usages.rs | ||