[INFO] cloning repository https://github.com/NilsDeckert/redis-protocol-bridge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NilsDeckert/redis-protocol-bridge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNilsDeckert%2Fredis-protocol-bridge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNilsDeckert%2Fredis-protocol-bridge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 89a4d458b6d4855edf4644278f774817b7c5a15d
[INFO] testing NilsDeckert/redis-protocol-bridge against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNilsDeckert%2Fredis-protocol-bridge" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NilsDeckert/redis-protocol-bridge
[INFO] finished tweaking git repo https://github.com/NilsDeckert/redis-protocol-bridge
[INFO] tweaked toml for git repo https://github.com/NilsDeckert/redis-protocol-bridge written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NilsDeckert/redis-protocol-bridge on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NilsDeckert/redis-protocol-bridge 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2032581cf3cc8542e125bb4ce59b638dcd208a859dacf8c55d0ed30c6a2ce06b
[INFO] running `Command { std: "docker" "start" "-a" "2032581cf3cc8542e125bb4ce59b638dcd208a859dacf8c55d0ed30c6a2ce06b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2032581cf3cc8542e125bb4ce59b638dcd208a859dacf8c55d0ed30c6a2ce06b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2032581cf3cc8542e125bb4ce59b638dcd208a859dacf8c55d0ed30c6a2ce06b", kill_on_drop: false }`
[INFO] [stdout] 2032581cf3cc8542e125bb4ce59b638dcd208a859dacf8c55d0ed30c6a2ce06b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] c8fed53c1f3e33f199560d978075153caceefb65d66398cdbb1d0d849c077a2d
[INFO] running `Command { std: "docker" "start" "-a" "c8fed53c1f3e33f199560d978075153caceefb65d66398cdbb1d0d849c077a2d", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.15
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling log v0.4.25
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling crc16 v0.4.0
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling cookie-factory v0.3.2
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling bytes-utils v0.1.4
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling redis-protocol v6.0.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling env_logger v0.11.6
[INFO] [stderr]    Compiling redis-protocol-bridge v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/commands/client.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     SETINFO(Vec<String>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Client` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 12 -     SETINFO(Vec<String>),
[INFO] [stdout] 12 +     SETINFO(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 10.11s
[INFO] running `Command { std: "docker" "inspect" "c8fed53c1f3e33f199560d978075153caceefb65d66398cdbb1d0d849c077a2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8fed53c1f3e33f199560d978075153caceefb65d66398cdbb1d0d849c077a2d", kill_on_drop: false }`
[INFO] [stdout] c8fed53c1f3e33f199560d978075153caceefb65d66398cdbb1d0d849c077a2d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] c7eb203157e3f4d81789cac8411e97fb3fe3dca2b86872e01cc533bbd50e0049
[INFO] running `Command { std: "docker" "start" "-a" "c7eb203157e3f4d81789cac8411e97fb3fe3dca2b86872e01cc533bbd50e0049", kill_on_drop: false }`
[INFO] [stderr]    Compiling redis-protocol-bridge v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/commands/parse.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/util/convert.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/commands/parse.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/util/convert.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/commands/client.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     SETINFO(Vec<String>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Client` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 12 -     SETINFO(Vec<String>),
[INFO] [stdout] 12 +     SETINFO(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.55s
[INFO] running `Command { std: "docker" "inspect" "c7eb203157e3f4d81789cac8411e97fb3fe3dca2b86872e01cc533bbd50e0049", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7eb203157e3f4d81789cac8411e97fb3fe3dca2b86872e01cc533bbd50e0049", kill_on_drop: false }`
[INFO] [stdout] c7eb203157e3f4d81789cac8411e97fb3fe3dca2b86872e01cc533bbd50e0049
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 384baa9b538cad53ba02daec958da5634a146e62ff3e816289c10c63cbc50976
[INFO] running `Command { std: "docker" "start" "-a" "384baa9b538cad53ba02daec958da5634a146e62ff3e816289c10c63cbc50976", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/commands/parse.rs:75:9
[INFO] [stderr]    |
[INFO] [stderr] 75 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/util/convert.rs:226:9
[INFO] [stderr]     |
[INFO] [stderr] 226 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `redis-protocol-bridge` (lib test) generated 2 warnings (run `cargo fix --lib -p redis-protocol-bridge --tests` to apply 2 suggestions)
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/commands/client.rs:12:13
[INFO] [stderr]    |
[INFO] [stderr] 12 |     SETINFO(Vec<String>),
[INFO] [stderr]    |     ------- ^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Client` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 12 -     SETINFO(Vec<String>),
[INFO] [stderr] 12 +     SETINFO(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `redis-protocol-bridge` (bin "redis-protocol-bridge" test) generated 3 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/redis-protocol-bridge/a38e9c57740f3233/deps/redis_protocol_bridge-a38e9c57740f3233)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test commands::del::tests::test_del_handling ... ok
[INFO] [stdout] test commands::del::tests::test_del_parsing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/redis-protocol-bridge/acdacf86f174d7bb/deps/redis_protocol_bridge-acdacf86f174d7bb)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test commands::del::tests::test_del_handling ... ok
[INFO] [stdout] test commands::del::tests::test_del_parsing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests redis_protocol_bridge
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test src/commands/set.rs - commands::set::parse (line 11) ... FAILED
[INFO] [stdout] test src/commands/cluster.rs - commands::cluster::default_handle_shards (line 83) ... FAILED
[INFO] [stdout] test src/commands/command.rs - commands::command::handle_docs (line 92) ... FAILED
[INFO] [stdout] test src/commands/mod.rs - commands::hello (line 7) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 12) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 34) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 71) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/commands/set.rs - commands::set::parse (line 11) stdout ----
[INFO] [stdout] error: expected one of `!` or `::`, found `key`
[INFO] [stdout]   --> src/commands/set.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | SET key value [NX | XX] [GET] [EX seconds | PX milliseconds |
[INFO] [stdout]    |     ^^^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/commands/cluster.rs - commands::cluster::default_handle_shards (line 83) stdout ----
[INFO] [stdout] error: unexpected closing delimiter: `)`
[INFO] [stdout]   --> src/commands/cluster.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | | 1)    |-----------------------------------|   |
[INFO] [stdout]    |    ^ unexpected closing delimiter
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/commands/command.rs - commands::command::handle_docs (line 92) stdout ----
[INFO] [stdout] error: expected one of `!` or `::`, found `DOCS`
[INFO] [stdout]   --> src/commands/command.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 | COMMAND DOCS [command-name [command-name ...]]
[INFO] [stdout]    |         ^^^^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/commands/mod.rs - commands::hello (line 7) stdout ----
[INFO] [stdout] error: expected one of `!` or `::`, found `[`
[INFO] [stdout]  --> src/commands/mod.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | HELLO [protover [AUTH username password] [SETNAME clientname]]
[INFO] [stdout]   |       ^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 12) stdout ----
[INFO] [stdout] error[E0277]: `()` is not a future
[INFO] [stdout]   --> src/lib.rs:25:52
[INFO] [stdout]    |
[INFO] [stdout] 25 |             handle_client(tcp_stream, socket_addr).await;
[INFO] [stdout]    |             -------------------------------------- ^^^^^ `()` is not a future
[INFO] [stdout]    |             |
[INFO] [stdout]    |             this call returns `()`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Future` is not implemented for `()`
[INFO] [stdout]    = note: () must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]    = note: required for `()` to implement `IntoFuture`
[INFO] [stdout] help: remove the `.await`
[INFO] [stdout]    |
[INFO] [stdout] 25 -             handle_client(tcp_stream, socket_addr).await;
[INFO] [stdout] 25 +             handle_client(tcp_stream, socket_addr);
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, consider making `fn handle_client` asynchronous
[INFO] [stdout]    |
[INFO] [stdout] 16 | async fn handle_client(tcp_stream: TcpStream, socket_addr: SocketAddr) {}
[INFO] [stdout]    | +++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 34) stdout ----
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/lib.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Err(e) => error!("Error: {}", e),
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 34 + use log::error;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `warn` in this scope
[INFO] [stdout]   --> src/lib.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |             Ok(None) => warn!("Received empty command"),
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `warn` is in scope, but it is an attribute: `#[warn]`
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 34 + use log::warn;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/lib.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 info!("{:?}", query);
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 34 + use log::info;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/lib.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     info!("Incoming connection from: {}", addr);
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 34 + use log::info;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `decode`
[INFO] [stdout]   --> src/lib.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let res_op = decode::complete::decode(&mut buf);
[INFO] [stdout]    |                      ^^^^^^ use of unresolved module or unlinked crate `decode`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `decode`, use `cargo add decode` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 34 + use redis_protocol::resp3::decode::complete;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `complete`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 50 -         let res_op = decode::complete::decode(&mut buf);
[INFO] [stdout] 50 +         let res_op = complete::decode(&mut buf);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `parse_owned_frame` in this scope
[INFO] [stdout]   --> src/lib.rs:53:29
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 let query = parse_owned_frame(frame);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 34 + use redis_protocol_bridge::parse_owned_frame;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `tokio::net::TcpStream` in the current scope
[INFO] [stdout]    --> src/lib.rs:46:22
[INFO] [stdout]     |
[INFO] [stdout]  46 |         match stream.read(&mut buf).await {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/io/util/async_read_ext.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 |         fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>
[INFO] [stdout]     |            ---- the method is available for `tokio::net::TcpStream` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `AsyncReadExt` which provides `read` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]  34 + use tokio::io::AsyncReadExt;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `ready` with a similar name
[INFO] [stdout]     |
[INFO] [stdout]  46 |         match stream.ready(&mut buf).await {
[INFO] [stdout]     |                          +
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `handle_command` in this scope
[INFO] [stdout]   --> src/lib.rs:55:29
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 let reply = handle_command(query, &mut map);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write_all` found for struct `tokio::net::TcpStream` in the current scope
[INFO] [stdout]    --> src/lib.rs:57:22
[INFO] [stdout]     |
[INFO] [stdout]  56 | /                 stream
[INFO] [stdout]  57 | |                     .write_all(&reply)
[INFO] [stdout]     | |_____________________-^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/io/util/async_write_ext.rs:369:12
[INFO] [stdout]     |
[INFO] [stdout] 369 |           fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>
[INFO] [stdout]     |              --------- the method is available for `tokio::net::TcpStream` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `AsyncWriteExt` which provides `write_all` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]  34 + use tokio::io::AsyncWriteExt;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `write` with a similar name
[INFO] [stdout]     |
[INFO] [stdout]  57 -                     .write_all(&reply)
[INFO] [stdout]  57 +                     .write(&reply)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/lib.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | /                 stream
[INFO] [stdout] 57 | |                     .write_all(&reply)
[INFO] [stdout] 58 | |                     .await
[INFO] [stdout]    | |__________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `flush` found for struct `tokio::net::TcpStream` in the current scope
[INFO] [stdout]     --> src/lib.rs:60:24
[INFO] [stdout]      |
[INFO] [stdout]   60 |                 stream.flush().await.unwrap()
[INFO] [stdout]      |                        ^^^^^ method not found in `tokio::net::TcpStream`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/io/util/async_write_ext.rs:1250:12
[INFO] [stdout]      |
[INFO] [stdout] 1250 |         fn flush(&mut self) -> Flush<'_, Self>
[INFO] [stdout]      |            ----- the method is available for `tokio::net::TcpStream` here
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `AsyncWriteExt` which provides `flush` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]      |
[INFO] [stdout]   34 + use tokio::io::AsyncWriteExt;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/lib.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 stream.flush().await.unwrap()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 71) stdout ----
[INFO] [stdout] error: cannot find macro `debug` in this scope
[INFO] [stdout]   --> src/lib.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     debug!("Reply: {:#?}", reply);
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 71 + use log::debug;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `HashMap` in this scope
[INFO] [stdout]   --> src/lib.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn handle_command(query: Vec<String>, map: &mut HashMap<String, String>) -> Vec<u8> {
[INFO] [stdout]    |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::collections::HashMap;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `OwnedFrame` in this scope
[INFO] [stdout]   --> src/lib.rs:73:16
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let reply: OwnedFrame;
[INFO] [stdout]    |                ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these enums
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol::resp2::types::OwnedFrame;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol::resp3::types::OwnedFrame;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `parse`
[INFO] [stdout]   --> src/lib.rs:75:26
[INFO] [stdout]    |
[INFO] [stdout] 75 |     if let Ok(request) = parse::parse(query) {
[INFO] [stdout]    |                          ^^^^^ use of unresolved module or unlinked crate `parse`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `parse`, use `cargo add parse` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::parse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Request`
[INFO] [stdout]   --> src/lib.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |             Request::HELLO   { .. } => hello::default_handle(request),
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Request`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::error::Request;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::parse::Request;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `hello`
[INFO] [stdout]   --> src/lib.rs:77:40
[INFO] [stdout]    |
[INFO] [stdout] 77 |             Request::HELLO   { .. } => hello::default_handle(request),
[INFO] [stdout]    |                                        ^^^^^ use of unresolved module or unlinked crate `hello`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `hello`, use `cargo add hello` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::hello;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Request`
[INFO] [stdout]   --> src/lib.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Request::GET     { .. } => get::handle(map, request),
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Request`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::error::Request;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::parse::Request;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `get`
[INFO] [stdout]   --> src/lib.rs:78:40
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Request::GET     { .. } => get::handle(map, request),
[INFO] [stdout]    |                                        ^^^ use of unresolved module or unlinked crate `get`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `get`, use `cargo add get` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Request`
[INFO] [stdout]   --> src/lib.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Request::SET     { .. } => set::handle(map, request),
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Request`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::error::Request;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::parse::Request;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `set`
[INFO] [stdout]   --> src/lib.rs:79:40
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Request::SET     { .. } => set::handle(map, request),
[INFO] [stdout]    |                                        ^^^ use of unresolved module or unlinked crate `set`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `set`, use `cargo add set` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::set;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Request`
[INFO] [stdout]   --> src/lib.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             Request::COMMAND { .. } => command::default_handle(request),
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Request`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::error::Request;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::parse::Request;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `command`
[INFO] [stdout]   --> src/lib.rs:80:40
[INFO] [stdout]    |
[INFO] [stdout] 80 |             Request::COMMAND { .. } => command::default_handle(request),
[INFO] [stdout]    |                                        ^^^^^^^ use of unresolved module or unlinked crate `command`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `command`, use `cargo add command` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::command;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Request`
[INFO] [stdout]   --> src/lib.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             Request::INFO    { .. } => info::default_handle(request),
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Request`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::error::Request;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::parse::Request;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `info`
[INFO] [stdout]   --> src/lib.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 81 |             Request::INFO    { .. } => info::default_handle(request),
[INFO] [stdout]    |                                        ^^^^ use of unresolved module or unlinked crate `info`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `info`, use `cargo add info` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::info;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Request`
[INFO] [stdout]   --> src/lib.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             Request::PING    { .. } => ping::default_handle(request),
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Request`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::error::Request;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::parse::Request;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `ping`
[INFO] [stdout]   --> src/lib.rs:82:40
[INFO] [stdout]    |
[INFO] [stdout] 82 |             Request::PING    { .. } => ping::default_handle(request),
[INFO] [stdout]    |                                        ^^^^ use of unresolved module or unlinked crate `ping`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ping`, use `cargo add ping` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::ping;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Request`
[INFO] [stdout]   --> src/lib.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Request::SELECT  { .. } => select::default_handle(request)
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Request`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 71 + use std::error::Request;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::parse::Request;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `select`
[INFO] [stdout]   --> src/lib.rs:83:40
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Request::SELECT  { .. } => select::default_handle(request)
[INFO] [stdout]    |                                        ^^^^^^ use of unresolved module or unlinked crate `select`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `select`, use `cargo add select` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol_bridge::commands::select;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OwnedFrame`
[INFO] [stdout]   --> src/lib.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             OwnedFrame::SimpleError {
[INFO] [stdout]    |             ^^^^^^^^^^ use of undeclared type `OwnedFrame`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these enums
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol::resp2::types::OwnedFrame;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol::resp3::types::OwnedFrame;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OwnedFrame`
[INFO] [stdout]   --> src/lib.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |         reply = OwnedFrame::SimpleError {
[INFO] [stdout]    |                 ^^^^^^^^^^ use of undeclared type `OwnedFrame`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these enums
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol::resp2::types::OwnedFrame;
[INFO] [stdout]    |
[INFO] [stdout] 71 + use redis_protocol::resp3::types::OwnedFrame;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `encode`
[INFO] [stdout]    --> src/lib.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     encode::complete::encode(
[INFO] [stdout]     |     ^^^^^^ use of unresolved module or unlinked crate `encode`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `encode`, use `cargo add encode` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]  71 + use redis_protocol::resp3::encode::complete;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `complete`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 102 -     encode::complete::encode(
[INFO] [stdout] 102 +     complete::encode(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/lib.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |         reply = r.unwrap_or_else(|err|
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 87 |             OwnedFrame::SimpleError {
[INFO] [stdout] 88 |                 data: err.details().to_string(),
[INFO] [stdout]    |                       --- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 86 |         reply = r.unwrap_or_else(|err: /* Type */|
[INFO] [stdout]    |                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 22 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/commands/cluster.rs - commands::cluster::default_handle_shards (line 83)
[INFO] [stdout]     src/commands/command.rs - commands::command::handle_docs (line 92)
[INFO] [stdout]     src/commands/mod.rs - commands::hello (line 7)
[INFO] [stdout]     src/commands/set.rs - commands::set::parse (line 11)
[INFO] [stdout]     src/lib.rs - (line 12)
[INFO] [stdout]     src/lib.rs - (line 34)
[INFO] [stdout]     src/lib.rs - (line 71)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 7 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "384baa9b538cad53ba02daec958da5634a146e62ff3e816289c10c63cbc50976", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "384baa9b538cad53ba02daec958da5634a146e62ff3e816289c10c63cbc50976", kill_on_drop: false }`
[INFO] [stdout] 384baa9b538cad53ba02daec958da5634a146e62ff3e816289c10c63cbc50976
