[INFO] fetching crate rato 0.1.2...
[INFO] testing rato-0.1.2 against 1.90.0 for beta-1.91-3
[INFO] extracting crate rato 0.1.2 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate rato 0.1.2
[INFO] finished tweaking crates.io crate rato 0.1.2
[INFO] tweaked toml for crates.io crate rato 0.1.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rato 0.1.2 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 11 packages to latest compatible versions
[INFO] [stderr]       Adding hashbrown v0.1.8 (available: v0.16.0)
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.28)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded scopeguard v0.3.3
[INFO] [stderr]   Downloaded hashbrown v0.1.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2c7bc0fba7c8e41d5647140a7abf5e63bc9a819c6713c999618d61166f6cc6fe
[INFO] running `Command { std: "docker" "start" "-a" "2c7bc0fba7c8e41d5647140a7abf5e63bc9a819c6713c999618d61166f6cc6fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c7bc0fba7c8e41d5647140a7abf5e63bc9a819c6713c999618d61166f6cc6fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c7bc0fba7c8e41d5647140a7abf5e63bc9a819c6713c999618d61166f6cc6fe", kill_on_drop: false }`
[INFO] [stdout] 2c7bc0fba7c8e41d5647140a7abf5e63bc9a819c6713c999618d61166f6cc6fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49f6fc0eaee023c5897396f2106e73e6010550bc3e0a5de71143c8296106afab
[INFO] running `Command { std: "docker" "start" "-a" "49f6fc0eaee023c5897396f2106e73e6010550bc3e0a5de71143c8296106afab", kill_on_drop: false }`
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling hashbrown v0.1.8
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling rato v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:414:17
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 (if let Err(e) = event_handler.on_cmd_flushdb(&db) {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 420 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                 if let Err(e) = event_handler.on_cmd_flushdb(&db) {
[INFO] [stdout] 415 |                     format!("-ERR FLUSHDB Failed '{}'\r\n", e.to_string())
[INFO] [stdout] ...
[INFO] [stdout] 419 |                     b"+OK\r\n".to_vec()
[INFO] [stdout] 420 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 (match args.len() {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 423 ~                 match args.len() {
[INFO] [stdout] 424 |                     1 => {
[INFO] [stdout] ...
[INFO] [stdout] 442 |                     _ => RedisUtil::invalid_num_args(&args[0]),
[INFO] [stdout] 443 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:446:17
[INFO] [stdout]     |
[INFO] [stdout] 446 |                 (match args.len() {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 472 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 446 ~                 match args.len() {
[INFO] [stdout] 447 |                     1 => {
[INFO] [stdout] ...
[INFO] [stdout] 471 |                     _ => RedisUtil::invalid_num_args(&args[0]),
[INFO] [stdout] 472 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.09s
[INFO] running `Command { std: "docker" "inspect" "49f6fc0eaee023c5897396f2106e73e6010550bc3e0a5de71143c8296106afab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49f6fc0eaee023c5897396f2106e73e6010550bc3e0a5de71143c8296106afab", kill_on_drop: false }`
[INFO] [stdout] 49f6fc0eaee023c5897396f2106e73e6010550bc3e0a5de71143c8296106afab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 758b99f5483dfbf9f946a58072304be8f03dba07fa7834b89de6aeb5ba32c12c
[INFO] running `Command { std: "docker" "start" "-a" "758b99f5483dfbf9f946a58072304be8f03dba07fa7834b89de6aeb5ba32c12c", kill_on_drop: false }`
[INFO] [stderr]    Compiling rato v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:414:17
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 (if let Err(e) = event_handler.on_cmd_flushdb(&db) {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 420 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                 if let Err(e) = event_handler.on_cmd_flushdb(&db) {
[INFO] [stdout] 415 |                     format!("-ERR FLUSHDB Failed '{}'\r\n", e.to_string())
[INFO] [stdout] ...
[INFO] [stdout] 419 |                     b"+OK\r\n".to_vec()
[INFO] [stdout] 420 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 (match args.len() {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 423 ~                 match args.len() {
[INFO] [stdout] 424 |                     1 => {
[INFO] [stdout] ...
[INFO] [stdout] 442 |                     _ => RedisUtil::invalid_num_args(&args[0]),
[INFO] [stdout] 443 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:446:17
[INFO] [stdout]     |
[INFO] [stdout] 446 |                 (match args.len() {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 472 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 446 ~                 match args.len() {
[INFO] [stdout] 447 |                     1 => {
[INFO] [stdout] ...
[INFO] [stdout] 471 |                     _ => RedisUtil::invalid_num_args(&args[0]),
[INFO] [stdout] 472 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `env_logger`
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     extern crate env_logger;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:414:17
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 (if let Err(e) = event_handler.on_cmd_flushdb(&db) {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 420 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                 if let Err(e) = event_handler.on_cmd_flushdb(&db) {
[INFO] [stdout] 415 |                     format!("-ERR FLUSHDB Failed '{}'\r\n", e.to_string())
[INFO] [stdout] ...
[INFO] [stdout] 419 |                     b"+OK\r\n".to_vec()
[INFO] [stdout] 420 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 (match args.len() {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 423 ~                 match args.len() {
[INFO] [stdout] 424 |                     1 => {
[INFO] [stdout] ...
[INFO] [stdout] 442 |                     _ => RedisUtil::invalid_num_args(&args[0]),
[INFO] [stdout] 443 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/rato.rs:446:17
[INFO] [stdout]     |
[INFO] [stdout] 446 |                 (match args.len() {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 472 |                 })
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 446 ~                 match args.len() {
[INFO] [stdout] 447 |                     1 => {
[INFO] [stdout] ...
[INFO] [stdout] 471 |                     _ => RedisUtil::invalid_num_args(&args[0]),
[INFO] [stdout] 472 ~                 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/lib.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/lib.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     use std::sync::Arc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"AUTH secret\r\n".to_vec());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^---------------------------------------------------------- two arguments of type `&mut Vec<u8>` and `usize` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/rato.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse_input<T>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         output: &mut Vec<u8>,
[INFO] [stdout]     |         --------------------
[INFO] [stdout] 142 |         parallel_parsing_threshold: usize,
[INFO] [stdout]     |         ---------------------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"AUTH secret\r\n".to_vec(), /* &mut Vec<u8> */, /* usize */);
[INFO] [stdout]     |                                                                                             +++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:151:44
[INFO] [stdout]     |
[INFO] [stdout] 151 |         assert_eq!(String::from_utf8_lossy(&res.0), "+OK\r\n");
[INFO] [stdout]     |                    ----------------------- ^^^^^^ expected `&[u8]`, found `&bool`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[u8]`
[INFO] [stdout]                found reference `&bool`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/string.rs:622:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"AUTH abc\r\n".to_vec());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^------------------------------------------------------- two arguments of type `&mut Vec<u8>` and `usize` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/rato.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse_input<T>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         output: &mut Vec<u8>,
[INFO] [stdout]     |         --------------------
[INFO] [stdout] 142 |         parallel_parsing_threshold: usize,
[INFO] [stdout]     |         ---------------------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"AUTH abc\r\n".to_vec(), /* &mut Vec<u8> */, /* usize */);
[INFO] [stdout]     |                                                                                          +++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:154:44
[INFO] [stdout]     |
[INFO] [stdout] 154 |         assert_ne!(String::from_utf8_lossy(&res.0), "+OK\r\n");
[INFO] [stdout]     |                    ----------------------- ^^^^^^ expected `&[u8]`, found `&bool`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[u8]`
[INFO] [stdout]                found reference `&bool`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/string.rs:622:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:170:19
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"PING\r\n".to_vec());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^--------------------------------------------------- two arguments of type `&mut Vec<u8>` and `usize` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/rato.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse_input<T>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         output: &mut Vec<u8>,
[INFO] [stdout]     |         --------------------
[INFO] [stdout] 142 |         parallel_parsing_threshold: usize,
[INFO] [stdout]     |         ---------------------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"PING\r\n".to_vec(), /* &mut Vec<u8> */, /* usize */);
[INFO] [stdout]     |                                                                                      +++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:171:44
[INFO] [stdout]     |
[INFO] [stdout] 171 |         assert_eq!(String::from_utf8_lossy(&res.0), "+PONG\r\n");
[INFO] [stdout]     |                    ----------------------- ^^^^^^ expected `&[u8]`, found `&bool`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[u8]`
[INFO] [stdout]                found reference `&bool`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/string.rs:622:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:173:19
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"PING test_key\r\n".to_vec());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^------------------------------------------------------------ two arguments of type `&mut Vec<u8>` and `usize` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/rato.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse_input<T>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         output: &mut Vec<u8>,
[INFO] [stdout]     |         --------------------
[INFO] [stdout] 142 |         parallel_parsing_threshold: usize,
[INFO] [stdout]     |         ---------------------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"PING test_key\r\n".to_vec(), /* &mut Vec<u8> */, /* usize */);
[INFO] [stdout]     |                                                                                               +++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:174:44
[INFO] [stdout]     |
[INFO] [stdout] 174 |         assert_eq!(String::from_utf8_lossy(&res.0), "$8\r\ntest_key\r\n");
[INFO] [stdout]     |                    ----------------------- ^^^^^^ expected `&[u8]`, found `&bool`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[u8]`
[INFO] [stdout]                found reference `&bool`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/string.rs:622:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"SET a b\r\n".to_vec());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^------------------------------------------------------ two arguments of type `&mut Vec<u8>` and `usize` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/rato.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse_input<T>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         output: &mut Vec<u8>,
[INFO] [stdout]     |         --------------------
[INFO] [stdout] 142 |         parallel_parsing_threshold: usize,
[INFO] [stdout]     |         ---------------------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"SET a b\r\n".to_vec(), /* &mut Vec<u8> */, /* usize */);
[INFO] [stdout]     |                                                                                         +++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:191:44
[INFO] [stdout]     |
[INFO] [stdout] 191 |         assert_eq!(String::from_utf8_lossy(&res.0), "+OK\r\n");
[INFO] [stdout]     |                    ----------------------- ^^^^^^ expected `&[u8]`, found `&bool`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[u8]`
[INFO] [stdout]                found reference `&bool`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/string.rs:622:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:207:19
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"GET a\r\n".to_vec());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^---------------------------------------------------- two arguments of type `&mut Vec<u8>` and `usize` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/rato.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse_input<T>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         output: &mut Vec<u8>,
[INFO] [stdout]     |         --------------------
[INFO] [stdout] 142 |         parallel_parsing_threshold: usize,
[INFO] [stdout]     |         ---------------------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"GET a\r\n".to_vec(), /* &mut Vec<u8> */, /* usize */);
[INFO] [stdout]     |                                                                                       +++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:208:44
[INFO] [stdout]     |
[INFO] [stdout] 208 |         assert_eq!(String::from_utf8_lossy(&res.0), "$1\r\nb\r\n");
[INFO] [stdout]     |                    ----------------------- ^^^^^^ expected `&[u8]`, found `&bool`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[u8]`
[INFO] [stdout]                found reference `&bool`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/string.rs:622:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:224:19
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"SELECT PAN_DB\r\n".to_vec());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^------------------------------------------------------------ two arguments of type `&mut Vec<u8>` and `usize` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/rato.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse_input<T>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         output: &mut Vec<u8>,
[INFO] [stdout]     |         --------------------
[INFO] [stdout] 142 |         parallel_parsing_threshold: usize,
[INFO] [stdout]     |         ---------------------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"SELECT PAN_DB\r\n".to_vec(), /* &mut Vec<u8> */, /* usize */);
[INFO] [stdout]     |                                                                                               +++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"GET a\r\n".to_vec());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^---------------------------------------------------- two arguments of type `&mut Vec<u8>` and `usize` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/rato.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse_input<T>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |         output: &mut Vec<u8>,
[INFO] [stdout]     |         --------------------
[INFO] [stdout] 142 |         parallel_parsing_threshold: usize,
[INFO] [stdout]     |         ---------------------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let res = Rato::parse_input(&redis_test, &mut tags, &mut b"GET a\r\n".to_vec(), /* &mut Vec<u8> */, /* usize */);
[INFO] [stdout]     |                                                                                       +++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/lib.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn on_cmd_echo(&self, val: &[u8]) {}
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn on_cmd_auth(&self, db: &[u8], password: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 |         fn on_cmd_flushdb(&self, db: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 |         fn on_cmd_keys(&self, db: &[u8]) -> Result<Vec<Vec<u8>>, String> {
[INFO] [stdout]    |                               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn on_cmd_del(&self, db: &[u8], key: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                              ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/lib.rs:49:41
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn on_cmd_del(&self, db: &[u8], key: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 |         fn on_cmd_get(&self, db: &[u8], key: &[u8]) -> Result<Option<Vec<u8>>, String> {
[INFO] [stdout]    |                              ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/lib.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |         fn on_cmd_get(&self, db: &[u8], key: &[u8]) -> Result<Option<Vec<u8>>, String> {
[INFO] [stdout]    |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             db: &[u8],
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> src/lib.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             hash: &[u8],
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]   --> src/lib.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             keys: &[Vec<u8>],
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |         fn on_cmd_hget(&self, db: &[u8], hash: &[u8], key: &[u8]) -> Result<Option<Vec<u8>>, String> {
[INFO] [stdout]    |                               ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> src/lib.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 |         fn on_cmd_hget(&self, db: &[u8], hash: &[u8], key: &[u8]) -> Result<Option<Vec<u8>>, String> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/lib.rs:63:55
[INFO] [stdout]    |
[INFO] [stdout] 63 |         fn on_cmd_hget(&self, db: &[u8], hash: &[u8], key: &[u8]) -> Result<Option<Vec<u8>>, String> {
[INFO] [stdout]    |                                                       ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             db: &[u8],
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> src/lib.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |             hash: &[u8],
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:73:30
[INFO] [stdout]    |
[INFO] [stdout] 73 |         fn on_cmd_set(&self, db: &[u8], key: &[u8], val: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                              ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/lib.rs:73:41
[INFO] [stdout]    |
[INFO] [stdout] 73 |         fn on_cmd_set(&self, db: &[u8], key: &[u8], val: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/lib.rs:73:53
[INFO] [stdout]    |
[INFO] [stdout] 73 |         fn on_cmd_set(&self, db: &[u8], key: &[u8], val: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             db: &[u8],
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> src/lib.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             hash: &[u8],
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv`
[INFO] [stdout]   --> src/lib.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             kv:&[Vec<u8>],
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_kv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/lib.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             db: &[u8],
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> src/lib.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             hash: &[u8],
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/lib.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |             key: &[u8],
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/lib.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |             val: &[u8],
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]   --> src/lib.rs:94:30
[INFO] [stdout]    |
[INFO] [stdout] 94 |         fn on_cmd_msg(&self, channel: &[u8], val: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/lib.rs:94:46
[INFO] [stdout]    |
[INFO] [stdout] 94 |         fn on_cmd_msg(&self, channel: &[u8], val: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/lib.rs:97:36
[INFO] [stdout]    |
[INFO] [stdout] 97 |         fn on_cmd_subscribe(&self, val: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/lib.rs:100:45
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fn on_cmd_subscribe_response(&self, channel: &[u8], status: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/lib.rs:100:61
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fn on_cmd_subscribe_response(&self, channel: &[u8], status: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv`
[INFO] [stdout]    --> src/lib.rs:110:43
[INFO] [stdout]     |
[INFO] [stdout] 110 |         fn on_cmd_cluster_add_node(&self, kv: &HashMap<&Vec<u8>, &Vec<u8>>) -> Result<(), String> {
[INFO] [stdout]     |                                           ^^ help: if this is intentional, prefix it with an underscore: `_kv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/lib.rs:113:46
[INFO] [stdout]     |
[INFO] [stdout] 113 |         fn on_cmd_cluster_remove_node(&self, id: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv`
[INFO] [stdout]    --> src/lib.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             kv: &HashMap<&Vec<u8>, &Vec<u8>>,
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_kv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib.rs:125:35
[INFO] [stdout]     |
[INFO] [stdout] 125 |         fn on_cmd_backupdb(&self, db: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                   ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]    --> src/lib.rs:128:42
[INFO] [stdout]     |
[INFO] [stdout] 128 |         fn on_cmd_backup_lru_keys(&self, table_name: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rato` (lib test) due to 15 previous errors; 41 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "758b99f5483dfbf9f946a58072304be8f03dba07fa7834b89de6aeb5ba32c12c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "758b99f5483dfbf9f946a58072304be8f03dba07fa7834b89de6aeb5ba32c12c", kill_on_drop: false }`
[INFO] [stdout] 758b99f5483dfbf9f946a58072304be8f03dba07fa7834b89de6aeb5ba32c12c
