[INFO] fetching crate ljprs_es 0.1.0...
[INFO] testing ljprs_es-0.1.0 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate ljprs_es 0.1.0 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate ljprs_es 0.1.0 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ljprs_es 0.1.0
[INFO] finished tweaking crates.io crate ljprs_es 0.1.0
[INFO] tweaked toml for crates.io crate ljprs_es 0.1.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 8 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f7256e1fa4f7a4368451cc283655680860218ee426ea2b79618b5b11037900dd
[INFO] running `Command { std: "docker" "start" "-a" "f7256e1fa4f7a4368451cc283655680860218ee426ea2b79618b5b11037900dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f7256e1fa4f7a4368451cc283655680860218ee426ea2b79618b5b11037900dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7256e1fa4f7a4368451cc283655680860218ee426ea2b79618b5b11037900dd", kill_on_drop: false }`
[INFO] [stdout] f7256e1fa4f7a4368451cc283655680860218ee426ea2b79618b5b11037900dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 035a1f91dc4817b86ac0ddd38d09b8beb9a309d8f6c8bacab459053308d666bf
[INFO] running `Command { std: "docker" "start" "-a" "035a1f91dc4817b86ac0ddd38d09b8beb9a309d8f6c8bacab459053308d666bf", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling serde_derive v1.0.202
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]    Compiling serde v1.0.202
[INFO] [stderr]    Compiling ljprs_es v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.08s
[INFO] running `Command { std: "docker" "inspect" "035a1f91dc4817b86ac0ddd38d09b8beb9a309d8f6c8bacab459053308d666bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "035a1f91dc4817b86ac0ddd38d09b8beb9a309d8f6c8bacab459053308d666bf", kill_on_drop: false }`
[INFO] [stdout] 035a1f91dc4817b86ac0ddd38d09b8beb9a309d8f6c8bacab459053308d666bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4656f972c845048840e71427e09727fa1054de700710ece50164333d7dff520
[INFO] running `Command { std: "docker" "start" "-a" "c4656f972c845048840e71427e09727fa1054de700710ece50164333d7dff520", kill_on_drop: false }`
[INFO] [stderr]    Compiling ljprs_es v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] running `Command { std: "docker" "inspect" "c4656f972c845048840e71427e09727fa1054de700710ece50164333d7dff520", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4656f972c845048840e71427e09727fa1054de700710ece50164333d7dff520", kill_on_drop: false }`
[INFO] [stdout] c4656f972c845048840e71427e09727fa1054de700710ece50164333d7dff520
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3b29280d01eb8dd1202c4f20c6a705a6f7e484f34fd6e7df84e69a9719a1f4a0
[INFO] running `Command { std: "docker" "start" "-a" "3b29280d01eb8dd1202c4f20c6a705a6f7e484f34fd6e7df84e69a9719a1f4a0", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ljprs_es-4937dbb22b965ef2)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ljprs_es
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/state.rs - state::State (line 27) ... FAILED
[INFO] [stdout] test src/event.rs - event::Event (line 20) ... FAILED
[INFO] [stdout] test src/aggregate.rs - aggregate::Aggregate (line 19) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/state.rs - state::State (line 27) stdout ----
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]  --> src/state.rs:29:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Default, Serialize, Deserialize)]
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use serde::Serialize;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/state.rs:29:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Default, Serialize, Deserialize)]
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use serde::Deserialize;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Event` in this scope
[INFO] [stdout]   --> src/state.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     type Event = Event;
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to use the associated type
[INFO] [stdout]    |
[INFO] [stdout] 14 |     type Event = Self::Event;
[INFO] [stdout]    |                  ++++++
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 2  + use ljprs_es::Event;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event`
[INFO] [stdout]   --> src/state.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Event::OrderCreated(e) => self.apply_order_created(e),
[INFO] [stdout]    |             ^^^^^ use of undeclared type `Event`
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to use the associated type
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Self::Event::OrderCreated(e) => self.apply_order_created(e),
[INFO] [stdout]    |             ++++++
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 2  + use ljprs_es::Event;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event`
[INFO] [stdout]   --> src/state.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Event::OrderPayment(e) => self.apply_order_payment(e)
[INFO] [stdout]    |             ^^^^^ use of undeclared type `Event`
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to use the associated type
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Self::Event::OrderPayment(e) => self.apply_order_payment(e)
[INFO] [stdout]    |             ++++++
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 2  + use ljprs_es::Event;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `OrderCreatedEvent` in this scope
[INFO] [stdout]   --> src/state.rs:57:47
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn apply_order_created(&mut self, event: &OrderCreatedEvent) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `OrderPaymentEvent` in this scope
[INFO] [stdout]   --> src/state.rs:64:47
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn apply_order_payment(&mut self, event: &OrderPaymentEvent) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `for<'de> OrderState: serde::de::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> src/state.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ljprs_es::State for OrderState {
[INFO] [stdout]    |                          ^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `OrderState`, which is required by `OrderState: serde::de::DeserializeOwned`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `serde::de::Deserialize<'de>`:
[INFO] [stdout]              &'a Path
[INFO] [stdout]              &'a [u8]
[INFO] [stdout]              &'a str
[INFO] [stdout]              ()
[INFO] [stdout]              (T0, T1)
[INFO] [stdout]              (T0, T1, T2)
[INFO] [stdout]              (T0, T1, T2, T3)
[INFO] [stdout]              (T0, T1, T2, T3, T4)
[INFO] [stdout]            and 139 others
[INFO] [stdout]    = note: required for `OrderState` to implement `serde::de::DeserializeOwned`
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/state.rs:68:63
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub trait State : Send + Sync + Clone + Default + Serialize + DeserializeOwned {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout]    = note: `State` is a "sealed trait", because to implement it you also need to implement `serde::de::DeserializeOwned`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]    = help: the following type implements the trait:
[INFO] [stdout]              T
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderState: serde::ser::Serialize` is not satisfied
[INFO] [stdout]   --> src/state.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ljprs_es::State for OrderState {
[INFO] [stdout]    |                          ^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `OrderState`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `serde::ser::Serialize`:
[INFO] [stdout]              &'a T
[INFO] [stdout]              &'a mut T
[INFO] [stdout]              ()
[INFO] [stdout]              (T0, T1)
[INFO] [stdout]              (T0, T1, T2)
[INFO] [stdout]              (T0, T1, T2, T3)
[INFO] [stdout]              (T0, T1, T2, T3, T4)
[INFO] [stdout]              (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]            and 128 others
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/state.rs:68:51
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub trait State : Send + Sync + Clone + Default + Serialize + DeserializeOwned {
[INFO] [stdout]    |                                                   ^^^^^^^^^ required by this bound in `State`
[INFO] [stdout]    = note: `State` is a "sealed trait", because to implement it you also need to implement `serde::ser::Serialize`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]    = help: the following types implement the trait:
[INFO] [stdout]              u32
[INFO] [stdout]              std::num::NonZero<u128>
[INFO] [stdout]              std::num::NonZero<usize>
[INFO] [stdout]              std::num::NonZero<i32>
[INFO] [stdout]              std::num::NonZero<u32>
[INFO] [stdout]              std::num::NonZero<i64>
[INFO] [stdout]              std::num::NonZero<i8>
[INFO] [stdout]              std::num::NonZero<isize>
[INFO] [stdout]            and 128 others
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `is_fully_paid` on type `&mut OrderState`
[INFO] [stdout]   --> src/state.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |         self.is_fully_paid = false;
[INFO] [stdout]    |              ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `id`, `product_name`, `balance_owing`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0412, E0433, E0609.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/event.rs - event::Event (line 20) stdout ----
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/event.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 2  + use serde::Serialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/event.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 2  + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/event.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 2  + use serde::Serialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/event.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 2  + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/event.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 2  + use serde::Serialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/event.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 2  + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `AsRefStr` in this scope
[INFO] [stdout]  --> src/event.rs:22:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(AsRefStr, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]  --> src/event.rs:22:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(AsRefStr, Serialize, Deserialize)]
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use serde::Serialize;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/event.rs:22:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(AsRefStr, Serialize, Deserialize)]
[INFO] [stdout]   |                               ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use serde::Deserialize;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `for<'de> _doctest_main_src_event_rs_20_0::Event: serde::de::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> src/event.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ljprs_es::Event for Event {
[INFO] [stdout]    |                          ^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `_doctest_main_src_event_rs_20_0::Event`, which is required by `_doctest_main_src_event_rs_20_0::Event: serde::de::DeserializeOwned`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `serde::de::Deserialize<'de>`:
[INFO] [stdout]              &'a Path
[INFO] [stdout]              &'a [u8]
[INFO] [stdout]              &'a str
[INFO] [stdout]              ()
[INFO] [stdout]              (T0, T1)
[INFO] [stdout]              (T0, T1, T2)
[INFO] [stdout]              (T0, T1, T2, T3)
[INFO] [stdout]              (T0, T1, T2, T3, T4)
[INFO] [stdout]            and 139 others
[INFO] [stdout]    = note: required for `_doctest_main_src_event_rs_20_0::Event` to implement `serde::de::DeserializeOwned`
[INFO] [stdout] note: required by a bound in `ljprs_es::Event`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait Event : Send + Sync + Serialize + DeserializeOwned {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^ required by this bound in `Event`
[INFO] [stdout]    = note: `Event` is a "sealed trait", because to implement it you also need to implement `serde::de::DeserializeOwned`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]    = help: the following type implements the trait:
[INFO] [stdout]              T
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `_doctest_main_src_event_rs_20_0::Event: serde::ser::Serialize` is not satisfied
[INFO] [stdout]   --> src/event.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ljprs_es::Event for Event {
[INFO] [stdout]    |                          ^^^^^ the trait `serde::ser::Serialize` is not implemented for `_doctest_main_src_event_rs_20_0::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `serde::ser::Serialize`:
[INFO] [stdout]              &'a T
[INFO] [stdout]              &'a mut T
[INFO] [stdout]              ()
[INFO] [stdout]              (T0, T1)
[INFO] [stdout]              (T0, T1, T2)
[INFO] [stdout]              (T0, T1, T2, T3)
[INFO] [stdout]              (T0, T1, T2, T3, T4)
[INFO] [stdout]              (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]            and 128 others
[INFO] [stdout] note: required by a bound in `ljprs_es::Event`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event.rs:55:33
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait Event : Send + Sync + Serialize + DeserializeOwned {
[INFO] [stdout]    |                                 ^^^^^^^^^ required by this bound in `Event`
[INFO] [stdout]    = note: `Event` is a "sealed trait", because to implement it you also need to implement `serde::ser::Serialize`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]    = help: the following types implement the trait:
[INFO] [stdout]              u32
[INFO] [stdout]              std::num::NonZero<u128>
[INFO] [stdout]              std::num::NonZero<usize>
[INFO] [stdout]              std::num::NonZero<i32>
[INFO] [stdout]              std::num::NonZero<u32>
[INFO] [stdout]              std::num::NonZero<i64>
[INFO] [stdout]              std::num::NonZero<i8>
[INFO] [stdout]              std::num::NonZero<isize>
[INFO] [stdout]            and 128 others
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_ref` exists for reference `&Event`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/event.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 6  | enum Event {
[INFO] [stdout]    | ---------- doesn't satisfy `_doctest_main_src_event_rs_20_0::Event: AsRef<_>`
[INFO] [stdout] ...
[INFO] [stdout] 14 |         self.as_ref()
[INFO] [stdout]    |              ^^^^^^ method cannot be called on `&Event` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `_doctest_main_src_event_rs_20_0::Event: AsRef<_>`
[INFO] [stdout]            which is required by `&_doctest_main_src_event_rs_20_0::Event: AsRef<_>`
[INFO] [stdout] note: the trait `AsRef` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/convert/mod.rs:218:1
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `AsRef`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aggregate.rs - aggregate::Aggregate (line 19) stdout ----
[INFO] [stdout] error: cannot find derive macro `Error` in this scope
[INFO] [stdout]  --> src/aggregate.rs:21:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Error, Debug, PartialEq)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]  --> src/aggregate.rs:23:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |     #[error("a payment of this amount would leave a negative balance owing")]
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `OrderState` in this scope
[INFO] [stdout]   --> src/aggregate.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     state: OrderState,
[INFO] [stdout]    |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Event` in this scope
[INFO] [stdout]   --> src/aggregate.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pending_events: Vec<Event>
[INFO] [stdout]    |                         ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 2  + use ljprs_es::Event;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `OrderState` in this scope
[INFO] [stdout]   --> src/aggregate.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     type State = OrderState;
[INFO] [stdout]    |                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event`
[INFO] [stdout]   --> src/aggregate.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let event = Event::OrderCreated(OrderCreatedEvent {
[INFO] [stdout]    |                     ^^^^^ use of undeclared type `Event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 2  + use ljprs_es::Event;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `OrderCreatedEvent` in this scope
[INFO] [stdout]   --> src/aggregate.rs:57:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let event = Event::OrderCreated(OrderCreatedEvent {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event`
[INFO] [stdout]   --> src/aggregate.rs:77:29
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let event_payment = Event::OrderPayment(OrderPaymentEvent {
[INFO] [stdout]    |                             ^^^^^ use of undeclared type `Event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 2  + use ljprs_es::Event;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `OrderPaymentEvent` in this scope
[INFO] [stdout]   --> src/aggregate.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let event_payment = Event::OrderPayment(OrderPaymentEvent {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OrderState`
[INFO] [stdout]   --> src/aggregate.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut state = OrderState::default();
[INFO] [stdout]    |                         ^^^^^^^^^^ use of undeclared type `OrderState`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rand`
[INFO] [stdout]   --> src/aggregate.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |             id: rand::thread_rng().gen(),
[INFO] [stdout]    |                 ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0422, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/aggregate.rs - aggregate::Aggregate (line 19)
[INFO] [stdout]     src/event.rs - event::Event (line 20)
[INFO] [stdout]     src/state.rs - state::State (line 27)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "3b29280d01eb8dd1202c4f20c6a705a6f7e484f34fd6e7df84e69a9719a1f4a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b29280d01eb8dd1202c4f20c6a705a6f7e484f34fd6e7df84e69a9719a1f4a0", kill_on_drop: false }`
[INFO] [stdout] 3b29280d01eb8dd1202c4f20c6a705a6f7e484f34fd6e7df84e69a9719a1f4a0
