[INFO] fetching crate ljprs_es 0.1.0... [INFO] testing ljprs_es-0.1.0 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate ljprs_es 0.1.0 into /workspace/builds/worker-6-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-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate ljprs_es 0.1.0 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 7 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 70109d65b77ef5ac15b089dbe291edb5a6b1cbc11cdee41958f4f3a82d29c281 [INFO] running `Command { std: "docker" "start" "-a" "70109d65b77ef5ac15b089dbe291edb5a6b1cbc11cdee41958f4f3a82d29c281", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "70109d65b77ef5ac15b089dbe291edb5a6b1cbc11cdee41958f4f3a82d29c281", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70109d65b77ef5ac15b089dbe291edb5a6b1cbc11cdee41958f4f3a82d29c281", kill_on_drop: false }` [INFO] [stdout] 70109d65b77ef5ac15b089dbe291edb5a6b1cbc11cdee41958f4f3a82d29c281 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] db1307054ea6f261d355f9b290cfd30cf4dda2c39f47821d6aa9aab1418365bc [INFO] running `Command { std: "docker" "start" "-a" "db1307054ea6f261d355f9b290cfd30cf4dda2c39f47821d6aa9aab1418365bc", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling ljprs_es v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.30s [INFO] running `Command { std: "docker" "inspect" "db1307054ea6f261d355f9b290cfd30cf4dda2c39f47821d6aa9aab1418365bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db1307054ea6f261d355f9b290cfd30cf4dda2c39f47821d6aa9aab1418365bc", kill_on_drop: false }` [INFO] [stdout] db1307054ea6f261d355f9b290cfd30cf4dda2c39f47821d6aa9aab1418365bc [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2c97d5e3d98b6bb855103e08b92ef22833a38e2cc56efbcb01365b6f47d9dc6e [INFO] running `Command { std: "docker" "start" "-a" "2c97d5e3d98b6bb855103e08b92ef22833a38e2cc56efbcb01365b6f47d9dc6e", 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.33s [INFO] running `Command { std: "docker" "inspect" "2c97d5e3d98b6bb855103e08b92ef22833a38e2cc56efbcb01365b6f47d9dc6e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c97d5e3d98b6bb855103e08b92ef22833a38e2cc56efbcb01365b6f47d9dc6e", kill_on_drop: false }` [INFO] [stdout] 2c97d5e3d98b6bb855103e08b92ef22833a38e2cc56efbcb01365b6f47d9dc6e [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ffce4f2e52ff6f4c2ea33a48ffddac22432d593792875c39d516bd0c517dc316 [INFO] running `Command { std: "docker" "start" "-a" "ffce4f2e52ff6f4c2ea33a48ffddac22432d593792875c39d516bd0c517dc316", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ljprs_es-22eb65a1f973e8c3) [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] [stderr] error: doctest failed, to rerun pass `--doc` [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 `OrderState: serde::ser::Serialize` is not satisfied [INFO] [stdout] --> src/state.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 16 | fn id(&self) -> Self::Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `serde::ser::Serialize` is not implemented for `OrderState` [INFO] [stdout] --> src/state.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 6 | 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::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 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] bool [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] usize [INFO] [stdout] and 128 others [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `for<'de> OrderState: serde::de::Deserialize<'de>` is not satisfied [INFO] [stdout] --> src/state.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 16 | fn id(&self) -> Self::Identifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `OrderState` [INFO] [stdout] --> src/state.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 6 | 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::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 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 `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] | ^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `OrderState` [INFO] [stdout] --> src/state.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 6 | 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::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 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] | ^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `serde::ser::Serialize` is not implemented for `OrderState` [INFO] [stdout] --> src/state.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 6 | 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::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 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] bool [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] usize [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 12 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] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `for<'de> serde::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] 6 | 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::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 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] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `serde::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] 6 | 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::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 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] bool [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] usize [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] 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 `&_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/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/convert/mod.rs:221: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 [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 unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/aggregate.rs:58:17 [INFO] [stdout] | [INFO] [stdout] 42 | 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: 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.31s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ffce4f2e52ff6f4c2ea33a48ffddac22432d593792875c39d516bd0c517dc316", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ffce4f2e52ff6f4c2ea33a48ffddac22432d593792875c39d516bd0c517dc316", kill_on_drop: false }` [INFO] [stdout] ffce4f2e52ff6f4c2ea33a48ffddac22432d593792875c39d516bd0c517dc316