[INFO] fetching crate partial-enum 0.0.4...
[INFO] testing partial-enum-0.0.4 against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] extracting crate partial-enum 0.0.4 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate partial-enum 0.0.4
[INFO] finished tweaking crates.io crate partial-enum 0.0.4
[INFO] tweaked toml for crates.io crate partial-enum 0.0.4 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate partial-enum 0.0.4 on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 4 packages to latest compatible versions
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.106)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e00364ce0a4c32cfb0c7bb9ef92e9c89f9cc09aa132b97593b399b8c39078f0c
[INFO] running `Command { std: "docker" "start" "-a" "e00364ce0a4c32cfb0c7bb9ef92e9c89f9cc09aa132b97593b399b8c39078f0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e00364ce0a4c32cfb0c7bb9ef92e9c89f9cc09aa132b97593b399b8c39078f0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e00364ce0a4c32cfb0c7bb9ef92e9c89f9cc09aa132b97593b399b8c39078f0c", kill_on_drop: false }`
[INFO] [stdout] e00364ce0a4c32cfb0c7bb9ef92e9c89f9cc09aa132b97593b399b8c39078f0c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4f34e3b6b82ecd711a87a6615303e7847c54ddbd0f1b15986e0efdc89d0e3a14
[INFO] running `Command { std: "docker" "start" "-a" "4f34e3b6b82ecd711a87a6615303e7847c54ddbd0f1b15986e0efdc89d0e3a14", kill_on_drop: false }`
[INFO] [stderr]    Compiling partial-enum v0.0.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.27s
[INFO] running `Command { std: "docker" "inspect" "4f34e3b6b82ecd711a87a6615303e7847c54ddbd0f1b15986e0efdc89d0e3a14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f34e3b6b82ecd711a87a6615303e7847c54ddbd0f1b15986e0efdc89d0e3a14", kill_on_drop: false }`
[INFO] [stdout] 4f34e3b6b82ecd711a87a6615303e7847c54ddbd0f1b15986e0efdc89d0e3a14
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 000c28ff87bd58bb932742c0ff4e2eb7417f2f88f5961474e5d9de19e0b5d114
[INFO] running `Command { std: "docker" "start" "-a" "000c28ff87bd58bb932742c0ff4e2eb7417f2f88f5961474e5d9de19e0b5d114", kill_on_drop: false }`
[INFO] [stderr]    Compiling partial-enum v0.0.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.28s
[INFO] running `Command { std: "docker" "inspect" "000c28ff87bd58bb932742c0ff4e2eb7417f2f88f5961474e5d9de19e0b5d114", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "000c28ff87bd58bb932742c0ff4e2eb7417f2f88f5961474e5d9de19e0b5d114", kill_on_drop: false }`
[INFO] [stdout] 000c28ff87bd58bb932742c0ff4e2eb7417f2f88f5961474e5d9de19e0b5d114
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 21a240ccdaeebb8a0b4956b320937abbd0f7c1217907e2da77cd71d6bcbb4f5a
[INFO] running `Command { std: "docker" "start" "-a" "21a240ccdaeebb8a0b4956b320937abbd0f7c1217907e2da77cd71d6bcbb4f5a", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/partial_enum-1d0dc782e5dadfcc)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test permutation::tests::test_permutations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests partial_enum
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test src/lib.rs - (line 91) ... FAILED
[INFO] [stdout] test src/lib.rs - derive_error (line 220) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 16) ... ok
[INFO] [stdout] test src/lib.rs - derive_error (line 235) ... ok
[INFO] [stdout] test src/lib.rs - (line 49) ... ok
[INFO] [stdout] test src/lib.rs - (line 136) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - (line 91) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:111:32
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn connect() -> Result<Socket, E<ConnectError, !, !>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:111:32
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn connect() -> Result<Socket, E<ConnectError, !, !>> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:106:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:115:45
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn read(sock: &mut Socket) -> Result<Bytes, E<!, ReadError, !>> {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:115:45
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn read(sock: &mut Socket) -> Result<Bytes, E<!, ReadError, !>> {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:106:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:119:44
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:119:44
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:123:55
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn next_message(sock: &mut Socket) -> Result<Message, E<!, ReadError, DecodeError>> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:102:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          expected `ConnectError`, found `()`
[INFO] [stdout]    |          arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:102:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          expected `ReadError`, found `()`
[INFO] [stdout]    |          arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:102:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          expected `DecodeError`, found `()`
[INFO] [stdout]    |          arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/lib.rs:106:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:112:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Ok(Socket)
[INFO] [stdout]    |     ^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:112:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Ok(Socket)
[INFO] [stdout]    |     ^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:106:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:116:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok(Bytes)
[INFO] [stdout]    |     ^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:116:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok(Bytes)
[INFO] [stdout]    |     ^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:106:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:120:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Err(DecodeError)?
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:120:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Err(DecodeError)?
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:120:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Err(DecodeError)?
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:120:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Err(DecodeError)?
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:120:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Err(DecodeError)?
[INFO] [stdout]    |     ^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:120:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Err(DecodeError)?
[INFO] [stdout]    |     ^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:124:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:124:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:106:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:124:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:124:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:106:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:124:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let payload = read(sock)?;
[INFO] [stdout]    |                             ^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:124:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let payload = read(sock)?;
[INFO] [stdout]    |                             ^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:106:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `partial::Error<!, ReadError, DecodeError>`
[INFO] [stdout]   --> src/lib.rs:124:29
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn next_message(sock: &mut Socket) -> Result<Message, E<!, ReadError, DecodeError>> {
[INFO] [stdout]    |                                       --------------------------------------------- expected `partial::Error<!, ReadError, DecodeError>` because of this
[INFO] [stdout] 36 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ----------^ the trait `From<partial::Error<!, ReadError, !>>` is not implemented for `partial::Error<!, ReadError, DecodeError>`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this can't be annotated with `?` because it has type `Result<_, partial::Error<!, ReadError, !>>`
[INFO] [stdout]    |
[INFO] [stdout] note: `partial::Error<!, ReadError, DecodeError>` needs to implement `From<partial::Error<!, ReadError, !>>`
[INFO] [stdout]   --> src/lib.rs:102:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: alternatively, `partial::Error<!, ReadError, !>` needs to implement `Into<partial::Error<!, ReadError, DecodeError>>`
[INFO] [stdout]   --> src/lib.rs:102:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `partial::Error<Connect, Read, DecodeError>` implements `From<DecodeError>`
[INFO] [stdout]              `partial::Error<Connect, ReadError, Decode>` implements `From<ReadError>`
[INFO] [stdout]              `partial::Error<ConnectError, Read, Decode>` implements `From<ConnectError>`
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:125:19
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:125:19
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:125:19
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:125:19
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:125:34
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let message = decode(payload)?;
[INFO] [stdout]    |                                  ^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:125:34
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let message = decode(payload)?;
[INFO] [stdout]    |                                  ^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout] 17 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `partial::Error<!, ReadError, DecodeError>`
[INFO] [stdout]   --> src/lib.rs:125:34
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn next_message(sock: &mut Socket) -> Result<Message, E<!, ReadError, DecodeError>> {
[INFO] [stdout]    |                                       --------------------------------------------- expected `partial::Error<!, ReadError, DecodeError>` because of this
[INFO] [stdout] 36 |     let payload = read(sock)?;
[INFO] [stdout] 37 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ---------------^ the trait `From<partial::Error<!, !, DecodeError>>` is not implemented for `partial::Error<!, ReadError, DecodeError>`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this can't be annotated with `?` because it has type `Result<_, partial::Error<!, !, DecodeError>>`
[INFO] [stdout]    |
[INFO] [stdout] note: `partial::Error<!, ReadError, DecodeError>` needs to implement `From<partial::Error<!, !, DecodeError>>`
[INFO] [stdout]   --> src/lib.rs:102:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: alternatively, `partial::Error<!, !, DecodeError>` needs to implement `Into<partial::Error<!, ReadError, DecodeError>>`
[INFO] [stdout]   --> src/lib.rs:102:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `partial::Error<Connect, Read, DecodeError>` implements `From<DecodeError>`
[INFO] [stdout]              `partial::Error<Connect, ReadError, Decode>` implements `From<ReadError>`
[INFO] [stdout]              `partial::Error<ConnectError, Read, Decode>` implements `From<ConnectError>`
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:126:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Ok(message)
[INFO] [stdout]    |     ^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:104:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 16 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 35 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_error (line 220) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:227:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          expected `Foo`, found `()`
[INFO] [stdout]    |          arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/lib.rs:229:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Foo(Foo),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:227:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          expected `Bar`, found `()`
[INFO] [stdout]    |          arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/lib.rs:230:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Bar(Bar),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 136) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:155:32
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn connect() -> Result<Socket, E<ConnectError, !, !>> { Ok(Socket) }
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:155:32
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn connect() -> Result<Socket, E<ConnectError, !, !>> { Ok(Socket) }
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:156:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn read(sock: &mut Socket) -> Result<Bytes, E<!, ReadError, !>> { Ok(Bytes) }
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:156:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn read(sock: &mut Socket) -> Result<Bytes, E<!, ReadError, !>> { Ok(Bytes) }
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:157:44
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> { Err(DecodeError)? }
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:157:44
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> { Err(DecodeError)? }
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:158:55
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn next_message(sock: &mut Socket) -> Result<Message, E<!, ReadError, DecodeError>> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:148:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          expected `ConnectError`, found `()`
[INFO] [stdout]    |          arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:148:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          expected `ReadError`, found `()`
[INFO] [stdout]    |          arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:148:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          expected `DecodeError`, found `()`
[INFO] [stdout]    |          arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:155:57
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn connect() -> Result<Socket, E<ConnectError, !, !>> { Ok(Socket) }
[INFO] [stdout]    |                                                         ^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:155:57
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn connect() -> Result<Socket, E<ConnectError, !, !>> { Ok(Socket) }
[INFO] [stdout]    |                                                         ^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:156:67
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn read(sock: &mut Socket) -> Result<Bytes, E<!, ReadError, !>> { Ok(Bytes) }
[INFO] [stdout]    |                                                                   ^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:156:67
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn read(sock: &mut Socket) -> Result<Bytes, E<!, ReadError, !>> { Ok(Bytes) }
[INFO] [stdout]    |                                                                   ^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:157:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> { Err(DecodeError)? }
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:157:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> { Err(DecodeError)? }
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:157:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> { Err(DecodeError)? }
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:157:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> { Err(DecodeError)? }
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:157:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> { Err(DecodeError)? }
[INFO] [stdout]    |                                                                    ^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:157:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn decode(bytes: Bytes) -> Result<Message, E<!, !, DecodeError>> { Err(DecodeError)? }
[INFO] [stdout]    |                                                                    ^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:159:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:159:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:159:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:159:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:159:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let payload = read(sock)?;
[INFO] [stdout]    |                             ^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:159:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let payload = read(sock)?;
[INFO] [stdout]    |                             ^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `partial::Error<!, ReadError, DecodeError>`
[INFO] [stdout]   --> src/lib.rs:159:29
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn next_message(sock: &mut Socket) -> Result<Message, E<!, ReadError, DecodeError>> {
[INFO] [stdout]    |                                       --------------------------------------------- expected `partial::Error<!, ReadError, DecodeError>` because of this
[INFO] [stdout] 26 |     let payload = read(sock)?;
[INFO] [stdout]    |                   ----------^ the trait `From<partial::Error<!, ReadError, !>>` is not implemented for `partial::Error<!, ReadError, DecodeError>`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this can't be annotated with `?` because it has type `Result<_, partial::Error<!, ReadError, !>>`
[INFO] [stdout]    |
[INFO] [stdout] note: `partial::Error<!, ReadError, DecodeError>` needs to implement `From<partial::Error<!, ReadError, !>>`
[INFO] [stdout]   --> src/lib.rs:148:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: alternatively, `partial::Error<!, ReadError, !>` needs to implement `Into<partial::Error<!, ReadError, DecodeError>>`
[INFO] [stdout]   --> src/lib.rs:148:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `partial::Error<Connect, Read, DecodeError>` implements `From<DecodeError>`
[INFO] [stdout]              `partial::Error<Connect, ReadError, Decode>` implements `From<ReadError>`
[INFO] [stdout]              `partial::Error<ConnectError, Read, Decode>` implements `From<ConnectError>`
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:160:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:160:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:160:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:160:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:160:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let message = decode(payload)?;
[INFO] [stdout]    |                                  ^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:160:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let message = decode(payload)?;
[INFO] [stdout]    |                                  ^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `partial::Error<!, ReadError, DecodeError>`
[INFO] [stdout]   --> src/lib.rs:160:34
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn next_message(sock: &mut Socket) -> Result<Message, E<!, ReadError, DecodeError>> {
[INFO] [stdout]    |                                       --------------------------------------------- expected `partial::Error<!, ReadError, DecodeError>` because of this
[INFO] [stdout] 26 |     let payload = read(sock)?;
[INFO] [stdout] 27 |     let message = decode(payload)?;
[INFO] [stdout]    |                   ---------------^ the trait `From<partial::Error<!, !, DecodeError>>` is not implemented for `partial::Error<!, ReadError, DecodeError>`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this can't be annotated with `?` because it has type `Result<_, partial::Error<!, !, DecodeError>>`
[INFO] [stdout]    |
[INFO] [stdout] note: `partial::Error<!, ReadError, DecodeError>` needs to implement `From<partial::Error<!, !, DecodeError>>`
[INFO] [stdout]   --> src/lib.rs:148:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: alternatively, `partial::Error<!, !, DecodeError>` needs to implement `Into<partial::Error<!, ReadError, DecodeError>>`
[INFO] [stdout]   --> src/lib.rs:148:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `partial::Error<Connect, Read, DecodeError>` implements `From<DecodeError>`
[INFO] [stdout]              `partial::Error<Connect, ReadError, Decode>` implements `From<ReadError>`
[INFO] [stdout]              `partial::Error<ConnectError, Read, Decode>` implements `From<ConnectError>`
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:161:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok(message)
[INFO] [stdout]    |     ^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:164:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut socket = connect()?;
[INFO] [stdout]    |                      ^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:164:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut socket = connect()?;
[INFO] [stdout]    |                      ^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:164:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut socket = connect()?;
[INFO] [stdout]    |                      ^^^^^^^^^^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:164:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut socket = connect()?;
[INFO] [stdout]    |                      ^^^^^^^^^^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ReadBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:164:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut socket = connect()?;
[INFO] [stdout]    |                               ^ the trait `ReadBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ReadBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ReadError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:151:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: DecodeBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:164:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut socket = connect()?;
[INFO] [stdout]    |                               ^ the trait `DecodeBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `DecodeBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              DecodeError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `example::Error`
[INFO] [stdout]   --> src/lib.rs:164:31
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn read_one_message() -> Result<Message, Error> {
[INFO] [stdout]    |                          ---------------------- expected `example::Error` because of this
[INFO] [stdout] 31 |     let mut socket = connect()?;
[INFO] [stdout]    |                      ---------^ the trait `From<partial::Error<ConnectError, !, !>>` is not implemented for `example::Error`
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this can't be annotated with `?` because it has type `Result<_, partial::Error<ConnectError, !, !>>`
[INFO] [stdout]    |
[INFO] [stdout] note: `example::Error` needs to implement `From<partial::Error<ConnectError, !, !>>`
[INFO] [stdout]   --> src/lib.rs:149:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] note: alternatively, `partial::Error<ConnectError, !, !>` needs to implement `Into<example::Error>`
[INFO] [stdout]   --> src/lib.rs:148:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(partial_enum::Enum)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), (), ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), (), DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), ReadError, ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), ReadError, DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, (), ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, (), DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, ReadError, ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, ReadError, DecodeError>>`
[INFO] [stdout]    = note: this error originates in the derive macro `partial_enum::Enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:167:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         Err(E::Read(_)) => {
[INFO] [stdout]    |             ^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error::Read`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error::Read`
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout]    |     ---- required by a bound in this tuple variant
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:171:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         Err(E::Decode(err)) => Err(Error::Decode(err)),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error::Decode`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error::Decode`
[INFO] [stdout] 18 |     Read(ReadError),
[INFO] [stdout] 19 |     Decode(DecodeError),
[INFO] [stdout]    |     ------ required by a bound in this tuple variant
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:165:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     match next_message(&mut socket) {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:169:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             next_message(&mut socket).map_err(Error::from)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `example::Error: From<partial::Error<!, ReadError, DecodeError>>` is not satisfied
[INFO] [stdout]   --> src/lib.rs:169:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             next_message(&mut socket).map_err(Error::from)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<partial::Error<!, ReadError, DecodeError>>` is not implemented for `example::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), (), ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), (), DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), ReadError, ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), ReadError, DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, (), ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, (), DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, ReadError, ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, ReadError, DecodeError>>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:169:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             next_message(&mut socket).map_err(Error::from)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `example::Error: From<partial::Error<!, ReadError, DecodeError>>` is not satisfied
[INFO] [stdout]   --> src/lib.rs:169:47
[INFO] [stdout]    |
[INFO] [stdout] 36 |             next_message(&mut socket).map_err(Error::from)
[INFO] [stdout]    |                                               ^^^^^ the trait `From<partial::Error<!, ReadError, DecodeError>>` is not implemented for `example::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), (), ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), (), DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), ReadError, ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<(), ReadError, DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, (), ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, (), DecodeError>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, ReadError, ()>>`
[INFO] [stdout]              `example::Error` implements `From<partial::Error<ConnectError, ReadError, DecodeError>>`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `!: ConnectBound` is not satisfied
[INFO] [stdout]   --> src/lib.rs:169:47
[INFO] [stdout]    |
[INFO] [stdout] 36 |             next_message(&mut socket).map_err(Error::from)
[INFO] [stdout]    |                                               ^^^^^^^^^^^ the trait `ConnectBound` is not implemented for `!`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ConnectBound`:
[INFO] [stdout]              ()
[INFO] [stdout]              ConnectError
[INFO] [stdout] note: required by a bound in `partial::Error`
[INFO] [stdout]   --> src/lib.rs:150:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Error {
[INFO] [stdout]    |      ----- required by a bound in this enum
[INFO] [stdout] 17 |     Connect(ConnectError),
[INFO] [stdout]    |     ^^^^^^^ required by this bound in `Error`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 50 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 136)
[INFO] [stdout]     src/lib.rs - (line 91)
[INFO] [stdout]     src/lib.rs - derive_error (line 220)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 3 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.47s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "21a240ccdaeebb8a0b4956b320937abbd0f7c1217907e2da77cd71d6bcbb4f5a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21a240ccdaeebb8a0b4956b320937abbd0f7c1217907e2da77cd71d6bcbb4f5a", kill_on_drop: false }`
[INFO] [stdout] 21a240ccdaeebb8a0b4956b320937abbd0f7c1217907e2da77cd71d6bcbb4f5a
