effectful 0.3.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
12
//! Ex 026 — `LayerFn` builds one layer cell.
use effectful::{LayerBuild, LayerFn, Service, Tagged};

#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash, Service)]
struct SeedKey;

fn main() {
  let layer = LayerFn(|| Ok::<Tagged<SeedKey, u32>, ()>(Tagged::<SeedKey, _>::new(42_u32)));
  let cell = layer.build().expect("layer");
  assert_eq!(cell.value, 42);
  println!("026_layer_fn ok");
}