[INFO] cloning repository https://github.com/randomComplainer/sep
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/randomComplainer/sep" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FrandomComplainer%2Fsep", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FrandomComplainer%2Fsep'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7d3f28ac4788106dfc0adefa8551e71d39c82952
[INFO] checking randomComplainer/sep against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FrandomComplainer%2Fsep" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/randomComplainer/sep
[INFO] finished tweaking git repo https://github.com/randomComplainer/sep
[INFO] tweaked toml for git repo https://github.com/randomComplainer/sep written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/randomComplainer/sep on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/randomComplainer/sep already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1
[INFO] running `Command { std: "docker" "start" "a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zmij v1.0.16
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking clap_lex v0.7.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking rapidhash v4.4.1
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling test-log-macros v0.2.19
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking test-log v0.2.19
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking moro v0.4.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking sep v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/lib/encrypt/mod.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     use tokio::io::{AsyncReadExt, DuplexStream, ReadHalf, WriteHalf};
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `assert_matches` has been stable since 1.96.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(assert_matches)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `assert_matches` has been stable since 1.96.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(assert_matches)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]    --> src/lib/future_ext.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     use futures::FutureExt as _;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Sender` is never used
[INFO] [stdout]  --> src/lib/async_channel_ext.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Sender<T>
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `With` is never constructed
[INFO] [stdout]   --> src/lib/async_channel_ext.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct With<Inner, F> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SenderExt` is never used
[INFO] [stdout]   --> src/lib/async_channel_ext.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub trait SenderExt<T>
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lib/sequenced_to_stream.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct State<Stream, EvtTx> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 28 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lib/server/serve_client.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct State<TConnectTarget, SessionEvtTx, ConnEvtTx> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 39 |     config: Config<TConnectTarget>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `SessionEntry<OutgoingMsg, IncomingMsg>`
[INFO] [stdout]    --> src/lib/assignment.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 | /             SessionEntry {
[INFO] [stdout] 436 | |                 assigned_conns: Default::default(),
[INFO] [stdout] 437 | |                 incomming_msg_tx: session_incomming_msg_tx,
[INFO] [stdout] 438 | |                 outgoing_msg_queue: Default::default(),
[INFO] [stdout] 439 | |             }
[INFO] [stdout] 440 | |             .into(),
[INFO] [stdout]     | |___________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 439 -             }
[INFO] [stdout] 440 -             .into(),
[INFO] [stdout] 439 +             },
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 435 ~             <SessionEntry<OutgoingMsg, IncomingMsg> as Into<_>>::into(SessionEntry {
[INFO] [stdout] 436 |                 assigned_conns: Default::default(),
[INFO] [stdout] 437 |                 incomming_msg_tx: session_incomming_msg_tx,
[INFO] [stdout] 438 |                 outgoing_msg_queue: Default::default(),
[INFO] [stdout] 439 ~             }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/session.rs:250:28
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 return Err(decode::unknown_enum_code("client session message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 250 -                 return Err(decode::unknown_enum_code("client session message", x).into());
[INFO] [stdout] 250 +                 return Err(decode::unknown_enum_code("client session message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 250 -                 return Err(decode::unknown_enum_code("client session message", x).into());
[INFO] [stdout] 250 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("client session message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/session.rs:310:28
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 return Err(decode::unknown_enum_code("connection error", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 310 -                 return Err(decode::unknown_enum_code("connection error", x).into());
[INFO] [stdout] 310 +                 return Err(decode::unknown_enum_code("connection error", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 310 -                 return Err(decode::unknown_enum_code("connection error", x).into());
[INFO] [stdout] 310 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("connection error", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/session.rs:360:28
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 return Err(decode::unknown_enum_code("server session message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 360 -                 return Err(decode::unknown_enum_code("server session message", x).into());
[INFO] [stdout] 360 +                 return Err(decode::unknown_enum_code("server session message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 360 -                 return Err(decode::unknown_enum_code("server session message", x).into());
[INFO] [stdout] 360 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("server session message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]   --> src/lib/protocol/msg/mod.rs:59:32
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     return Err(decode::unknown_enum_code("connection level message", x).into());
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 59 -                     return Err(decode::unknown_enum_code("connection level message", x).into());
[INFO] [stdout] 59 +                     return Err(decode::unknown_enum_code("connection level message", x));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 59 -                     return Err(decode::unknown_enum_code("connection level message", x).into());
[INFO] [stdout] 59 +                     return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("connection level message", x)));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 return Err(decode::unknown_enum_code("server message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 125 -                 return Err(decode::unknown_enum_code("server message", x).into());
[INFO] [stdout] 125 +                 return Err(decode::unknown_enum_code("server message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 125 -                 return Err(decode::unknown_enum_code("server message", x).into());
[INFO] [stdout] 125 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("server message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 return Err(decode::unknown_enum_code("client message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 173 -                 return Err(decode::unknown_enum_code("client message", x).into());
[INFO] [stdout] 173 +                 return Err(decode::unknown_enum_code("client message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 173 -                 return Err(decode::unknown_enum_code("client message", x).into());
[INFO] [stdout] 173 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("client message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:228:28
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 return Err(decode::unknown_enum_code("at least one message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 228 -                 return Err(decode::unknown_enum_code("at least one message", x).into());
[INFO] [stdout] 228 +                 return Err(decode::unknown_enum_code("at least one message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 228 -                 return Err(decode::unknown_enum_code("at least one message", x).into());
[INFO] [stdout] 228 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("at least one message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:261:32
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     return Err(decode::unknown_enum_code("client command", x).into());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 261 -                     return Err(decode::unknown_enum_code("client command", x).into());
[INFO] [stdout] 261 +                     return Err(decode::unknown_enum_code("client command", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 261 -                     return Err(decode::unknown_enum_code("client command", x).into());
[INFO] [stdout] 261 +                     return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("client command", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:300:32
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     return Err(decode::unknown_enum_code("server command", x).into());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 300 -                     return Err(decode::unknown_enum_code("server command", x).into());
[INFO] [stdout] 300 +                     return Err(decode::unknown_enum_code("server command", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 300 -                     return Err(decode::unknown_enum_code("server command", x).into());
[INFO] [stdout] 300 +                     return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("server command", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:332:28
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 return Err(decode::unknown_enum_code("global command", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 332 -                 return Err(decode::unknown_enum_code("global command", x).into());
[INFO] [stdout] 332 +                 return Err(decode::unknown_enum_code("global command", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 332 -                 return Err(decode::unknown_enum_code("global command", x).into());
[INFO] [stdout] 332 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("global command", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/lib/protocol/server_agent/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn recv_greeting(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 32 ~     fn recv_greeting(
[INFO] [stdout] 33 |         self,
[INFO] [stdout] 34 |         server_timestamp: u64,
[INFO] [stdout] 35 ~     ) -> impl std::future::Future<Output = Result<
[INFO] [stdout] 36 |         (Box<ClientId>, ConnId, Self::GreetedRead, Self::GreetedWrite),
[INFO] [stdout] 37 |         InitError<Self::Stream>,
[INFO] [stdout] 38 ~     >> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sep` (lib) due to 11 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait `Sender` is never used
[INFO] [stdout]  --> src/lib/async_channel_ext.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Sender<T>
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `With` is never constructed
[INFO] [stdout]   --> src/lib/async_channel_ext.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct With<Inner, F> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SenderExt` is never used
[INFO] [stdout]   --> src/lib/async_channel_ext.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub trait SenderExt<T>
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lib/sequenced_to_stream.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct State<Stream, EvtTx> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 28 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/lib/task_scope.rs:181:33
[INFO] [stdout]     |
[INFO] [stdout] 181 |         struct SideEffectOnDrop(Arc<()>, Option<tokio::sync::oneshot::Sender<()>>);
[INFO] [stdout]     |                ---------------- ^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 181 -         struct SideEffectOnDrop(Arc<()>, Option<tokio::sync::oneshot::Sender<()>>);
[INFO] [stdout] 181 +         struct SideEffectOnDrop((), Option<tokio::sync::oneshot::Sender<()>>);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair` is never used
[INFO] [stdout]   --> src/lib/encrypt/mod.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn pair() -> (
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lib/server/serve_client.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct State<TConnectTarget, SessionEvtTx, ConnEvtTx> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 39 |     config: Config<TConnectTarget>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `SessionEntry<OutgoingMsg, IncomingMsg>`
[INFO] [stdout]    --> src/lib/assignment.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 | /             SessionEntry {
[INFO] [stdout] 436 | |                 assigned_conns: Default::default(),
[INFO] [stdout] 437 | |                 incomming_msg_tx: session_incomming_msg_tx,
[INFO] [stdout] 438 | |                 outgoing_msg_queue: Default::default(),
[INFO] [stdout] 439 | |             }
[INFO] [stdout] 440 | |             .into(),
[INFO] [stdout]     | |___________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 439 -             }
[INFO] [stdout] 440 -             .into(),
[INFO] [stdout] 439 +             },
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 435 ~             <SessionEntry<OutgoingMsg, IncomingMsg> as Into<_>>::into(SessionEntry {
[INFO] [stdout] 436 |                 assigned_conns: Default::default(),
[INFO] [stdout] 437 |                 incomming_msg_tx: session_incomming_msg_tx,
[INFO] [stdout] 438 |                 outgoing_msg_queue: Default::default(),
[INFO] [stdout] 439 ~             }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/session.rs:250:28
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 return Err(decode::unknown_enum_code("client session message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 250 -                 return Err(decode::unknown_enum_code("client session message", x).into());
[INFO] [stdout] 250 +                 return Err(decode::unknown_enum_code("client session message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 250 -                 return Err(decode::unknown_enum_code("client session message", x).into());
[INFO] [stdout] 250 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("client session message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/session.rs:310:28
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 return Err(decode::unknown_enum_code("connection error", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 310 -                 return Err(decode::unknown_enum_code("connection error", x).into());
[INFO] [stdout] 310 +                 return Err(decode::unknown_enum_code("connection error", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 310 -                 return Err(decode::unknown_enum_code("connection error", x).into());
[INFO] [stdout] 310 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("connection error", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/session.rs:360:28
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 return Err(decode::unknown_enum_code("server session message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 360 -                 return Err(decode::unknown_enum_code("server session message", x).into());
[INFO] [stdout] 360 +                 return Err(decode::unknown_enum_code("server session message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 360 -                 return Err(decode::unknown_enum_code("server session message", x).into());
[INFO] [stdout] 360 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("server session message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]   --> src/lib/protocol/msg/mod.rs:59:32
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     return Err(decode::unknown_enum_code("connection level message", x).into());
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 59 -                     return Err(decode::unknown_enum_code("connection level message", x).into());
[INFO] [stdout] 59 +                     return Err(decode::unknown_enum_code("connection level message", x));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 59 -                     return Err(decode::unknown_enum_code("connection level message", x).into());
[INFO] [stdout] 59 +                     return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("connection level message", x)));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 return Err(decode::unknown_enum_code("server message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 125 -                 return Err(decode::unknown_enum_code("server message", x).into());
[INFO] [stdout] 125 +                 return Err(decode::unknown_enum_code("server message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 125 -                 return Err(decode::unknown_enum_code("server message", x).into());
[INFO] [stdout] 125 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("server message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 return Err(decode::unknown_enum_code("client message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 173 -                 return Err(decode::unknown_enum_code("client message", x).into());
[INFO] [stdout] 173 +                 return Err(decode::unknown_enum_code("client message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 173 -                 return Err(decode::unknown_enum_code("client message", x).into());
[INFO] [stdout] 173 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("client message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:228:28
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 return Err(decode::unknown_enum_code("at least one message", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 228 -                 return Err(decode::unknown_enum_code("at least one message", x).into());
[INFO] [stdout] 228 +                 return Err(decode::unknown_enum_code("at least one message", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 228 -                 return Err(decode::unknown_enum_code("at least one message", x).into());
[INFO] [stdout] 228 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("at least one message", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:261:32
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     return Err(decode::unknown_enum_code("client command", x).into());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 261 -                     return Err(decode::unknown_enum_code("client command", x).into());
[INFO] [stdout] 261 +                     return Err(decode::unknown_enum_code("client command", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 261 -                     return Err(decode::unknown_enum_code("client command", x).into());
[INFO] [stdout] 261 +                     return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("client command", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:300:32
[INFO] [stdout]     |
[INFO] [stdout] 300 |                     return Err(decode::unknown_enum_code("server command", x).into());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 300 -                     return Err(decode::unknown_enum_code("server command", x).into());
[INFO] [stdout] 300 +                     return Err(decode::unknown_enum_code("server command", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 300 -                     return Err(decode::unknown_enum_code("server command", x).into());
[INFO] [stdout] 300 +                     return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("server command", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `decode::DecodeError`
[INFO] [stdout]    --> src/lib/protocol/msg/mod.rs:332:28
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 return Err(decode::unknown_enum_code("global command", x).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 332 -                 return Err(decode::unknown_enum_code("global command", x).into());
[INFO] [stdout] 332 +                 return Err(decode::unknown_enum_code("global command", x));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 332 -                 return Err(decode::unknown_enum_code("global command", x).into());
[INFO] [stdout] 332 +                 return Err(<decode::DecodeError as Into<_>>::into(decode::unknown_enum_code("global command", x)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/lib/protocol/server_agent/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn recv_greeting(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 32 ~     fn recv_greeting(
[INFO] [stdout] 33 |         self,
[INFO] [stdout] 34 |         server_timestamp: u64,
[INFO] [stdout] 35 ~     ) -> impl std::future::Future<Output = Result<
[INFO] [stdout] 36 |         (Box<ClientId>, ConnId, Self::GreetedRead, Self::GreetedWrite),
[INFO] [stdout] 37 |         InitError<Self::Stream>,
[INFO] [stdout] 38 ~     >> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sep` (lib test) due to 11 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1", kill_on_drop: false }`
[INFO] [stdout] a08bc4c2a03920aed16f01403d28224c125b56c07b0d279cbc9f77add103b3b1
