[INFO] fetching crate ljprs_es 0.1.0...
[INFO] testing ljprs_es-0.1.0 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] extracting crate ljprs_es 0.1.0 into /workspace/builds/worker-1-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ljprs_es 0.1.0 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 63fcb5d24871ed302a83650a88b4abdd4415f58fedc1a0615baf220faca946ec
[INFO] running `Command { std: "docker" "start" "-a" "63fcb5d24871ed302a83650a88b4abdd4415f58fedc1a0615baf220faca946ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "63fcb5d24871ed302a83650a88b4abdd4415f58fedc1a0615baf220faca946ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "63fcb5d24871ed302a83650a88b4abdd4415f58fedc1a0615baf220faca946ec", kill_on_drop: false }`
[INFO] [stdout] 63fcb5d24871ed302a83650a88b4abdd4415f58fedc1a0615baf220faca946ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34dfb259992107c3cdb02db1e75aaa5907c497ea5af7e0dc511c1c2b9d6f9ea9
[INFO] running `Command { std: "docker" "start" "-a" "34dfb259992107c3cdb02db1e75aaa5907c497ea5af7e0dc511c1c2b9d6f9ea9", 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.80s
[INFO] running `Command { std: "docker" "inspect" "34dfb259992107c3cdb02db1e75aaa5907c497ea5af7e0dc511c1c2b9d6f9ea9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34dfb259992107c3cdb02db1e75aaa5907c497ea5af7e0dc511c1c2b9d6f9ea9", kill_on_drop: false }`
[INFO] [stdout] 34dfb259992107c3cdb02db1e75aaa5907c497ea5af7e0dc511c1c2b9d6f9ea9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fd4f231eb913759c43c3a29abc16f1d1a48c741405a4209af6027b7c4a9d5791
[INFO] running `Command { std: "docker" "start" "-a" "fd4f231eb913759c43c3a29abc16f1d1a48c741405a4209af6027b7c4a9d5791", 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.31s
[INFO] running `Command { std: "docker" "inspect" "fd4f231eb913759c43c3a29abc16f1d1a48c741405a4209af6027b7c4a9d5791", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd4f231eb913759c43c3a29abc16f1d1a48c741405a4209af6027b7c4a9d5791", kill_on_drop: false }`
[INFO] [stdout] fd4f231eb913759c43c3a29abc16f1d1a48c741405a4209af6027b7c4a9d5791
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0dfa144ba41c6865ba8c7e506d5e201103b6feac524555e6efc0e6015e73c8a2
[INFO] running `Command { std: "docker" "start" "-a" "0dfa144ba41c6865ba8c7e506d5e201103b6feac524555e6efc0e6015e73c8a2", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/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/event.rs - event::Event (line 20) ... FAILED
[INFO] [stdout] test src/state.rs - state::State (line 27) ... FAILED
[INFO] [stdout] test src/aggregate.rs - aggregate::Aggregate (line 19) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[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/2fd6efc32704647e64d3d646d21c4c68eae100e4/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/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/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.24s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "0dfa144ba41c6865ba8c7e506d5e201103b6feac524555e6efc0e6015e73c8a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0dfa144ba41c6865ba8c7e506d5e201103b6feac524555e6efc0e6015e73c8a2", kill_on_drop: false }`
[INFO] [stdout] 0dfa144ba41c6865ba8c7e506d5e201103b6feac524555e6efc0e6015e73c8a2
