[INFO] fetching crate tcp_message_io 1.0.4...
[INFO] testing tcp_message_io-1.0.4 against 1.75.0 for beta-1.76-1
[INFO] extracting crate tcp_message_io 1.0.4 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate tcp_message_io 1.0.4 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate tcp_message_io 1.0.4
[INFO] finished tweaking crates.io crate tcp_message_io 1.0.4
[INFO] tweaked toml for crates.io crate tcp_message_io 1.0.4 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f090b2d6998476a5c6dc1cdd6074e7b9f2652ac76fae5ff0ed3ae370698705dd
[INFO] running `Command { std: "docker" "start" "-a" "f090b2d6998476a5c6dc1cdd6074e7b9f2652ac76fae5ff0ed3ae370698705dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f090b2d6998476a5c6dc1cdd6074e7b9f2652ac76fae5ff0ed3ae370698705dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f090b2d6998476a5c6dc1cdd6074e7b9f2652ac76fae5ff0ed3ae370698705dd", kill_on_drop: false }`
[INFO] [stdout] f090b2d6998476a5c6dc1cdd6074e7b9f2652ac76fae5ff0ed3ae370698705dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8de37ae4bc29cef56614a7940f8cfc9478a82a60b69842cd7285072c8fe27d3c
[INFO] running `Command { std: "docker" "start" "-a" "8de37ae4bc29cef56614a7940f8cfc9478a82a60b69842cd7285072c8fe27d3c", kill_on_drop: false }`
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling tcp_message_io v1.0.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.56s
[INFO] running `Command { std: "docker" "inspect" "8de37ae4bc29cef56614a7940f8cfc9478a82a60b69842cd7285072c8fe27d3c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8de37ae4bc29cef56614a7940f8cfc9478a82a60b69842cd7285072c8fe27d3c", kill_on_drop: false }`
[INFO] [stdout] 8de37ae4bc29cef56614a7940f8cfc9478a82a60b69842cd7285072c8fe27d3c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66075f0c8ddb760065c90bae74750aee4d464c64c137906108c9c8f2d1d980bf
[INFO] running `Command { std: "docker" "start" "-a" "66075f0c8ddb760065c90bae74750aee4d464c64c137906108c9c8f2d1d980bf", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling serial_test_derive v2.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling serial_test v2.0.0
[INFO] [stderr]    Compiling tcp_message_io v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]    --> src/crate_serde.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     use serde::{Deserialize, Serialize};
[INFO] [stdout]     |         ^^^^^ use of undeclared crate or module `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]    --> src/crate_serde.rs:230:21
[INFO] [stdout]     |
[INFO] [stdout] 230 |     #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]    --> src/crate_serde.rs:230:32
[INFO] [stdout]     |
[INFO] [stdout] 230 |     #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]    --> src/crate_serde.rs:240:21
[INFO] [stdout]     |
[INFO] [stdout] 240 |     #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]    --> src/crate_serde.rs:240:32
[INFO] [stdout]     |
[INFO] [stdout] 240 |     #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]    --> src/crate_serde.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |     #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]    --> src/crate_serde.rs:254:39
[INFO] [stdout]     |
[INFO] [stdout] 254 |     #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:287:52
[INFO] [stdout]     |
[INFO] [stdout] 287 |             Request::Hello => TCPResponse::Message(Response::World),
[INFO] [stdout]     |                               -------------------- ^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse::Message`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse::Message`
[INFO] [stdout] ...
[INFO] [stdout] 95  |     Message(A),
[INFO] [stdout]     |     ------- required by a bound in this tuple variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:287:31
[INFO] [stdout]     |
[INFO] [stdout] 287 |             Request::Hello => TCPResponse::Message(Response::World),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 90  | pub enum TCPResponse<A>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout] 91  | where
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:288:61
[INFO] [stdout]     |
[INFO] [stdout] 288 |             Request::Double { num } => TCPResponse::Message(Response::Result(2 * num)),
[INFO] [stdout]     |                                        -------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse::Message`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse::Message`
[INFO] [stdout] ...
[INFO] [stdout] 95  |     Message(A),
[INFO] [stdout]     |     ------- required by a bound in this tuple variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:288:40
[INFO] [stdout]     |
[INFO] [stdout] 288 |             Request::Double { num } => TCPResponse::Message(Response::Result(2 * num)),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 90  | pub enum TCPResponse<A>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout] 91  | where
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:289:59
[INFO] [stdout]     |
[INFO] [stdout] 289 |             Request::Sum { a, b } => TCPResponse::Message(Response::Result(a + b)),
[INFO] [stdout]     |                                      -------------------- ^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse::Message`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse::Message`
[INFO] [stdout] ...
[INFO] [stdout] 95  |     Message(A),
[INFO] [stdout]     |     ------- required by a bound in this tuple variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:289:38
[INFO] [stdout]     |
[INFO] [stdout] 289 |             Request::Sum { a, b } => TCPResponse::Message(Response::Result(a + b)),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 90  | pub enum TCPResponse<A>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout] 91  | where
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:290:31
[INFO] [stdout]     |
[INFO] [stdout] 290 |             Request::Close => TCPResponse::CloseConnection,
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse::CloseConnection`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse::CloseConnection`
[INFO] [stdout] ...
[INFO] [stdout] 99  |     CloseConnection,
[INFO] [stdout]     |     --------------- required by a bound in this unit variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:291:36
[INFO] [stdout]     |
[INFO] [stdout] 291 |             Request::CauseError => bail!("An error occurred".to_string()),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 90  | pub enum TCPResponse<A>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout] 91  | where
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse`
[INFO] [stdout]     = note: this error originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:292:30
[INFO] [stdout]     |
[INFO] [stdout] 292 |             Request::Stop => TCPResponse::StopServer,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse::StopServer`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse::StopServer`
[INFO] [stdout] ...
[INFO] [stdout] 103 |     StopServer,
[INFO] [stdout]     |     ---------- required by a bound in this unit variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Ok(match req {
[INFO] [stdout]     |         ^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 90  | pub enum TCPResponse<A>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout] 91  | where
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 | /         Ok(match req {
[INFO] [stdout] 287 | |             Request::Hello => TCPResponse::Message(Response::World),
[INFO] [stdout] 288 | |             Request::Double { num } => TCPResponse::Message(Response::Result(2 * num)),
[INFO] [stdout] 289 | |             Request::Sum { a, b } => TCPResponse::Message(Response::Result(a + b)),
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |             Request::Stop => TCPResponse::StopServer,
[INFO] [stdout] 293 | |         })
[INFO] [stdout]     | |__________^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 90  | pub enum TCPResponse<A>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout] 91  | where
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer::<Q, A, H, F>::new`
[INFO] [stdout]    --> src/crate_serde.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer::<Q, A, H, F>::new`
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn new(host: impl Into<String>, port: u16, handler: H) -> Arc<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer::<Q, A, H, F>::new`
[INFO] [stdout]    --> src/crate_serde.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer::<Q, A, H, F>::new`
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn new(host: impl Into<String>, port: u16, handler: H) -> Arc<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 122 | where
[INFO] [stdout] 123 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `with_inactivity_timeout` exists for struct `Arc<TCPServer<Request, Response, fn(Request) -> impl Future<Output = ...> {handle_requests}, ...>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:263:18
[INFO] [stdout]     |
[INFO] [stdout] 231 |       enum Request {
[INFO] [stdout]     |       ------------ doesn't satisfy `crate_serde::tests::Request: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 255 |       enum Response {
[INFO] [stdout]     |       ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 262 | /             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout] 263 | |                 .with_inactivity_timeout(15)
[INFO] [stdout]     | |                 -^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/tcp_message_io-c69ebca306aa4979.long-type-16130436560830976750.txt'
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `Response: SerializeMessage`
[INFO] [stdout]       `crate_serde::tests::Request: SerializeMessage`
[INFO] [stdout]    --> src/crate_serde.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<Q, A, H, F> TCPServer<Q, A, H, F>
[INFO] [stdout]     |                  ---------------------
[INFO] [stdout] 137 | where
[INFO] [stdout] 138 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] 139 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 122 | where
[INFO] [stdout] 123 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer::<Q, A, H, F>::new`
[INFO] [stdout]    --> src/crate_serde.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer::<Q, A, H, F>::new`
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn new(host: impl Into<String>, port: u16, handler: H) -> Arc<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer::<Q, A, H, F>::new`
[INFO] [stdout]    --> src/crate_serde.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer::<Q, A, H, F>::new`
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn new(host: impl Into<String>, port: u16, handler: H) -> Arc<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 122 | where
[INFO] [stdout] 123 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `with_inactivity_timeout` exists for struct `Arc<TCPServer<Request, Response, fn(Request) -> impl Future<Output = ...> {handle_requests}, ...>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:275:18
[INFO] [stdout]     |
[INFO] [stdout] 231 |       enum Request {
[INFO] [stdout]     |       ------------ doesn't satisfy `crate_serde::tests::Request: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 255 |       enum Response {
[INFO] [stdout]     |       ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 274 | /             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout] 275 | |                 .with_inactivity_timeout(15)
[INFO] [stdout]     | |                 -^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/tcp_message_io-c69ebca306aa4979.long-type-16130436560830976750.txt'
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `Response: SerializeMessage`
[INFO] [stdout]       `crate_serde::tests::Request: SerializeMessage`
[INFO] [stdout]    --> src/crate_serde.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<Q, A, H, F> TCPServer<Q, A, H, F>
[INFO] [stdout]     |                  ---------------------
[INFO] [stdout] 137 | where
[INFO] [stdout] 138 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] 139 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 122 | where
[INFO] [stdout] 123 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:276:67
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 .with_bad_request_handler(|| TCPResponse::Message(Response::World))
[INFO] [stdout]     |                                              -------------------- ^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse::Message`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse::Message`
[INFO] [stdout] ...
[INFO] [stdout] 95  |     Message(A),
[INFO] [stdout]     |     ------- required by a bound in this tuple variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:276:46
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 .with_bad_request_handler(|| TCPResponse::Message(Response::World))
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPResponse`
[INFO] [stdout]    --> src/crate_serde.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 90  | pub enum TCPResponse<A>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout] 91  | where
[INFO] [stdout] 92  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `connect` exists for struct `TCPClient<_, Response>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:302:56
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     | -------------------------- function or associated item `connect` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     enum Response {
[INFO] [stdout]     |     ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 302 |             let mut client = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                                                        ^^^^^^^ function or associated item cannot be called on `TCPClient<_, Response>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `Response: SerializeMessage` was not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout] 56  | impl<Q, A> TCPClient<Q, A>
[INFO] [stdout]     |            ---------------
[INFO] [stdout] ...
[INFO] [stdout] 59  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:302:30
[INFO] [stdout]     |
[INFO] [stdout] 302 |             let mut client = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPClient`
[INFO] [stdout]    --> src/crate_serde.rs:49:8
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `connect` exists for struct `TCPClient<_, Response>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:333:56
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     | -------------------------- function or associated item `connect` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     enum Response {
[INFO] [stdout]     |     ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 333 |             let mut client = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                                                        ^^^^^^^ function or associated item cannot be called on `TCPClient<_, Response>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `Response: SerializeMessage` was not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout] 56  | impl<Q, A> TCPClient<Q, A>
[INFO] [stdout]     |            ---------------
[INFO] [stdout] ...
[INFO] [stdout] 59  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:333:30
[INFO] [stdout]     |
[INFO] [stdout] 333 |             let mut client = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPClient`
[INFO] [stdout]    --> src/crate_serde.rs:49:8
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `connect` exists for struct `TCPClient<_, Response>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:348:56
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     | -------------------------- function or associated item `connect` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     enum Response {
[INFO] [stdout]     |     ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 348 |             let mut client = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                                                        ^^^^^^^ function or associated item cannot be called on `TCPClient<_, Response>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `Response: SerializeMessage` was not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout] 56  | impl<Q, A> TCPClient<Q, A>
[INFO] [stdout]     |            ---------------
[INFO] [stdout] ...
[INFO] [stdout] 59  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:348:30
[INFO] [stdout]     |
[INFO] [stdout] 348 |             let mut client = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPClient`
[INFO] [stdout]    --> src/crate_serde.rs:49:8
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `connect` exists for struct `TCPClient<_, Response>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:365:56
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     | -------------------------- function or associated item `connect` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     enum Response {
[INFO] [stdout]     |     ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 365 |             let mut client = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                                                        ^^^^^^^ function or associated item cannot be called on `TCPClient<_, Response>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `Response: SerializeMessage` was not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout] 56  | impl<Q, A> TCPClient<Q, A>
[INFO] [stdout]     |            ---------------
[INFO] [stdout] ...
[INFO] [stdout] 59  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:365:30
[INFO] [stdout]     |
[INFO] [stdout] 365 |             let mut client = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPClient`
[INFO] [stdout]    --> src/crate_serde.rs:49:8
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `connect` exists for struct `TCPClient<_, Response>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:384:57
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     | -------------------------- function or associated item `connect` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     enum Response {
[INFO] [stdout]     |     ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 384 |             let mut client1 = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                                                         ^^^^^^^ function or associated item cannot be called on `TCPClient<_, Response>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `Response: SerializeMessage` was not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout] 56  | impl<Q, A> TCPClient<Q, A>
[INFO] [stdout]     |            ---------------
[INFO] [stdout] ...
[INFO] [stdout] 59  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:384:31
[INFO] [stdout]     |
[INFO] [stdout] 384 |             let mut client1 = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPClient`
[INFO] [stdout]    --> src/crate_serde.rs:49:8
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `connect` exists for struct `TCPClient<_, Response>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:385:57
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     | -------------------------- function or associated item `connect` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     enum Response {
[INFO] [stdout]     |     ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 385 |             let mut client2 = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                                                         ^^^^^^^ function or associated item cannot be called on `TCPClient<_, Response>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `Response: SerializeMessage` was not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout] 56  | impl<Q, A> TCPClient<Q, A>
[INFO] [stdout]     |            ---------------
[INFO] [stdout] ...
[INFO] [stdout] 59  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:385:31
[INFO] [stdout]     |
[INFO] [stdout] 385 |             let mut client2 = TCPClient::<_, Response>::connect(HOST, PORT).await.unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPClient`
[INFO] [stdout]    --> src/crate_serde.rs:49:8
[INFO] [stdout]     |
[INFO] [stdout] 45  | pub struct TCPClient<Q, A>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49  |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer::<Q, A, H, F>::new`
[INFO] [stdout]    --> src/crate_serde.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer::<Q, A, H, F>::new`
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn new(host: impl Into<String>, port: u16, handler: H) -> Arc<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer::<Q, A, H, F>::new`
[INFO] [stdout]    --> src/crate_serde.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer::<Q, A, H, F>::new`
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn new(host: impl Into<String>, port: u16, handler: H) -> Arc<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 122 | where
[INFO] [stdout] 123 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `with_inactivity_timeout` exists for struct `Arc<TCPServer<Request, Response, fn(Request) -> impl Future<Output = ...> {handle_requests}, ...>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:411:18
[INFO] [stdout]     |
[INFO] [stdout] 231 |       enum Request {
[INFO] [stdout]     |       ------------ doesn't satisfy `crate_serde::tests::Request: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 255 |       enum Response {
[INFO] [stdout]     |       ------------- doesn't satisfy `Response: SerializeMessage`
[INFO] [stdout] ...
[INFO] [stdout] 410 | /             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout] 411 | |                 .with_inactivity_timeout(15)
[INFO] [stdout]     | |                 -^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/tcp_message_io-c69ebca306aa4979.long-type-16130436560830976750.txt'
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `Response: SerializeMessage`
[INFO] [stdout]       `crate_serde::tests::Request: SerializeMessage`
[INFO] [stdout]    --> src/crate_serde.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<Q, A, H, F> TCPServer<Q, A, H, F>
[INFO] [stdout]     |                  ---------------------
[INFO] [stdout] 137 | where
[INFO] [stdout] 138 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] 139 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `SerializeMessage` must be implemented
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `crate_serde::tests::Request: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `crate_serde::tests::Request`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] 122 | where
[INFO] [stdout] 123 |     Q: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Response: SerializeMessage` is not satisfied
[INFO] [stdout]    --> src/crate_serde.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |             TCPServer::new(HOST, PORT, handle_requests)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SerializeMessage` is not implemented for `Response`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/crate_serde.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout] 19  | pub trait SerializeMessage: Sized + Send + Sync + 'static {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `crate_serde::TCPServer`
[INFO] [stdout]    --> src/crate_serde.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TCPServer<Q, A, H, F>
[INFO] [stdout]     |            --------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     A: SerializeMessage,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `TCPServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 53 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tcp_message_io` (lib test) due to 54 previous errors
[INFO] running `Command { std: "docker" "inspect" "66075f0c8ddb760065c90bae74750aee4d464c64c137906108c9c8f2d1d980bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66075f0c8ddb760065c90bae74750aee4d464c64c137906108c9c8f2d1d980bf", kill_on_drop: false }`
[INFO] [stdout] 66075f0c8ddb760065c90bae74750aee4d464c64c137906108c9c8f2d1d980bf
