tokio-scoped provides a scope
function and ScopedRuntime
struct inspired by crossbeam
but for the tokio
Runtime. A scope allows one to spawn futures which do not have a 'static
lifetime
by ensuring each future spawned in the scope completes before the scope exits.
```rust
let mut v = String::from("Hello"); tokioscoped::scope(|scope| { // Use the scope to spawn the future. scope.spawn(lazy(|| { v.push('!'); Ok(()) })); }); // The scope won't exit until all spawned futures are complete. asserteq!(v.as_str(), "Hello!"); ```