[INFO] cloning repository https://github.com/zimnyjakub/terrible-redis [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zimnyjakub/terrible-redis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzimnyjakub%2Fterrible-redis", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzimnyjakub%2Fterrible-redis'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fb8102f1dcf127758d0376471544589b2836084a [INFO] checking zimnyjakub/terrible-redis against try#6cbf54b1453b438241487f195740266bb9d8c8ba for pr-139587-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzimnyjakub%2Fterrible-redis" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/zimnyjakub/terrible-redis on toolchain 6cbf54b1453b438241487f195740266bb9d8c8ba [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6cbf54b1453b438241487f195740266bb9d8c8ba" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/zimnyjakub/terrible-redis [INFO] finished tweaking git repo https://github.com/zimnyjakub/terrible-redis [INFO] tweaked toml for git repo https://github.com/zimnyjakub/terrible-redis written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/zimnyjakub/terrible-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" "+6cbf54b1453b438241487f195740266bb9d8c8ba" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+6cbf54b1453b438241487f195740266bb9d8c8ba" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 58d6f3233c637946a940afdf9f30cf73d87de2208598b9d4976455b71094d945 [INFO] running `Command { std: "docker" "start" "-a" "58d6f3233c637946a940afdf9f30cf73d87de2208598b9d4976455b71094d945", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "58d6f3233c637946a940afdf9f30cf73d87de2208598b9d4976455b71094d945", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "58d6f3233c637946a940afdf9f30cf73d87de2208598b9d4976455b71094d945", kill_on_drop: false }` [INFO] [stdout] 58d6f3233c637946a940afdf9f30cf73d87de2208598b9d4976455b71094d945 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+6cbf54b1453b438241487f195740266bb9d8c8ba" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7d334cbbc318629f28e10dc51728bad3e233493d559067122fc7f17147043d8e [INFO] running `Command { std: "docker" "start" "-a" "7d334cbbc318629f28e10dc51728bad3e233493d559067122fc7f17147043d8e", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking litemap v0.7.4 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking crc64 v2.0.0 [INFO] [stderr] Checking combine v4.6.7 [INFO] [stderr] Checking itoa v1.0.14 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Compiling syn v2.0.69 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking clap_builder v4.5.27 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling tokio-macros v2.3.0 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling clap_derive v4.5.28 [INFO] [stderr] Checking tokio v1.38.0 [INFO] [stderr] Checking thiserror v1.0.61 [INFO] [stderr] Checking zerofrom v0.1.5 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking clap v4.5.28 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking redis-starter-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `TerribleRedis` is never constructed [INFO] [stdout] --> src/main.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct TerribleRedis { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `run` are never used [INFO] [stdout] --> src/main.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl TerribleRedis { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 66 | pub fn new(parser: RESP) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub async fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get` is never used [INFO] [stdout] --> src/memory.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait Get { [INFO] [stdout] | --- method in this trait [INFO] [stdout] 12 | async fn get(&self, key: &str) -> Option; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGIC` is never used [INFO] [stdout] --> src/rdb.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const MAGIC: &[u8] = b"REDIS0011"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METADATA_SUBSECTION_START` is never used [INFO] [stdout] --> src/rdb.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const METADATA_SUBSECTION_START: &[u8] = &[0xFA]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METADATA_REDIS_VER` is never used [INFO] [stdout] --> src/rdb.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const METADATA_REDIS_VER: &[u8] = b"redis-ver"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_SUBSECTION_START` is never used [INFO] [stdout] --> src/rdb.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const DATA_SUBSECTION_START: &[u8] = &[0xFE]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_END` is never used [INFO] [stdout] --> src/rdb.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const FILE_END: &[u8] = &[0xFF]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB` is never used [INFO] [stdout] --> src/rdb.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const TAB: &[u8] = &[0x09]; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK` is never used [INFO] [stdout] --> src/rdb.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const ACK: &[u8] = &[0x06]; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DB_START` is never used [INFO] [stdout] --> src/rdb.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const DB_START: &[u8] = &[0xFE]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESIZEDB` is never used [INFO] [stdout] --> src/rdb.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const RESIZEDB: &[u8] = &[0xFB]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DB_ENTRY_EXPIRE_MILLISECONDS` is never used [INFO] [stdout] --> src/rdb.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const DB_ENTRY_EXPIRE_MILLISECONDS: &[u8] = &[0xFC]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DB_ENTRY_EXPIRE_SECONDS` is never used [INFO] [stdout] --> src/rdb.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DB_ENTRY_EXPIRE_SECONDS: &[u8] = &[0xFD]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_END_INDICATOR` is never used [INFO] [stdout] --> src/rdb.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const FILE_END_INDICATOR: &[u8] = &[0xFF]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_STRING` is never used [INFO] [stdout] --> src/rdb.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const TYPE_STRING: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_LIST` is never used [INFO] [stdout] --> src/rdb.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const TYPE_LIST: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_SET` is never used [INFO] [stdout] --> src/rdb.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const TYPE_SET: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_ZSET` is never used [INFO] [stdout] --> src/rdb.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const TYPE_ZSET: u8 = 0x03; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_HASH` is never used [INFO] [stdout] --> src/rdb.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const TYPE_HASH: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_ZSET_2` is never used [INFO] [stdout] --> src/rdb.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const TYPE_ZSET_2: u8 = 0x05; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_MODULE` is never used [INFO] [stdout] --> src/rdb.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const TYPE_MODULE: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_MODULE_2` is never used [INFO] [stdout] --> src/rdb.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const TYPE_MODULE_2: u8 = 0x07; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_HASH_ZIPMAP` is never used [INFO] [stdout] --> src/rdb.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const TYPE_HASH_ZIPMAP: u8 = 0x09; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_LIST_ZIPLIST` is never used [INFO] [stdout] --> src/rdb.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | const TYPE_LIST_ZIPLIST: u8 = 0x0A; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_SET_INTSET` is never used [INFO] [stdout] --> src/rdb.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const TYPE_SET_INTSET: u8 = 0x0B; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_ZSET_ZIPLIST` is never used [INFO] [stdout] --> src/rdb.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const TYPE_ZSET_ZIPLIST: u8 = 0x0C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_HASH_ZIPLIST` is never used [INFO] [stdout] --> src/rdb.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const TYPE_HASH_ZIPLIST: u8 = 0x0D; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_LIST_QUICKLIST` is never used [INFO] [stdout] --> src/rdb.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const TYPE_LIST_QUICKLIST: u8 = 0x0E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_STREAM_LISTPACKS` is never used [INFO] [stdout] --> src/rdb.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const TYPE_STREAM_LISTPACKS: u8 = 0x0F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_6BIT` is never used [INFO] [stdout] --> src/rdb.rs:41:7 [INFO] [stdout] | [INFO] [stdout] 41 | const LEN_6BIT: u8 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_14BIT` is never used [INFO] [stdout] --> src/rdb.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const LEN_14BIT: u8 = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_32BIT` is never used [INFO] [stdout] --> src/rdb.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | const LEN_32BIT: u8 = 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_SPECIAL` is never used [INFO] [stdout] --> src/rdb.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | const LEN_SPECIAL: u8 = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_INT8` is never used [INFO] [stdout] --> src/rdb.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const LEN_INT8: u8 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_INT16` is never used [INFO] [stdout] --> src/rdb.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const LEN_INT16: u8 = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_INT32` is never used [INFO] [stdout] --> src/rdb.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const LEN_INT32: u8 = 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_LZF` is never used [INFO] [stdout] --> src/rdb.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const LEN_LZF: u8 = 3; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rdb.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | IoError(std::io::Error), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `RdbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 57 - IoError(std::io::Error), [INFO] [stdout] 57 + IoError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidHeader`, `InvalidFormat`, `NotImplementedYet`, `DeserializationError`, and `SerializationError` are never constructed [INFO] [stdout] --> src/rdb.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub enum RdbError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 54 | InvalidHeader, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 55 | InvalidFormat(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 56 | NotImplementedYet(u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | IoError(std::io::Error), [INFO] [stdout] 58 | DeserializationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | SerializationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RdbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `value` and `expiry` are never read [INFO] [stdout] --> src/rdb.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct RdbEntry { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 77 | pub key: String, [INFO] [stdout] 78 | pub value: RdbValue, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 79 | pub expiry: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RdbEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `redis_version` is never read [INFO] [stdout] --> src/rdb.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct RedisDatabase { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 88 | redis_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RedisDatabase` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/rdb.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl RedisDatabase { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn create(redis_version: &str) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | fn initialize_header(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | fn read_key_value_pair(&self, _pos: usize) -> Result<(String, RdbValue, usize), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | fn read_string_value(&self, _pos: usize) -> Result<(RdbValue, usize), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | fn read_length(&self, pos: usize) -> Result<(u32, usize), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 358 | pub fn serialize(&mut self) -> Result, RdbError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 401 | fn write_string(&mut self, s: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | fn write_integer(&mut self, i: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 428 | fn is_header_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | pub fn close_data_calculate_checksum(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn save_to_disk(&self) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 446 | pub fn store_string(&mut self, key: &str, value: &str) -> Result<(), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | pub fn store_integer(&mut self, key: &str, value: i64) -> Result<(), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 470 | pub fn store_with_expiry(&mut self, key: &str, value: RdbValue, expiry: SystemTime) -> Result<(), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 482 | pub fn get(&self, key: &str) -> Option<&RdbEntry> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 487 | pub fn get_all_entries(&self) -> Vec<&RdbEntry> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | pub fn set_file_path_and_name(&mut self, file_path: String, file_name: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_length` is never used [INFO] [stdout] --> src/rdb.rs:503:4 [INFO] [stdout] | [INFO] [stdout] 503 | fn encode_length(len: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RESP` is never constructed [INFO] [stdout] --> src/resp.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct RESP { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Command`, `Ping`, `Echo`, `Set`, `Get`, and `Config` are never constructed [INFO] [stdout] --> src/resp.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum RESPCommand { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 15 | Command(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 16 | Ping, [INFO] [stdout] | ^^^^ [INFO] [stdout] 17 | Echo(String), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Set(String, String, Option, Option), [INFO] [stdout] | ^^^ [INFO] [stdout] 19 | Get(String), [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | Config(String, String) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RESPCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/resp.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl RESP { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 24 | pub fn new(storage: InMemoryStore, config: InMemoryStore) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub async fn pop(&mut self) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn resp_bulk_string(&self, value: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn resp_array(&self, args: Vec<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn resp_ok(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn resp_null(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn parse_input(&mut self, input: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking redis v0.28.1 [INFO] [stdout] warning: struct `TerribleRedis` is never constructed [INFO] [stdout] --> src/main.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct TerribleRedis { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `run` are never used [INFO] [stdout] --> src/main.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl TerribleRedis { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 66 | pub fn new(parser: RESP) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub async fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get` is never used [INFO] [stdout] --> src/memory.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait Get { [INFO] [stdout] | --- method in this trait [INFO] [stdout] 12 | async fn get(&self, key: &str) -> Option; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_SUBSECTION_START` is never used [INFO] [stdout] --> src/rdb.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const DATA_SUBSECTION_START: &[u8] = &[0xFE]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DB_ENTRY_EXPIRE_SECONDS` is never used [INFO] [stdout] --> src/rdb.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DB_ENTRY_EXPIRE_SECONDS: &[u8] = &[0xFD]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_END_INDICATOR` is never used [INFO] [stdout] --> src/rdb.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const FILE_END_INDICATOR: &[u8] = &[0xFF]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_LIST` is never used [INFO] [stdout] --> src/rdb.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const TYPE_LIST: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_SET` is never used [INFO] [stdout] --> src/rdb.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const TYPE_SET: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_ZSET` is never used [INFO] [stdout] --> src/rdb.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const TYPE_ZSET: u8 = 0x03; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_HASH` is never used [INFO] [stdout] --> src/rdb.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const TYPE_HASH: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_ZSET_2` is never used [INFO] [stdout] --> src/rdb.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const TYPE_ZSET_2: u8 = 0x05; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_MODULE` is never used [INFO] [stdout] --> src/rdb.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const TYPE_MODULE: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_MODULE_2` is never used [INFO] [stdout] --> src/rdb.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const TYPE_MODULE_2: u8 = 0x07; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_HASH_ZIPMAP` is never used [INFO] [stdout] --> src/rdb.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const TYPE_HASH_ZIPMAP: u8 = 0x09; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_LIST_ZIPLIST` is never used [INFO] [stdout] --> src/rdb.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | const TYPE_LIST_ZIPLIST: u8 = 0x0A; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_SET_INTSET` is never used [INFO] [stdout] --> src/rdb.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const TYPE_SET_INTSET: u8 = 0x0B; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_ZSET_ZIPLIST` is never used [INFO] [stdout] --> src/rdb.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const TYPE_ZSET_ZIPLIST: u8 = 0x0C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_HASH_ZIPLIST` is never used [INFO] [stdout] --> src/rdb.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const TYPE_HASH_ZIPLIST: u8 = 0x0D; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_LIST_QUICKLIST` is never used [INFO] [stdout] --> src/rdb.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const TYPE_LIST_QUICKLIST: u8 = 0x0E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TYPE_STREAM_LISTPACKS` is never used [INFO] [stdout] --> src/rdb.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const TYPE_STREAM_LISTPACKS: u8 = 0x0F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_6BIT` is never used [INFO] [stdout] --> src/rdb.rs:41:7 [INFO] [stdout] | [INFO] [stdout] 41 | const LEN_6BIT: u8 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_14BIT` is never used [INFO] [stdout] --> src/rdb.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const LEN_14BIT: u8 = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_32BIT` is never used [INFO] [stdout] --> src/rdb.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | const LEN_32BIT: u8 = 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_SPECIAL` is never used [INFO] [stdout] --> src/rdb.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | const LEN_SPECIAL: u8 = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_INT8` is never used [INFO] [stdout] --> src/rdb.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const LEN_INT8: u8 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_INT16` is never used [INFO] [stdout] --> src/rdb.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const LEN_INT16: u8 = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_INT32` is never used [INFO] [stdout] --> src/rdb.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const LEN_INT32: u8 = 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEN_LZF` is never used [INFO] [stdout] --> src/rdb.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const LEN_LZF: u8 = 3; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rdb.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | IoError(std::io::Error), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `RdbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 57 - IoError(std::io::Error), [INFO] [stdout] 57 + IoError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rdb.rs:59:24 [INFO] [stdout] | [INFO] [stdout] 59 | SerializationError(String), [INFO] [stdout] | ------------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `RdbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 59 - SerializationError(String), [INFO] [stdout] 59 + SerializationError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidHeader`, `InvalidFormat`, `NotImplementedYet`, and `DeserializationError` are never constructed [INFO] [stdout] --> src/rdb.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub enum RdbError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 54 | InvalidHeader, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 55 | InvalidFormat(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 56 | NotImplementedYet(u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | IoError(std::io::Error), [INFO] [stdout] 58 | DeserializationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RdbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_key_value_pair`, `read_string_value`, `read_length`, and `get_all_entries` are never used [INFO] [stdout] --> src/rdb.rs:340:8 [INFO] [stdout] | [INFO] [stdout] 91 | impl RedisDatabase { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 340 | fn read_key_value_pair(&self, _pos: usize) -> Result<(String, RdbValue, usize), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | fn read_string_value(&self, _pos: usize) -> Result<(RdbValue, usize), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | fn read_length(&self, pos: usize) -> Result<(u32, usize), RdbError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 487 | pub fn get_all_entries(&self) -> Vec<&RdbEntry> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RESP` is never constructed [INFO] [stdout] --> src/resp.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct RESP { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Command`, `Ping`, `Echo`, `Set`, `Get`, and `Config` are never constructed [INFO] [stdout] --> src/resp.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum RESPCommand { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 15 | Command(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 16 | Ping, [INFO] [stdout] | ^^^^ [INFO] [stdout] 17 | Echo(String), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Set(String, String, Option, Option), [INFO] [stdout] | ^^^ [INFO] [stdout] 19 | Get(String), [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | Config(String, String) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RESPCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/resp.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl RESP { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 24 | pub fn new(storage: InMemoryStore, config: InMemoryStore) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub async fn pop(&mut self) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn resp_bulk_string(&self, value: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn resp_array(&self, args: Vec<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn resp_ok(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn resp_null(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn parse_input(&mut self, input: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.79s [INFO] running `Command { std: "docker" "inspect" "7d334cbbc318629f28e10dc51728bad3e233493d559067122fc7f17147043d8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d334cbbc318629f28e10dc51728bad3e233493d559067122fc7f17147043d8e", kill_on_drop: false }` [INFO] [stdout] 7d334cbbc318629f28e10dc51728bad3e233493d559067122fc7f17147043d8e