id_effect 0.2.0

Effect<A, E, R> (sync + async), context/layers, pipe — interpreter-style, no bundled executor
Documentation
1
2
3
4
5
6
7
8
9
10
11
//! Ex 050 — `interrupt_all` signals every handle.
use id_effect::{FiberHandle, FiberId, interrupt_all, run_blocking};

fn main() {
  let a = FiberHandle::<(), ()>::pending(FiberId::fresh());
  let b = FiberHandle::<(), ()>::pending(FiberId::fresh());
  let _ = run_blocking(interrupt_all(vec![a.clone(), b.clone()]), ());
  assert!(a.is_done());
  assert!(b.is_done());
  println!("050_interrupt_all ok");
}