[INFO] cloning repository https://github.com/DawenYang/mini-redis
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DawenYang/mini-redis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDawenYang%2Fmini-redis", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDawenYang%2Fmini-redis'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 79c0e2f65ad5d32b4b4b0708ab5ce8512b948bfd
[INFO] building DawenYang/mini-redis against master#ad211ced81509462cdfe4c29ed10f97279a0acae for pr-135216
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDawenYang%2Fmini-redis" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/DawenYang/mini-redis on toolchain ad211ced81509462cdfe4c29ed10f97279a0acae
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/DawenYang/mini-redis
[INFO] finished tweaking git repo https://github.com/DawenYang/mini-redis
[INFO] tweaked toml for git repo https://github.com/DawenYang/mini-redis written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/DawenYang/mini-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" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded opentelemetry-aws v0.8.0
[INFO] [stderr]   Downloaded tracing-opentelemetry v0.21.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cb5daad3928b010369c9e8eb7290ce746758c38763af79f56923fa277354747b
[INFO] running `Command { std: "docker" "start" "-a" "cb5daad3928b010369c9e8eb7290ce746758c38763af79f56923fa277354747b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cb5daad3928b010369c9e8eb7290ce746758c38763af79f56923fa277354747b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb5daad3928b010369c9e8eb7290ce746758c38763af79f56923fa277354747b", kill_on_drop: false }`
[INFO] [stdout] cb5daad3928b010369c9e8eb7290ce746758c38763af79f56923fa277354747b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b648e8d9a5624ca8e0ae239cb6c185fcc197ccf0c84a1b9e35f11e06fced5966
[INFO] running `Command { std: "docker" "start" "-a" "b648e8d9a5624ca8e0ae239cb6c185fcc197ccf0c84a1b9e35f11e06fced5966", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.84
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling colorchoice v1.0.1
[INFO] [stderr]    Compiling anstyle v1.0.7
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.4
[INFO] [stderr]    Compiling anstyle-query v1.0.3
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling clap_lex v0.7.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstream v0.6.14
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling clap_builder v4.5.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling regex v1.10.4
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling async-stream v0.3.5
[INFO] [stderr]    Compiling tokio v1.37.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling clap v4.5.4
[INFO] [stderr]    Compiling tokio-stream v0.1.15
[INFO] [stderr]    Compiling mini-redis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Formatter` and `write`
[INFO] [stdout]  --> src/frame.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display, Formatter, Pointer, UpperHex, write};
[INFO] [stdout]   |                                ^^^^^^^^^                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `frame::Error`
[INFO] [stdout]   --> src/frame.rs:68:66
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     let len: usize = get_decimal(src)?.try_into()?;
[INFO] [stdout]    |                                                                  ^ the trait `From<TryFromIntError>` is not implemented for `frame::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `frame::Error` implements `From<&str>`
[INFO] [stdout]              `frame::Error` implements `From<FromUtf8Error>`
[INFO] [stdout]    = note: required for `std::result::Result<(), frame::Error>` to implement `FromResidual<std::result::Result<Infallible, TryFromIntError>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `frame::Error: From<String>` is not satisfied
[INFO] [stdout]   --> src/frame.rs:83:27
[INFO] [stdout]    |
[INFO] [stdout] 83 |             actual => Err(format!("protocol error; invalid frame type byte `{}`", actual).into()),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---- required by a bound introduced by this call
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the trait `From<String>` is not implemented for `frame::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `frame::Error` implements `From<&str>`
[INFO] [stdout]              `frame::Error` implements `From<FromUtf8Error>`
[INFO] [stdout]    = note: required for `String` to implement `Into<frame::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `frame::Error`
[INFO] [stdout]    --> src/frame.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     let len = get_decimal(src)?.try_into()?;
[INFO] [stdout]     |                                                           ^ the trait `From<TryFromIntError>` is not implemented for `frame::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `frame::Error` implements `From<&str>`
[INFO] [stdout]               `frame::Error` implements `From<FromUtf8Error>`
[INFO] [stdout]     = note: required for `std::result::Result<Frame, frame::Error>` to implement `FromResidual<std::result::Result<Infallible, TryFromIntError>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `frame::Error`
[INFO] [stdout]    --> src/frame.rs:139:55
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let len = get_decimal(src)?.try_into()?;
[INFO] [stdout]     |                                                       ^ the trait `From<TryFromIntError>` is not implemented for `frame::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `frame::Error` implements `From<&str>`
[INFO] [stdout]               `frame::Error` implements `From<FromUtf8Error>`
[INFO] [stdout]     = note: required for `std::result::Result<Frame, frame::Error>` to implement `FromResidual<std::result::Result<Infallible, TryFromIntError>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/frame.rs:172:49
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Frame::Simple(response) => response.fmt(fmt),
[INFO] [stdout]     |                                                 ^^^ multiple `fmt` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Pointer`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1285:5
[INFO] [stdout] note: candidate #2 is defined in the trait `UpperHex`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1226:5
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `Debug` for the type `String`
[INFO] [stdout]     = note: candidate #4 is defined in an impl of the trait `std::fmt::Display` for the type `String`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Frame::Simple(response) => Pointer::fmt(&response, fmt),
[INFO] [stdout]     |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Frame::Simple(response) => UpperHex::fmt(&response, fmt),
[INFO] [stdout]     |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Frame::Simple(response) => Debug::fmt(&response, fmt),
[INFO] [stdout]     |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #4
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Frame::Simple(response) => std::fmt::Display::fmt(&response, fmt),
[INFO] [stdout]     |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/frame.rs:174:40
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Frame::Integer(num) => num.fmt(fmt),
[INFO] [stdout]     |                                        ^^^ multiple `fmt` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Pointer`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1285:5
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Debug` for the type `u64`
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `UpperHex` for the type `u64`
[INFO] [stdout]     = note: candidate #4 is defined in an impl of the trait `std::fmt::Display` for the type `u64`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Frame::Integer(num) => Pointer::fmt(&num, fmt),
[INFO] [stdout]     |                                    ~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Frame::Integer(num) => Debug::fmt(&num, fmt),
[INFO] [stdout]     |                                    ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Frame::Integer(num) => UpperHex::fmt(&num, fmt),
[INFO] [stdout]     |                                    ~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #4
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Frame::Integer(num) => std::fmt::Display::fmt(&num, fmt),
[INFO] [stdout]     |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/frame.rs:176:38
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 Ok(string) => string.fmt(fmt),
[INFO] [stdout]     |                                      ^^^ multiple `fmt` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Pointer`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1285:5
[INFO] [stdout] note: candidate #2 is defined in the trait `UpperHex`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1226:5
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `Debug` for the type `str`
[INFO] [stdout]     = note: candidate #4 is defined in an impl of the trait `std::fmt::Display` for the type `str`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 Ok(string) => Pointer::fmt(&string, fmt),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 Ok(string) => UpperHex::fmt(&string, fmt),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 Ok(string) => Debug::fmt(&string, fmt),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #4
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 Ok(string) => std::fmt::Display::fmt(&string, fmt),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/frame.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |             Frame::Null => "(nil)".fmt(fmt),
[INFO] [stdout]     |                                    ^^^ multiple `fmt` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Pointer`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1285:5
[INFO] [stdout] note: candidate #2 is defined in the trait `UpperHex`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1226:5
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `Debug` for the type `str`
[INFO] [stdout]     = note: candidate #4 is defined in an impl of the trait `std::fmt::Display` for the type `str`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 179 |             Frame::Null => Pointer::fmt(&"(nil)", fmt),
[INFO] [stdout]     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 179 |             Frame::Null => UpperHex::fmt(&"(nil)", fmt),
[INFO] [stdout]     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 179 |             Frame::Null => Debug::fmt(&"(nil)", fmt),
[INFO] [stdout]     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #4
[INFO] [stdout]     |
[INFO] [stdout] 179 |             Frame::Null => std::fmt::Display::fmt(&"(nil)", fmt),
[INFO] [stdout]     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/frame.rs:185:26
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     part.fmt(fmt)?;
[INFO] [stdout]     |                          ^^^ multiple `fmt` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Pointer`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1285:5
[INFO] [stdout] note: candidate #2 is defined in the trait `UpperHex`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1226:5
[INFO] [stdout] note: candidate #3 is defined in an impl of the trait `Debug` for the type `Frame`
[INFO] [stdout]    --> src/frame.rs:8:17
[INFO] [stdout]     |
[INFO] [stdout] 8   | #[derive(Clone, Debug)]
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] note: candidate #4 is defined in an impl of the trait `std::fmt::Display` for the type `Frame`
[INFO] [stdout]    --> src/frame.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     Pointer::fmt(&part, fmt)?;
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     UpperHex::fmt(&part, fmt)?;
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     Debug::fmt(&part, fmt)?;
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #4
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     std::fmt::Display::fmt(&part, fmt)?;
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `frame::Error: From<String>` is not satisfied
[INFO] [stdout]    --> src/frame.rs:239:51
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn from(src: &str) -> Error { src.to_string().into() }
[INFO] [stdout]     |                                                   ^^^^ the trait `From<String>` is not implemented for `frame::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `frame::Error` implements `From<&str>`
[INFO] [stdout]               `frame::Error` implements `From<FromUtf8Error>`
[INFO] [stdout]     = note: required for `String` to implement `Into<frame::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/frame.rs:251:55
[INFO] [stdout]     |
[INFO] [stdout] 251 |             Error::Incomplete => "stream ended early".fmt(fmt),
[INFO] [stdout]     |                                                       ^^^ multiple `fmt` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Pointer`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1285:5
[INFO] [stdout] note: candidate #2 is defined in the trait `UpperHex`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1226:5
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `Debug` for the type `str`
[INFO] [stdout]     = note: candidate #4 is defined in an impl of the trait `std::fmt::Display` for the type `str`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 251 |             Error::Incomplete => Pointer::fmt(&"stream ended early", fmt),
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 251 |             Error::Incomplete => UpperHex::fmt(&"stream ended early", fmt),
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 251 |             Error::Incomplete => Debug::fmt(&"stream ended early", fmt),
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #4
[INFO] [stdout]     |
[INFO] [stdout] 251 |             Error::Incomplete => std::fmt::Display::fmt(&"stream ended early", fmt),
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/frame.rs:252:38
[INFO] [stdout]     |
[INFO] [stdout] 252 |             Error::Other(err) => err.fmt(fmt),
[INFO] [stdout]     |                                      ^^^ multiple `fmt` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `UpperHex`
[INFO] [stdout]    --> /rustc/ad211ced81509462cdfe4c29ed10f97279a0acae/library/core/src/fmt/mod.rs:1226:5
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Debug` for the type `Box<T, A>`
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `Pointer` for the type `Box<T, A>`
[INFO] [stdout]     = note: candidate #4 is defined in an impl of the trait `std::fmt::Display` for the type `Box<T, A>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 252 |             Error::Other(err) => UpperHex::fmt(&err, fmt),
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 252 |             Error::Other(err) => Debug::fmt(&err, fmt),
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 252 |             Error::Other(err) => Pointer::fmt(&err, fmt),
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the method for candidate #4
[INFO] [stdout]     |
[INFO] [stdout] 252 |             Error::Other(err) => std::fmt::Display::fmt(&err, fmt),
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `Db` in the current scope
[INFO] [stdout]   --> src/db.rs:38:45
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct Db {
[INFO] [stdout]    | -------------------- method `clone` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub(crate) fn db(&self) -> Db { self.db.clone() }
[INFO] [stdout]    |                                             ^^^^^ method not found in `Db`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `shutdown_purge_task` found for struct `Db` in the current scope
[INFO] [stdout]   --> src/db.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct Db {
[INFO] [stdout]    | -------------------- method `shutdown_purge_task` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |         self.db.shutdown_purge_task();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ method not found in `Db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/db.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub(crate) fn new() -> Db {
[INFO] [stdout]    |                   ---      ^^ expected `Db`, found `()`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mini-redis` (lib) due to 15 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "b648e8d9a5624ca8e0ae239cb6c185fcc197ccf0c84a1b9e35f11e06fced5966", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b648e8d9a5624ca8e0ae239cb6c185fcc197ccf0c84a1b9e35f11e06fced5966", kill_on_drop: false }`
[INFO] [stdout] b648e8d9a5624ca8e0ae239cb6c185fcc197ccf0c84a1b9e35f11e06fced5966
