[INFO] cloning repository https://github.com/brian880120/geekbang_rust_simple_redis
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brian880120/geekbang_rust_simple_redis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrian880120%2Fgeekbang_rust_simple_redis", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrian880120%2Fgeekbang_rust_simple_redis'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5b728cdee2c424305551372236be023cad3b28a6
[INFO] testing brian880120/geekbang_rust_simple_redis against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrian880120%2Fgeekbang_rust_simple_redis" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/brian880120/geekbang_rust_simple_redis
[INFO] finished tweaking git repo https://github.com/brian880120/geekbang_rust_simple_redis
[INFO] tweaked toml for git repo https://github.com/brian880120/geekbang_rust_simple_redis written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/brian880120/geekbang_rust_simple_redis on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/brian880120/geekbang_rust_simple_redis 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded enum_dispatch v0.3.13
[INFO] [stderr]   Downloaded bytes v1.6.1
[INFO] [stderr]   Downloaded syn v2.0.71
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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] e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9
[INFO] running `Command { std: "docker" "start" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9", 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" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling bytes v1.6.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.71
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling simple-redis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `SimpleError`
[INFO] [stdout]  --> src/resp/decode.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{RespDecode, RespError, RespFrame, SimpleError, SimpleString};
[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 variable: `buf`
[INFO] [stdout]   --> src/resp/decode.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn expect_length(buf: &[u8]) -> Result<usize, RespError> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/resp/decode.rs:51:22
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn expect_length(buf: &[u8]) -> Result<usize, RespError> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUF_CAP` is never used
[INFO] [stdout]   --> src/resp/mod.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BUF_CAP: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRLF` is never used
[INFO] [stdout]   --> src/resp/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CRLF: &[u8] = b"\r\n";
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRLF_LEN` is never used
[INFO] [stdout]   --> src/resp/mod.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const CRLF_LEN: usize = CRLF.len();
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_fixed_data` is never used
[INFO] [stdout]    --> src/resp/mod.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn extract_fixed_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_simple_frame_data` is never used
[INFO] [stdout]    --> src/resp/mod.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn extract_simple_frame_data(buf: &[u8], prefix: &str) -> Result<usize, RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_crlf` is never used
[INFO] [stdout]    --> src/resp/mod.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn find_crlf(buf: &[u8], nth: usize) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_length` is never used
[INFO] [stdout]    --> src/resp/mod.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn parse_length(buf: &[u8], prefix: &str) -> Result<(usize, usize), RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_total_length` is never used
[INFO] [stdout]    --> src/resp/mod.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn calc_total_length(buf: &[u8], end: usize, len: usize, prefix: &str) -> Result<usize, RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 9.19s
[INFO] running `Command { std: "docker" "inspect" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling simple-redis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `SimpleError`
[INFO] [stdout]  --> src/resp/decode.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{RespDecode, RespError, RespFrame, SimpleError, SimpleString};
[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 variable: `buf`
[INFO] [stdout]   --> src/resp/decode.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn expect_length(buf: &[u8]) -> Result<usize, RespError> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/resp/decode.rs:51:22
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn expect_length(buf: &[u8]) -> Result<usize, RespError> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUF_CAP` is never used
[INFO] [stdout]   --> src/resp/mod.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BUF_CAP: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRLF` is never used
[INFO] [stdout]   --> src/resp/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CRLF: &[u8] = b"\r\n";
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRLF_LEN` is never used
[INFO] [stdout]   --> src/resp/mod.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const CRLF_LEN: usize = CRLF.len();
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_fixed_data` is never used
[INFO] [stdout]    --> src/resp/mod.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn extract_fixed_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_simple_frame_data` is never used
[INFO] [stdout]    --> src/resp/mod.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn extract_simple_frame_data(buf: &[u8], prefix: &str) -> Result<usize, RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_crlf` is never used
[INFO] [stdout]    --> src/resp/mod.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn find_crlf(buf: &[u8], nth: usize) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_length` is never used
[INFO] [stdout]    --> src/resp/mod.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn parse_length(buf: &[u8], prefix: &str) -> Result<(usize, usize), RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_total_length` is never used
[INFO] [stdout]    --> src/resp/mod.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn calc_total_length(buf: &[u8], end: usize, len: usize, prefix: &str) -> Result<usize, RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SimpleError`
[INFO] [stdout]  --> src/resp/decode.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{RespDecode, RespError, RespFrame, SimpleError, SimpleString};
[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 variable: `buf`
[INFO] [stdout]   --> src/resp/decode.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn expect_length(buf: &[u8]) -> Result<usize, RespError> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/resp/decode.rs:51:22
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn expect_length(buf: &[u8]) -> Result<usize, RespError> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUF_CAP` is never used
[INFO] [stdout]   --> src/resp/mod.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BUF_CAP: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRLF` is never used
[INFO] [stdout]   --> src/resp/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CRLF: &[u8] = b"\r\n";
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRLF_LEN` is never used
[INFO] [stdout]   --> src/resp/mod.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const CRLF_LEN: usize = CRLF.len();
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_fixed_data` is never used
[INFO] [stdout]    --> src/resp/mod.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn extract_fixed_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_simple_frame_data` is never used
[INFO] [stdout]    --> src/resp/mod.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn extract_simple_frame_data(buf: &[u8], prefix: &str) -> Result<usize, RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_crlf` is never used
[INFO] [stdout]    --> src/resp/mod.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn find_crlf(buf: &[u8], nth: usize) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_length` is never used
[INFO] [stdout]    --> src/resp/mod.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn parse_length(buf: &[u8], prefix: &str) -> Result<(usize, usize), RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_total_length` is never used
[INFO] [stdout]    --> src/resp/mod.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn calc_total_length(buf: &[u8], end: usize, len: usize, prefix: &str) -> Result<usize, RespError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1.22s
[INFO] running `Command { std: "docker" "inspect" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `SimpleError`
[INFO] [stderr]  --> src/resp/decode.rs:1:47
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{RespDecode, RespError, RespFrame, SimpleError, SimpleString};
[INFO] [stderr]   |                                               ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/resp/decode.rs:14:22
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn expect_length(buf: &[u8]) -> Result<usize, RespError> {
[INFO] [stderr]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/resp/decode.rs:51:22
[INFO] [stderr]    |
[INFO] [stderr] 51 |     fn expect_length(buf: &[u8]) -> Result<usize, RespError> {
[INFO] [stderr]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BUF_CAP` is never used
[INFO] [stderr]   --> src/resp/mod.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const BUF_CAP: usize = 4096;
[INFO] [stderr]    |       ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CRLF` is never used
[INFO] [stderr]   --> src/resp/mod.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const CRLF: &[u8] = b"\r\n";
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CRLF_LEN` is never used
[INFO] [stderr]   --> src/resp/mod.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | const CRLF_LEN: usize = CRLF.len();
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_fixed_data` is never used
[INFO] [stderr]    --> src/resp/mod.rs:171:4
[INFO] [stderr]     |
[INFO] [stderr] 171 | fn extract_fixed_data(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_simple_frame_data` is never used
[INFO] [stderr]    --> src/resp/mod.rs:191:4
[INFO] [stderr]     |
[INFO] [stderr] 191 | fn extract_simple_frame_data(buf: &[u8], prefix: &str) -> Result<usize, RespError> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_crlf` is never used
[INFO] [stderr]    --> src/resp/mod.rs:209:4
[INFO] [stderr]     |
[INFO] [stderr] 209 | fn find_crlf(buf: &[u8], nth: usize) -> Option<usize> {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_length` is never used
[INFO] [stderr]    --> src/resp/mod.rs:224:4
[INFO] [stderr]     |
[INFO] [stderr] 224 | fn parse_length(buf: &[u8], prefix: &str) -> Result<(usize, usize), RespError> {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calc_total_length` is never used
[INFO] [stderr]    --> src/resp/mod.rs:230:4
[INFO] [stderr]     |
[INFO] [stderr] 230 | fn calc_total_length(buf: &[u8], end: usize, len: usize, prefix: &str) -> Result<usize, RespError> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `simple-redis` (lib) generated 11 warnings (run `cargo fix --lib -p simple-redis` to apply 3 suggestions)
[INFO] [stderr] warning: `simple-redis` (lib test) generated 11 warnings (11 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/simple_redis-31d8b9ed57471c7a)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test resp::encode::tests::test_boolean_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_array_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_bulk_string_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_error_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_integer_encode ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] test resp::encode::tests::test_map_encode ... FAILED
[INFO] [stdout] test resp::decode::tests::test_simple_string_decode ... ok
[INFO] [stdout] test resp::encode::tests::test_null_array_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_double_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_null_bulk_string_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_null_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_set_encode ... ok
[INFO] [stdout] test resp::encode::tests::test_simple_string_encode ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- resp::encode::tests::test_map_encode stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'resp::encode::tests::test_map_encode' (393) panicked at src/resp/encode.rs:235:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: [37, 50, 13, 10, 43, 104, 101, 108, 108, 111, 13, 10, 36, 53, 13, 10, 119, 111, 114, 108, 100, 13, 10, 43, 102, 111, 111, 13, 10, 44, 45, 49, 50, 51, 52, 53, 54, 46, 55, 56, 57, 13, 10]
[INFO] [stdout]  right: [37, 50, 13, 10, 43, 102, 111, 111, 13, 10, 44, 45, 49, 50, 51, 52, 53, 54, 46, 55, 56, 57, 13, 10, 43, 104, 101, 108, 108, 111, 13, 10, 36, 53, 13, 10, 119, 111, 114, 108, 100, 13, 10]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56e119e1ee51 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x56e119e33cba - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x56e119e237ec - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x56e119dfae46 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x56e119e17519 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x56e119db0c30 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x56e119e176d2 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x56e119dfaef2 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x56e119df36e9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x56e119dfbbfd - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x56e119e343ec - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x56e119e34303 - core[df12db4294e9bfd3]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x56e119da2276 - core[df12db4294e9bfd3]::panicking::assert_failed::<alloc[2182bb758b4b3781]::vec::Vec<u8>, &[u8; 43usize]>
[INFO] [stdout]   13:     0x56e119d9e4d8 - simple_redis[ad56b385ccbd54f4]::resp::encode::tests::test_map_encode
[INFO] [stdout]   14:     0x56e119da3d19 - <simple_redis[ad56b385ccbd54f4]::resp::encode::tests::test_map_encode::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x56e119da3f1b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   16:     0x56e119db1585 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   17:     0x56e119daae44 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x56e119db46e2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x56e119e1e729 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x76db54dbadfa - <unknown>
[INFO] [stdout]   21:     0x76db54e4e3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     resp::encode::tests::test_map_encode
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 12 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9", kill_on_drop: false }`
[INFO] [stdout] e16063f15a1a7bf700a565a062dbb5e24ea6efa64290daa14f70b896f1dc4fa9
