[INFO] fetching crate async-raft 0.6.1...
[INFO] testing async-raft-0.6.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate async-raft 0.6.1 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate async-raft 0.6.1
[INFO] finished tweaking crates.io crate async-raft 0.6.1
[INFO] tweaked toml for crates.io crate async-raft 0.6.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate async-raft 0.6.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 95 packages to latest compatible versions
[INFO] [stderr]       Adding derive_more v0.99.20 (available: v2.0.1)
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.9.2)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] [stderr]       Adding tracing-subscriber v0.2.25 (available: v0.3.20)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 58a3d645e1d2b703aa84a15bf21fec0027aeae1ce7422d8ea3e81af9f457d1f7
[INFO] running `Command { std: "docker" "start" "-a" "58a3d645e1d2b703aa84a15bf21fec0027aeae1ce7422d8ea3e81af9f457d1f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "58a3d645e1d2b703aa84a15bf21fec0027aeae1ce7422d8ea3e81af9f457d1f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58a3d645e1d2b703aa84a15bf21fec0027aeae1ce7422d8ea3e81af9f457d1f7", kill_on_drop: false }`
[INFO] [stdout] 58a3d645e1d2b703aa84a15bf21fec0027aeae1ce7422d8ea3e81af9f457d1f7
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ea30f8e8fd2a39dc69e173b402fbfacd341f01984bffb88eb38db9fc6489d879
[INFO] running `Command { std: "docker" "start" "-a" "ea30f8e8fd2a39dc69e173b402fbfacd341f01984bffb88eb38db9fc6489d879", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling async-raft v0.6.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]    --> src/core/admin.rs:163:33
[INFO] [stdout]     |
[INFO] [stdout] 163 |         self.joint_consensus_cb.push(rx_join); // Receiver for when the joint consensus is committed.
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]    --> src/core/admin.rs:227:35
[INFO] [stdout]     |
[INFO] [stdout] 227 |         self.uniform_consensus_cb.push(rx_uniform); // Receiver for when the uniform consensus is committed.
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]    --> src/core/append_entries.rs:265:37
[INFO] [stdout]     |
[INFO] [stdout] 265 |         self.replicate_to_sm_handle.push(handle);
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]    --> src/core/append_entries.rs:303:37
[INFO] [stdout]     |
[INFO] [stdout] 303 |         self.replicate_to_sm_handle.push(handle);
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]   --> src/core/client.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 self.joint_consensus_cb.push(rx_payload_committed); // Receiver for when the joint consensus is committed.
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]   --> src/core/client.rs:86:43
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 self.uniform_consensus_cb.push(rx_payload_committed); // Receiver for when the uniform consensus is committed.
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> src/replication/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct ReplicationStream<D: AppData> {
[INFO] [stdout]    |                   ----------------- field in this struct
[INFO] [stdout] 20 |     /// The spawn handle the `ReplicationCore` task.
[INFO] [stdout] 21 |     pub handle: JoinHandle<()>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.16s
[INFO] running `Command { std: "docker" "inspect" "ea30f8e8fd2a39dc69e173b402fbfacd341f01984bffb88eb38db9fc6489d879", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea30f8e8fd2a39dc69e173b402fbfacd341f01984bffb88eb38db9fc6489d879", kill_on_drop: false }`
[INFO] [stdout] ea30f8e8fd2a39dc69e173b402fbfacd341f01984bffb88eb38db9fc6489d879
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 50ccfdb3963374e0fb6720716c602cd3c6b7d27eb0edefe3be67ba3dac83ad63
[INFO] running `Command { std: "docker" "start" "-a" "50ccfdb3963374e0fb6720716c602cd3c6b7d27eb0edefe3be67ba3dac83ad63", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling tracing-log v0.1.4
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling tracing-serde v0.1.3
[INFO] [stderr]    Compiling matchers v0.0.1
[INFO] [stderr]    Compiling async-raft v0.6.1
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]    --> src/core/admin.rs:163:33
[INFO] [stdout]     |
[INFO] [stdout] 163 |         self.joint_consensus_cb.push(rx_join); // Receiver for when the joint consensus is committed.
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]    --> src/core/admin.rs:227:35
[INFO] [stdout]     |
[INFO] [stdout] 227 |         self.uniform_consensus_cb.push(rx_uniform); // Receiver for when the uniform consensus is committed.
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]    --> src/core/append_entries.rs:265:37
[INFO] [stdout]     |
[INFO] [stdout] 265 |         self.replicate_to_sm_handle.push(handle);
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]    --> src/core/append_entries.rs:303:37
[INFO] [stdout]     |
[INFO] [stdout] 303 |         self.replicate_to_sm_handle.push(handle);
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]   --> src/core/client.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 self.joint_consensus_cb.push(rx_payload_committed); // Receiver for when the joint consensus is committed.
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `futures::stream::FuturesOrdered::<Fut>::push`: use `push_back` instead
[INFO] [stdout]   --> src/core/client.rs:86:43
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 self.uniform_consensus_cb.push(rx_payload_committed); // Receiver for when the uniform consensus is committed.
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> src/replication/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct ReplicationStream<D: AppData> {
[INFO] [stdout]    |                   ----------------- field in this struct
[INFO] [stdout] 20 |     /// The spawn handle the `ReplicationCore` task.
[INFO] [stdout] 21 |     pub handle: JoinHandle<()>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling memstore v0.2.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tracing-subscriber v0.2.25
[INFO] [stderr]    Compiling async-raft v0.6.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:382:1
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[async_trait]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:382:1
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[async_trait]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:383:6
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl RaftNetwork<MemClientRequest> for RaftRouter {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `async_raft::RaftNetwork`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/network.rs:18:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     |           ----------- required by a bound in this trait
[INFO] [stdout]  17 | where
[INFO] [stdout]  18 |     D: AppData,
[INFO] [stdout]     |        ^^^^^^^ required by this bound in `RaftNetwork`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:383:6
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl RaftNetwork<MemClientRequest> for RaftRouter {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `async_raft::RaftNetwork`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/network.rs:18:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     |           ----------- required by a bound in this trait
[INFO] [stdout]  17 | where
[INFO] [stdout]  18 |     D: AppData,
[INFO] [stdout]     |        ^^^^^^^ required by this bound in `RaftNetwork`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:385:54
[INFO] [stdout]     |
[INFO] [stdout] 385 |     async fn append_entries(&self, target: u64, rpc: AppendEntriesRequest<MemClientRequest>) -> Result<AppendEntriesResponse> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |         ^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:385:54
[INFO] [stdout]     |
[INFO] [stdout] 385 |     async fn append_entries(&self, target: u64, rpc: AppendEntriesRequest<MemClientRequest>) -> Result<AppendEntriesResponse> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:69
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ---------                                        ^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:60
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |         ^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:69
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ---------                                        ^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:60
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:382:1
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[async_trait]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:382:1
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[async_trait]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:383:6
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl RaftNetwork<MemClientRequest> for RaftRouter {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `async_raft::RaftNetwork`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/network.rs:18:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     |           ----------- required by a bound in this trait
[INFO] [stdout]  17 | where
[INFO] [stdout]  18 |     D: AppData,
[INFO] [stdout]     |        ^^^^^^^ required by this bound in `RaftNetwork`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:385:54
[INFO] [stdout]     |
[INFO] [stdout] 385 |     async fn append_entries(&self, target: u64, rpc: AppendEntriesRequest<MemClientRequest>) -> Result<AppendEntriesResponse> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:383:6
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl RaftNetwork<MemClientRequest> for RaftRouter {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `async_raft::RaftNetwork`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/network.rs:18:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     |           ----------- required by a bound in this trait
[INFO] [stdout]  17 | where
[INFO] [stdout]  18 |     D: AppData,
[INFO] [stdout]     |        ^^^^^^^ required by this bound in `RaftNetwork`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |         ^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:69
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ---------                                        ^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:60
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:385:54
[INFO] [stdout]     |
[INFO] [stdout] 385 |     async fn append_entries(&self, target: u64, rpc: AppendEntriesRequest<MemClientRequest>) -> Result<AppendEntriesResponse> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |         ^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:69
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ---------                                        ^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:60
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         rt.insert(id, (node, memstore));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:382:1
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[async_trait]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let opt_handles = rt.remove(&id);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn remove_node(&self, id: NodeId) -> Option<(MemRaft, Arc<MemStore>)> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:383:6
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl RaftNetwork<MemClientRequest> for RaftRouter {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `async_raft::RaftNetwork`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/network.rs:18:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     |           ----------- required by a bound in this trait
[INFO] [stdout]  17 | where
[INFO] [stdout]  18 |     D: AppData,
[INFO] [stdout]     |        ^^^^^^^ required by this bound in `RaftNetwork`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:385:54
[INFO] [stdout]     |
[INFO] [stdout] 385 |     async fn append_entries(&self, target: u64, rpc: AppendEntriesRequest<MemClientRequest>) -> Result<AppendEntriesResponse> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                                            ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |         ^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let members: HashSet<NodeId> = rt.keys().cloned().collect();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:69
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ---------                                        ^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:50:60
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> Raft<D, R, N, S> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^ required by this bound in `Raft::<D, R, N, S>::new`
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn new(id: NodeId, config: Arc<Config>, network: Arc<N>, storage: Arc<S>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, _>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let node = Raft::new(id, self.config.clone(), self.clone(), memstore.clone());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, _>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         rt.get(&node)
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:382:1
[INFO] [stdout]     |
[INFO] [stdout] 382 | #[async_trait]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `AppendEntriesRequest`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/raft.rs:340:36
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct AppendEntriesRequest<D: AppData> {
[INFO] [stdout]     |                                    ^^^^^^^ required by this bound in `AppendEntriesRequest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |_______________________________________________________________________________^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `initialize` exists for struct `Raft<ClientRequest, ClientResponse, RaftRouter, MemStore>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout] 84 | |             .0
[INFO] [stdout] 85 | |             .initialize(members.clone())
[INFO] [stdout]    | |             -^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub struct ClientRequest {
[INFO] [stdout]    |   ------------------------ doesn't satisfy `ClientRequest: AppData`
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub struct ClientResponse(Option<String>);
[INFO] [stdout]    |   ------------------------- doesn't satisfy `ClientResponse: AppDataResponse`
[INFO] [stdout] ...
[INFO] [stdout] 77 |   pub struct MemStore {
[INFO] [stdout]    |   ------------------- doesn't satisfy `_: RaftStorage<ClientRequest, ClientResponse>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `ClientRequest: AppData`
[INFO] [stdout]            `ClientResponse: AppDataResponse`
[INFO] [stdout]            `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/non_voter_restart.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | use async_raft::{Config, NodeId, Raft, State};
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout]    | |________________________________________________________________________________^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/non_voter_restart.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | use async_raft::{Config, NodeId, Raft, State};
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/non_voter_restart.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | use async_raft::{Config, NodeId, Raft, State};
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `initialize` exists for struct `Raft<ClientRequest, ClientResponse, RaftRouter, MemStore>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout] 84 | |             .0
[INFO] [stdout] 85 | |             .initialize(members.clone())
[INFO] [stdout]    | |             -^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub struct ClientRequest {
[INFO] [stdout]    |   ------------------------ doesn't satisfy `ClientRequest: AppData`
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub struct ClientResponse(Option<String>);
[INFO] [stdout]    |   ------------------------- doesn't satisfy `ClientResponse: AppDataResponse`
[INFO] [stdout] ...
[INFO] [stdout] 77 |   pub struct MemStore {
[INFO] [stdout]    |   ------------------- doesn't satisfy `_: RaftStorage<ClientRequest, ClientResponse>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `ClientRequest: AppData`
[INFO] [stdout]            `ClientResponse: AppDataResponse`
[INFO] [stdout]            `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `initialize` exists for struct `Raft<ClientRequest, ClientResponse, RaftRouter, MemStore>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout] 84 | |             .0
[INFO] [stdout] 85 | |             .initialize(members.clone())
[INFO] [stdout]    | |             -^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub struct ClientRequest {
[INFO] [stdout]    |   ------------------------ doesn't satisfy `ClientRequest: AppData`
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub struct ClientResponse(Option<String>);
[INFO] [stdout]    |   ------------------------- doesn't satisfy `ClientResponse: AppDataResponse`
[INFO] [stdout] ...
[INFO] [stdout] 77 |   pub struct MemStore {
[INFO] [stdout]    |   ------------------- doesn't satisfy `_: RaftStorage<ClientRequest, ClientResponse>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `ClientRequest: AppData`
[INFO] [stdout]            `ClientResponse: AppDataResponse`
[INFO] [stdout]            `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait AppDataResponse: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ClientResponse(Option<String>);
[INFO] [stdout]    | ------------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:63:49
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut rt = self.routing_table.write().await;
[INFO] [stdout]    |                                                 ^^^^^ the trait `async_raft::RaftStorage<ClientRequest, ClientResponse>` is not implemented for `MemStore`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/storage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait RaftStorage<D, R>: Send + Sync + 'static
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct MemStore {
[INFO] [stdout]    | ------------------- this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:71
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]    --> tests/fixtures/mod.rs:383:6
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl RaftNetwork<MemClientRequest> for RaftRouter {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]     |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout]  18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]     |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct ClientRequest {
[INFO] [stdout]     | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     | ----------------------------------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `async_raft::RaftNetwork`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/network.rs:18:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]     |           ----------- required by a bound in this trait
[INFO] [stdout]  17 | where
[INFO] [stdout]  18 |     D: AppData,
[INFO] [stdout]     |        ^^^^^^^ required by this bound in `RaftNetwork`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientRequest: AppData` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:93:18
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let rt = self.routing_table.read().await;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppData` is not implemented for `ClientRequest`
[INFO] [stdout]    |
[INFO] [stdout] note: there are multiple different versions of crate `async_raft` in the dependency graph
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait AppData: Clone + Send + Sync + Serialize + DeserializeOwned + 'static {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/fixtures/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | use async_raft::async_trait::async_trait;
[INFO] [stdout]    |     ---------- one version of crate `async_raft` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 18 | use memstore::{ClientRequest as MemClientRequest, ClientResponse as MemClientResponse, MemStore};
[INFO] [stdout]    |     -------- one version of crate `async_raft` used here, as a dependency of crate `memstore`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ClientRequest {
[INFO] [stdout]    | ------------------------ this type doesn't implement the required trait
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-raft-0.6.1/src/network.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait RaftNetwork<D>: Send + Sync + 'static
[INFO] [stdout]    | ----------------------------------------------- this is the found trait
[INFO] [stdout]    = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Raft`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/raft.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Raft<D: AppData, R: AppDataResponse, N: RaftNetwork<D>, S: RaftStorage<D, R>> {
[INFO] [stdout]    |                    ^^^^^^^ required by this bound in `Raft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `initialize` exists for struct `Raft<ClientRequest, ClientResponse, RaftRouter, MemStore>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         rt.get(&node)
[INFO] [stdout] 83 | |             .ok_or_else(|| anyhow!("node {} not found in routing table", node))?
[INFO] [stdout] 84 | |             .0
[INFO] [stdout] 85 | |             .initialize(members.clone())
[INFO] [stdout]    | |             -^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memstore-0.2.0/src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 |   pub struct ClientRequest {
[INFO] [stdout]    |   ------------------------ doesn't satisfy `ClientRequest: AppData`
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub struct ClientResponse(Option<String>);
[INFO] [stdout]    |   ------------------------- doesn't satisfy `ClientResponse: AppDataResponse`
[INFO] [stdout] ...
[INFO] [stdout] 77 |   pub struct MemStore {
[INFO] [stdout]    |   ------------------- doesn't satisfy `_: RaftStorage<ClientRequest, ClientResponse>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `ClientRequest: AppData`
[INFO] [stdout]            `ClientResponse: AppDataResponse`
[INFO] [stdout]            `MemStore: async_raft::RaftStorage<ClientRequest, ClientResponse>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ClientResponse: AppDataResponse` is not satisfied
[INFO] [stdout]   --> tests/fixtures/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |     routing_table: RwLock<BTreeMap<NodeId, (MemRaft, Arc<MemStore>)>>,
[INFO] [stdout]    |                                             ^^^^^^^ the trait `AppDataResponse` is not implemented for `ClientResponse`
[WARN] too many lines in the log, truncating it
