batpak 0.8.2

Event sourcing with causal graphs and caller-defined gates. Sync API, no async runtime.
Documentation
error[E0277]: the trait bound `NotAMarker: ProjectionInput` is not satisfied
  --> tests/ui/es_unknown_input.rs:12:18
   |
12 | #[batpak(input = NotAMarker)]
   |                  ^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `ProjectionInput` is not implemented for `NotAMarker`
  --> tests/ui/es_unknown_input.rs:5:1
   |
 5 | struct NotAMarker;
   | ^^^^^^^^^^^^^^^^^
   = help: the following other types implement trait `ProjectionInput`:
             JsonValueInput
             RawMsgpackInput
note: required by a bound in `batpak::EventSourced::Input`
  --> src/event/sourcing.rs
   |
   |     type Input: ProjectionInput;
   |                 ^^^^^^^^^^^^^^^ required by this bound in `EventSourced::Input`

error[E0277]: the trait bound `NotAMarker: ProjectionInput` is not satisfied
  --> tests/ui/es_unknown_input.rs:11:57
   |
11 | #[derive(Default, serde::Serialize, serde::Deserialize, EventSourced)]
   |                                                         ^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `ProjectionInput` is not implemented for `NotAMarker`
  --> tests/ui/es_unknown_input.rs:5:1
   |
 5 | struct NotAMarker;
   | ^^^^^^^^^^^^^^^^^
   = help: the following other types implement trait `ProjectionInput`:
             JsonValueInput
             RawMsgpackInput
   = note: this error originates in the derive macro `EventSourced` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `NotAMarker: ProjectionInput` is not satisfied
  --> tests/ui/es_unknown_input.rs:12:18
   |
12 | #[batpak(input = NotAMarker)]
   |                  ^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `ProjectionInput` is not implemented for `NotAMarker`
  --> tests/ui/es_unknown_input.rs:5:1
   |
 5 | struct NotAMarker;
   | ^^^^^^^^^^^^^^^^^
   = help: the following other types implement trait `ProjectionInput`:
             JsonValueInput
             RawMsgpackInput
note: required by a bound in `__batpak_assert_projection_input`
  --> tests/ui/es_unknown_input.rs:11:57
   |
11 | #[derive(Default, serde::Serialize, serde::Deserialize, EventSourced)]
   |                                                         ^^^^^^^^^^^^ required by this bound in `__batpak_assert_projection_input`
   = note: this error originates in the derive macro `EventSourced` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> tests/ui/es_unknown_input.rs:11:57
   |
11 | #[derive(Default, serde::Serialize, serde::Deserialize, EventSourced)]
   |                                                         ^^^^^^^^^^^^ expected fn pointer, found fn item
   |
   = note: expected fn pointer `for<'a, 'b> fn(&'a mut State, &'b Ping)`
                 found fn item `for<'a> fn(&'a mut State, Ping) {State::on_ping}`
   = note: this error originates in the derive macro `EventSourced` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> tests/ui/es_unknown_input.rs:11:57
   |
11 | #[derive(Default, serde::Serialize, serde::Deserialize, EventSourced)]
   |                                                         ^^^^^^^^^^^^ expected `Ping`, found `&Ping`
12 | #[batpak(input = NotAMarker)]
13 | #[batpak(event = Ping, handler = on_ping)]
   |                                  ------- arguments to this method are incorrect
   |
note: method defined here
  --> tests/ui/es_unknown_input.rs:17:8
   |
17 |     fn on_ping(&mut self, _p: Ping) {}
   |        ^^^^^^^            --------
   = note: this error originates in the derive macro `EventSourced` (in Nightly builds, run with -Z macro-backtrace for more info)