tokio-scoped

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.

Example

```rust

extern crate tokio_scoped;

extern crate futures;

use futures::lazy;

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!"); ```