id_effect 0.3.0

Effect<A, E, R> (sync + async), capability DI, pipe — interpreter-style, no bundled executor
Documentation
error[E0277]: the trait bound `MissingCapKey: CapabilityKey` is not satisfied
 --> tests/ui/missing_capability.rs:7:21
  |
7 |     let _ = Needs::<MissingCapKey>::need(r);
  |                     ^^^^^^^^^^^^^ unsatisfied trait bound
  |
help: the trait `CapabilityKey` is not implemented for `MissingCapKey`
 --> tests/ui/missing_capability.rs:3:1
  |
3 | struct MissingCapKey;
  | ^^^^^^^^^^^^^^^^^^^^
help: the following other types implement trait `CapabilityKey`
 --> src/testing/snapshot.rs
  |
  | #[::id_effect::capability(i32)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SnapshotDbKey`
...
  | #[::id_effect::capability(u64)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SnapshotClockKey`
note: required by a bound in `need`
 --> src/capability/needs.rs
  |
  | pub trait Needs<K: CapabilityKey> {
  |                    ^^^^^^^^^^^^^ required by this bound in `Needs::need`
  |   /// Borrow the service registered for `K`.
  |   fn need(&self) -> &K::Value;
  |      ---- required by a bound in this associated function
  = note: this error originates in the attribute macro `::id_effect::capability` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `MissingCapKey: CapabilityKey` is not satisfied
 --> tests/ui/missing_capability.rs:7:13
  |
7 |     let _ = Needs::<MissingCapKey>::need(r);
  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
  |
help: the trait `CapabilityKey` is not implemented for `MissingCapKey`
 --> tests/ui/missing_capability.rs:3:1
  |
3 | struct MissingCapKey;
  | ^^^^^^^^^^^^^^^^^^^^
help: the following other types implement trait `CapabilityKey`
 --> src/testing/snapshot.rs
  |
  | #[::id_effect::capability(i32)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SnapshotDbKey`
...
  | #[::id_effect::capability(u64)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SnapshotClockKey`
  = note: this error originates in the attribute macro `::id_effect::capability` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `MissingCapKey: CapabilityKey` is not satisfied
 --> tests/ui/missing_capability.rs:7:42
  |
7 |     let _ = Needs::<MissingCapKey>::need(r);
  |             ---------------------------- ^ unsatisfied trait bound
  |             |
  |             required by a bound introduced by this call
  |
help: the trait `CapabilityKey` is not implemented for `MissingCapKey`
 --> tests/ui/missing_capability.rs:3:1
  |
3 | struct MissingCapKey;
  | ^^^^^^^^^^^^^^^^^^^^
help: the following other types implement trait `CapabilityKey`
 --> src/testing/snapshot.rs
  |
  | #[::id_effect::capability(i32)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SnapshotDbKey`
...
  | #[::id_effect::capability(u64)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SnapshotClockKey`
  = note: required for `()` to implement `Needs<MissingCapKey>`
  = note: this error originates in the attribute macro `::id_effect::capability` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `(): Needs<MissingCapKey>` is not satisfied
 --> tests/ui/missing_capability.rs:7:42
  |
7 |     let _ = Needs::<MissingCapKey>::need(r);
  |             ---------------------------- ^ the trait `Deref` is not implemented for `()`
  |             |
  |             required by a bound introduced by this call
  |
help: the trait `Needs<K>` is implemented for `Env`
 --> src/capability/needs.rs
  |
  | / impl<K> Needs<K> for Env
  | | where
  | |   K: CapabilityKey,
  | |___________________^
  = note: required for `()` to implement `Needs<MissingCapKey>`