[INFO] cloning repository https://github.com/namrapatel/tinyredis [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/namrapatel/tinyredis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnamrapatel%2Ftinyredis", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnamrapatel%2Ftinyredis'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6478b988b066e69f4d59f725656bcaa2831ed266 [INFO] testing namrapatel/tinyredis against 1.100.0-beta.1 for beta-1.100-4 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnamrapatel%2Ftinyredis" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/namrapatel/tinyredis [INFO] finished tweaking git repo https://github.com/namrapatel/tinyredis [INFO] tweaked toml for git repo https://github.com/namrapatel/tinyredis written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/namrapatel/tinyredis on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/namrapatel/tinyredis already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16 [INFO] running `Command { std: "docker" "start" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.140 [INFO] [stderr] Compiling proc-macro2 v1.0.55 [INFO] [stderr] Compiling quote v1.0.26 [INFO] [stderr] Compiling unicode-ident v1.0.8 [INFO] [stderr] Compiling parking_lot_core v0.9.7 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling anyhow v1.0.70 [INFO] [stderr] Compiling pin-project-lite v0.2.9 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling lock_api v0.4.9 [INFO] [stderr] Compiling tokio v1.27.0 [INFO] [stderr] Compiling syn v2.0.13 [INFO] [stderr] Compiling getrandom v0.2.9 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling num_cpus v1.15.0 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling mio v0.8.6 [INFO] [stderr] Compiling netstat v0.7.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling regex v1.7.3 [INFO] [stderr] Compiling tokio-macros v2.0.0 [INFO] [stderr] Compiling tinyredis v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `*` and `self` [INFO] [stdout] --> src/server.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | cache::{self, Cache}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 3 | resp::RESPMessage, [INFO] [stdout] 4 | simpleElection::{self, *}, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IpAddr` and `Ipv4Addr` [INFO] [stdout] --> src/server.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use std::net::{IpAddr, Ipv4Addr}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::btree_map::Keys` [INFO] [stdout] --> src/server.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | collections::btree_map::Keys, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stream` [INFO] [stdout] --> src/server.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | stream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/cache.rs:136:16 [INFO] [stdout] | [INFO] [stdout] 136 | if (self.cache.contains_key(k)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 136 - if (self.cache.contains_key(k)) { [INFO] [stdout] 136 + if self.cache.contains_key(k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::u64::MAX`: replaced by the `MAX` associated constant on this type [INFO] [stdout] --> src/cache.rs:92:50 [INFO] [stdout] | [INFO] [stdout] 92 | let mut minFrequency = std::u64::MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/server.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | _ => println!("Default"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/server.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 78 | Ok(_) => {} [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 79 | Err(e) => println!("Error: {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 80 | _ => println!("Default"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut keys: Vec = Vec::new(); //list of keys [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut values: Vec = Vec::new(); //list of values [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:125:34 [INFO] [stdout] | [INFO] [stdout] 125 | ... let (mut save_k, save_v) = save; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/server.rs:311:17 [INFO] [stdout] | [INFO] [stdout] 311 | _ => println!("Default catch"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/server.rs:311:17 [INFO] [stdout] | [INFO] [stdout] 309 | Ok(_) => println!("Write to stream OK"), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 310 | Err(e) => println!("Error {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 311 | _ => println!("Default catch"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:267:25 [INFO] [stdout] | [INFO] [stdout] 267 | let mut child = Command::new(std::env::args().next().unwrap()) [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | let mut resp = cache.lock().unwrap().get_key(); //get keys and values from cache [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/server.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | io::{Read, Write}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/server.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | io::{Read, Write}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keys` [INFO] [stdout] --> src/server.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut keys: Vec = Vec::new(); //list of keys [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keys` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/server.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut values: Vec = Vec::new(); //list of values [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `RUN_ID` [INFO] [stdout] --> src/server.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let RUN_ID: String = (0..length) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_RUN_ID` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/server.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let handle = thread::spawn(|| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/server.rs:267:25 [INFO] [stdout] | [INFO] [stdout] 267 | let mut child = Command::new(std::env::args().next().unwrap()) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cache.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for mut c in &mut self.cache { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `minFrequencyKey` is assigned to, but never used [INFO] [stdout] --> src/cache.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | let mut minFrequencyKey = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_minFrequencyKey` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `minFrequencyKey` is never read [INFO] [stdout] --> src/cache.rs:97:25 [INFO] [stdout] | [INFO] [stdout] 97 | minFrequencyKey = c.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/simpleElection.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | let mut child = Command::new(std::env::args().next().unwrap()) [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/simpleElection.rs:53:22 [INFO] [stdout] | [INFO] [stdout] 53 | for (&server_id, port) in server_ids.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/simpleElection.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | let mut child = Command::new(std::env::args().next().unwrap()) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | _ => println!("Default"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 100 | Ok(_) => {}, [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 101 | Err(e) => println!("Error: {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 102 | _ => println!("Default"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | _ => println!("Default case"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 106 | Ok(_) => println!("{}", response), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 107 | Err(e) => {}, [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 108 | _ => println!("Default case"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/simpleElection.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/simpleElection.rs:107:13 [INFO] [stdout] | [INFO] [stdout] 107 | Err(e) => {}, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | _ => println!("Default"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 134 | Ok(_) => println!("Write to stream OK"), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 135 | Err(e) => println!("Error: {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 136 | _ => println!("Default"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | _ => println!("Default case"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 140 | Ok(_) => println!("{}", response), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 141 | Err(e) => {}, [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 142 | _ => println!("Default case"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/simpleElection.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | Err(e) => {}, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | _ => println!("Default"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 167 | Ok(_) => println!("Write to stream OK"), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 168 | Err(e) => println!("Error: {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 169 | _ => println!("Default"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | _ => println!("Default case"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 173 | Ok(_) => println!("{}", response), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 174 | Err(e) => {}, [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 175 | _ => println!("Default case"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/simpleElection.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | Err(e) => {}, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `simpleElection` should have a snake case name [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | mod simpleElection; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `simple_election` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `PORT` should have a snake case name [INFO] [stdout] --> src/server.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let PORT = &args[1]; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `RUN_ID` should have a snake case name [INFO] [stdout] --> src/server.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let RUN_ID: String = (0..length) [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `run_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `PORT` should have a snake case name [INFO] [stdout] --> src/server.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let PORT = &args[1]; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maxAging` should have a snake case name [INFO] [stdout] --> src/cache.rs:83:25 [INFO] [stdout] | [INFO] [stdout] 83 | let mut maxAging = 0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `max_aging` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maxAgingKey` should have a snake case name [INFO] [stdout] --> src/cache.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | let mut maxAgingKey = ""; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `max_aging_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `minFrequency` should have a snake case name [INFO] [stdout] --> src/cache.rs:92:25 [INFO] [stdout] | [INFO] [stdout] 92 | let mut minFrequency = std::u64::MAX; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `min_frequency` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `minFrequencyKey` should have a snake case name [INFO] [stdout] --> src/cache.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | let mut minFrequencyKey = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `min_frequency_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/simpleElection.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 89 | let _ = stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/simpleElection.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 123 | let _ = stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/simpleElection.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 156 | let _ = stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unused dependency `netstat` [INFO] [stderr] --> Cargo.toml:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | netstat = "0.7.0" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `netstat` [INFO] [stderr] warning: `tinyredis` (manifest) generated 1 warning [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.87s [INFO] running `Command { std: "docker" "inspect" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling percent-encoding v2.2.0 [INFO] [stderr] Compiling either v1.8.1 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Compiling predicates-core v1.0.6 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling idna v0.3.0 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling termtree v0.4.1 [INFO] [stderr] Compiling once_cell v1.17.1 [INFO] [stderr] Compiling anstyle v0.3.5 [INFO] [stderr] Compiling combine v4.6.6 [INFO] [stderr] Compiling wait-timeout v0.2.0 [INFO] [stderr] Compiling sha1_smol v1.0.0 [INFO] [stderr] Compiling itoa v1.0.6 [INFO] [stderr] Compiling ryu v1.0.13 [INFO] [stdout] warning: unused imports: `*` and `self` [INFO] [stdout] --> src/server.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | cache::{self, Cache}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 3 | resp::RESPMessage, [INFO] [stdout] 4 | simpleElection::{self, *}, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IpAddr` and `Ipv4Addr` [INFO] [stdout] --> src/server.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use std::net::{IpAddr, Ipv4Addr}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::btree_map::Keys` [INFO] [stdout] --> src/server.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | collections::btree_map::Keys, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stream` [INFO] [stdout] --> src/server.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | stream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/cache.rs:136:16 [INFO] [stdout] | [INFO] [stdout] 136 | if (self.cache.contains_key(k)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 136 - if (self.cache.contains_key(k)) { [INFO] [stdout] 136 + if self.cache.contains_key(k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::u64::MAX`: replaced by the `MAX` associated constant on this type [INFO] [stdout] --> src/cache.rs:92:50 [INFO] [stdout] | [INFO] [stdout] 92 | let mut minFrequency = std::u64::MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/server.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | _ => println!("Default"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/server.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 78 | Ok(_) => {} [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 79 | Err(e) => println!("Error: {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 80 | _ => println!("Default"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut keys: Vec = Vec::new(); //list of keys [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut values: Vec = Vec::new(); //list of values [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:125:34 [INFO] [stdout] | [INFO] [stdout] 125 | ... let (mut save_k, save_v) = save; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/server.rs:311:17 [INFO] [stdout] | [INFO] [stdout] 311 | _ => println!("Default catch"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/server.rs:311:17 [INFO] [stdout] | [INFO] [stdout] 309 | Ok(_) => println!("Write to stream OK"), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 310 | Err(e) => println!("Error {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 311 | _ => println!("Default catch"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:267:25 [INFO] [stdout] | [INFO] [stdout] 267 | let mut child = Command::new(std::env::args().next().unwrap()) [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/server.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | let mut resp = cache.lock().unwrap().get_key(); //get keys and values from cache [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/server.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | io::{Read, Write}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/server.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | io::{Read, Write}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keys` [INFO] [stdout] --> src/server.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut keys: Vec = Vec::new(); //list of keys [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keys` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/server.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut values: Vec = Vec::new(); //list of values [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `RUN_ID` [INFO] [stdout] --> src/server.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let RUN_ID: String = (0..length) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_RUN_ID` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/server.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let handle = thread::spawn(|| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/server.rs:267:25 [INFO] [stdout] | [INFO] [stdout] 267 | let mut child = Command::new(std::env::args().next().unwrap()) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cache.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for mut c in &mut self.cache { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `minFrequencyKey` is assigned to, but never used [INFO] [stdout] --> src/cache.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | let mut minFrequencyKey = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_minFrequencyKey` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `minFrequencyKey` is never read [INFO] [stdout] --> src/cache.rs:97:25 [INFO] [stdout] | [INFO] [stdout] 97 | minFrequencyKey = c.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/simpleElection.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | let mut child = Command::new(std::env::args().next().unwrap()) [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/simpleElection.rs:53:22 [INFO] [stdout] | [INFO] [stdout] 53 | for (&server_id, port) in server_ids.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/simpleElection.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | let mut child = Command::new(std::env::args().next().unwrap()) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | _ => println!("Default"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 100 | Ok(_) => {}, [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 101 | Err(e) => println!("Error: {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 102 | _ => println!("Default"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | _ => println!("Default case"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 106 | Ok(_) => println!("{}", response), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 107 | Err(e) => {}, [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 108 | _ => println!("Default case"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/simpleElection.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/simpleElection.rs:107:13 [INFO] [stdout] | [INFO] [stdout] 107 | Err(e) => {}, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | _ => println!("Default"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 134 | Ok(_) => println!("Write to stream OK"), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 135 | Err(e) => println!("Error: {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 136 | _ => println!("Default"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | _ => println!("Default case"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 140 | Ok(_) => println!("{}", response), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 141 | Err(e) => {}, [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 142 | _ => println!("Default case"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/simpleElection.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | Err(e) => {}, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | _ => println!("Default"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 167 | Ok(_) => println!("Write to stream OK"), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 168 | Err(e) => println!("Error: {}", e), [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 169 | _ => println!("Default"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/simpleElection.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | _ => println!("Default case"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/simpleElection.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 173 | Ok(_) => println!("{}", response), [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 174 | Err(e) => {}, [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] 175 | _ => println!("Default case"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/simpleElection.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | Err(e) => {}, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `simpleElection` should have a snake case name [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | mod simpleElection; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `simple_election` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `PORT` should have a snake case name [INFO] [stdout] --> src/server.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let PORT = &args[1]; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `RUN_ID` should have a snake case name [INFO] [stdout] --> src/server.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let RUN_ID: String = (0..length) [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `run_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `PORT` should have a snake case name [INFO] [stdout] --> src/server.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let PORT = &args[1]; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maxAging` should have a snake case name [INFO] [stdout] --> src/cache.rs:83:25 [INFO] [stdout] | [INFO] [stdout] 83 | let mut maxAging = 0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `max_aging` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maxAgingKey` should have a snake case name [INFO] [stdout] --> src/cache.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | let mut maxAgingKey = ""; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `max_aging_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `minFrequency` should have a snake case name [INFO] [stdout] --> src/cache.rs:92:25 [INFO] [stdout] | [INFO] [stdout] 92 | let mut minFrequency = std::u64::MAX; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `min_frequency` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `minFrequencyKey` should have a snake case name [INFO] [stdout] --> src/cache.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | let mut minFrequencyKey = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `min_frequency_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/simpleElection.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 89 | let _ = stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/simpleElection.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 123 | let _ = stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/simpleElection.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 156 | let _ = stream.set_read_timeout(Some(Duration::from_secs(1))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling form_urlencoded v1.1.0 [INFO] [stderr] Compiling predicates-tree v1.0.9 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling bstr v1.4.0 [INFO] [stderr] Compiling url v2.3.1 [INFO] [stderr] Compiling predicates v3.0.2 [INFO] [stderr] Compiling assert_cmd v2.0.10 [INFO] [stderr] Compiling ctor v0.1.26 [INFO] [stderr] Compiling redis v0.22.3 [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-0.22.3/src/script.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | self.load_cmd().query(con)?; [INFO] [stdout] | ^^^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T12,) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T9, T10, T11, T12) [INFO] [stdout] (T8, T9, T10, T11, T12) [INFO] [stdout] (T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 41 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #148922 for more information) [INFO] [stdout] = help: you might have intended to use the type `()` here instead [INFO] [stdout] note: required by a bound in `Cmd::query` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-0.22.3/src/cmd.rs:367:21 [INFO] [stdout] | [INFO] [stdout] 277 | impl Cmd { [INFO] [stdout] ... [INFO] [stdout] 367 | pub fn query(&self, con: &mut dyn ConnectionLike) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `Cmd::query` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `redis` (lib) due to 1 previous error; 1 warning emitted [INFO] [stderr] warning: unused dependency `netstat` [INFO] [stderr] --> Cargo.toml:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | netstat = "0.7.0" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `netstat` [INFO] [stderr] warning: `tinyredis` (manifest) generated 1 warning [INFO] running `Command { std: "docker" "inspect" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16", kill_on_drop: false }` [INFO] [stdout] c5fab12d721664adf1cb59587fff6772e5b84d759a8c98c295fcc219fb860d16