[INFO] fetching crate ljprs_es 0.1.0...
[INFO] testing ljprs_es-0.1.0 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] extracting crate ljprs_es 0.1.0 into /workspace/builds/worker-1-tc2/source
[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-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ljprs_es 0.1.0 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d8dbfd05228192d8892153cf4da2b2145081723f4280b9155e67da9d93b94074
[INFO] running `Command { std: "docker" "start" "-a" "d8dbfd05228192d8892153cf4da2b2145081723f4280b9155e67da9d93b94074", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d8dbfd05228192d8892153cf4da2b2145081723f4280b9155e67da9d93b94074", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8dbfd05228192d8892153cf4da2b2145081723f4280b9155e67da9d93b94074", kill_on_drop: false }`
[INFO] [stdout] d8dbfd05228192d8892153cf4da2b2145081723f4280b9155e67da9d93b94074
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] c85a2ed3c69f701923955c50cf3f5817675f37da189f6aa2b1bc16c8ab224f7f
[INFO] running `Command { std: "docker" "start" "-a" "c85a2ed3c69f701923955c50cf3f5817675f37da189f6aa2b1bc16c8ab224f7f", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ljprs_es v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.25s
[INFO] running `Command { std: "docker" "inspect" "c85a2ed3c69f701923955c50cf3f5817675f37da189f6aa2b1bc16c8ab224f7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c85a2ed3c69f701923955c50cf3f5817675f37da189f6aa2b1bc16c8ab224f7f", kill_on_drop: false }`
[INFO] [stdout] c85a2ed3c69f701923955c50cf3f5817675f37da189f6aa2b1bc16c8ab224f7f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] a22a1fd84dbbb34a984cde22b513f895e2a1a5e916d71dced2955208fdccea1a
[INFO] running `Command { std: "docker" "start" "-a" "a22a1fd84dbbb34a984cde22b513f895e2a1a5e916d71dced2955208fdccea1a", 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.25s
[INFO] running `Command { std: "docker" "inspect" "a22a1fd84dbbb34a984cde22b513f895e2a1a5e916d71dced2955208fdccea1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a22a1fd84dbbb34a984cde22b513f895e2a1a5e916d71dced2955208fdccea1a", kill_on_drop: false }`
[INFO] [stdout] a22a1fd84dbbb34a984cde22b513f895e2a1a5e916d71dced2955208fdccea1a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] e4486e393769bcfb9c7edc543a24489dd39df8c738e9913f5243e26a646efa2f
[INFO] running `Command { std: "docker" "start" "-a" "e4486e393769bcfb9c7edc543a24489dd39df8c738e9913f5243e26a646efa2f", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/ljprs_es/20849481d63ca000/deps/ljprs_es-20849481d63ca000)
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests ljprs_es
[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] 29 | #[derive(Clone, Default, Serialize, Deserialize)]
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 26 + 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] 29 | #[derive(Clone, Default, Serialize, Deserialize)]
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 26 + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Event` in this scope
[INFO] [stdout]   --> src/state.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |     type Event = Event;
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to use the associated type
[INFO] [stdout]    |
[INFO] [stdout] 38 |     type Event = Self::Event;
[INFO] [stdout]    |                  ++++++
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 26 + 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] 50 |             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] 50 |             Self::Event::OrderCreated(e) => self.apply_order_created(e),
[INFO] [stdout]    |             ++++++
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 26 + 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] 51 |             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] 51 |             Self::Event::OrderPayment(e) => self.apply_order_payment(e)
[INFO] [stdout]    |             ++++++
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 26 + use ljprs_es::Event;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `OrderCreatedEvent` in this scope
[INFO] [stdout]   --> src/state.rs:57:47
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn apply_order_created(&mut self, event: &OrderCreatedEvent) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `OrderPaymentEvent` in this scope
[INFO] [stdout]   --> src/state.rs:64:47
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn apply_order_payment(&mut self, event: &OrderPaymentEvent) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderState: serde::Serialize` is not satisfied
[INFO] [stdout]   --> src/state.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn id(&self) -> Self::Identifier {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `OrderState`
[INFO] [stdout]   --> src/state.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct OrderState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `OrderState` type
[INFO] [stdout]    = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]    = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]              &'a T
[INFO] [stdout]              &'a mut T
[INFO] [stdout]              ()
[INFO] [stdout]              (T,)
[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 126 others
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> 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_core::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]              serde::private::ser::content::Content
[INFO] [stdout]              serde::private::ser::AdjacentlyTaggedEnumVariant
[INFO] [stdout]              bool
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]            and 128 others
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderState: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> src/state.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn id(&self) -> Self::Identifier {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `for<'de> serde_core::de::Deserialize<'de>` is not implemented for `OrderState`
[INFO] [stdout]   --> src/state.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct OrderState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `OrderState` type
[INFO] [stdout]    = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]    = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]              &'a Path
[INFO] [stdout]              &'a [u8]
[INFO] [stdout]              &'a str
[INFO] [stdout]              ()
[INFO] [stdout]              (T,)
[INFO] [stdout]              (T0, T1)
[INFO] [stdout]              (T0, T1, T2)
[INFO] [stdout]              (T0, T1, T2, T3)
[INFO] [stdout]            and 138 others
[INFO] [stdout]    = note: required for `OrderState` to implement `serde_core::de::DeserializeOwned`
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> 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_core::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::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> src/state.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl ljprs_es::State for OrderState {
[INFO] [stdout]    |                          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `for<'de> serde_core::de::Deserialize<'de>` is not implemented for `OrderState`
[INFO] [stdout]   --> src/state.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct OrderState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `OrderState` type
[INFO] [stdout]    = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]    = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]              &'a Path
[INFO] [stdout]              &'a [u8]
[INFO] [stdout]              &'a str
[INFO] [stdout]              ()
[INFO] [stdout]              (T,)
[INFO] [stdout]              (T0, T1)
[INFO] [stdout]              (T0, T1, T2)
[INFO] [stdout]              (T0, T1, T2, T3)
[INFO] [stdout]            and 138 others
[INFO] [stdout]    = note: required for `OrderState` to implement `serde_core::de::DeserializeOwned`
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> 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_core::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::Serialize` is not satisfied
[INFO] [stdout]   --> src/state.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl ljprs_es::State for OrderState {
[INFO] [stdout]    |                          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `OrderState`
[INFO] [stdout]   --> src/state.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct OrderState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `OrderState` type
[INFO] [stdout]    = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]    = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]              &'a T
[INFO] [stdout]              &'a mut T
[INFO] [stdout]              ()
[INFO] [stdout]              (T,)
[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 126 others
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> 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_core::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]              serde::private::ser::content::Content
[INFO] [stdout]              serde::private::ser::AdjacentlyTaggedEnumVariant
[INFO] [stdout]              bool
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[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] 61 |         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 12 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425, 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] 48 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 19 + 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] 48 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 19 + 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] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 19 + 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] 42 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 19 + 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] 35 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 19 + 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] 35 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 19 + 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] 22 | #[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] 22 | #[derive(AsRefStr, Serialize, Deserialize)]
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 19 + 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] 22 | #[derive(AsRefStr, Serialize, Deserialize)]
[INFO] [stdout]    |                               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 19 + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `_doctest_main_src_event_rs_20_0::Event: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> src/event.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ljprs_es::Event for Event {
[INFO] [stdout]    |                          ^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `for<'de> serde_core::de::Deserialize<'de>` is not implemented for `_doctest_main_src_event_rs_20_0::Event`
[INFO] [stdout]   --> src/event.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum Event {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `_doctest_main_src_event_rs_20_0::Event` type
[INFO] [stdout]    = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]    = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]              &'a Path
[INFO] [stdout]              &'a [u8]
[INFO] [stdout]              &'a str
[INFO] [stdout]              ()
[INFO] [stdout]              (T,)
[INFO] [stdout]              (T0, T1)
[INFO] [stdout]              (T0, T1, T2)
[INFO] [stdout]              (T0, T1, T2, T3)
[INFO] [stdout]            and 138 others
[INFO] [stdout]    = note: required for `_doctest_main_src_event_rs_20_0::Event` to implement `serde_core::de::DeserializeOwned`
[INFO] [stdout] note: required by a bound in `ljprs_es::Event`
[INFO] [stdout]   --> 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_core::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::Serialize` is not satisfied
[INFO] [stdout]   --> src/event.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ljprs_es::Event for Event {
[INFO] [stdout]    |                          ^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `_doctest_main_src_event_rs_20_0::Event`
[INFO] [stdout]   --> src/event.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum Event {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `_doctest_main_src_event_rs_20_0::Event` type
[INFO] [stdout]    = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]    = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]              &'a T
[INFO] [stdout]              &'a mut T
[INFO] [stdout]              ()
[INFO] [stdout]              (T,)
[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 126 others
[INFO] [stdout] note: required by a bound in `ljprs_es::Event`
[INFO] [stdout]   --> 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_core::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]              serde::private::ser::content::Content
[INFO] [stdout]              serde::private::ser::AdjacentlyTaggedEnumVariant
[INFO] [stdout]              bool
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]            and 128 others
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_ref` exists for reference `&_doctest_main_src_event_rs_20_0::Event`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/event.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum Event {
[INFO] [stdout]    | ---------- doesn't satisfy `_doctest_main_src_event_rs_20_0::Event: AsRef<_>`
[INFO] [stdout] ...
[INFO] [stdout] 31 |         self.as_ref()
[INFO] [stdout]    |              ^^^^^^ method cannot be called on `&_doctest_main_src_event_rs_20_0::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/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/convert/mod.rs:220:0
[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] 21 | #[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] 23 |     #[error("a payment of this amount would leave a negative balance owing")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `OrderState` in this scope
[INFO] [stdout]   --> src/aggregate.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     state: OrderState,
[INFO] [stdout]    |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Event` in this scope
[INFO] [stdout]   --> src/aggregate.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pending_events: Vec<Event>
[INFO] [stdout]    |                         ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 18 + use ljprs_es::Event;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `OrderState` in this scope
[INFO] [stdout]   --> src/aggregate.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     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] 57 |         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] 18 + 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] 57 |         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] 77 |         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] 18 + 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] 77 |         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] 56 |         let mut state = OrderState::default();
[INFO] [stdout]    |                         ^^^^^^^^^^ use of undeclared type `OrderState`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand`
[INFO] [stdout]   --> src/aggregate.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 |             id: rand::thread_rng().gen(),
[INFO] [stdout]    |                 ^^^^ use of unresolved module or unlinked crate `rand`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[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.33s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "e4486e393769bcfb9c7edc543a24489dd39df8c738e9913f5243e26a646efa2f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4486e393769bcfb9c7edc543a24489dd39df8c738e9913f5243e26a646efa2f", kill_on_drop: false }`
[INFO] [stdout] e4486e393769bcfb9c7edc543a24489dd39df8c738e9913f5243e26a646efa2f
