[INFO] updating cached repository https://github.com/kmakeev/puzzle15rust [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2a0a1577f752888a68360bf2d818b46b2513cdd5 [INFO] testing kmakeev/puzzle15rust against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkmakeev%2Fpuzzle15rust" "/workspace/builds/worker-2/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kmakeev/puzzle15rust on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/kmakeev/puzzle15rust [INFO] finished tweaking git repo https://github.com/kmakeev/puzzle15rust [INFO] tweaked toml for git repo https://github.com/kmakeev/puzzle15rust written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/kmakeev/puzzle15rust already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 3280625d5cc8849df56bf36a162b7006b9ec40aab7e32b3341f4b29cb4937dbc [INFO] running `"docker" "start" "-a" "3280625d5cc8849df56bf36a162b7006b9ec40aab7e32b3341f4b29cb4937dbc"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling libc v0.2.58 [INFO] [stderr] Compiling arrayvec v0.4.11 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling proc-macro2 v1.0.4 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling serde v1.0.101 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Compiling ryu v1.0.0 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Compiling either v1.5.2 [INFO] [stderr] Compiling itoa v0.4.4 [INFO] [stderr] Compiling crossbeam-queue v0.1.2 [INFO] [stderr] Compiling regex-automata v0.1.8 [INFO] [stderr] Compiling crossbeam-epoch v0.7.1 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling crossbeam-deque v0.6.3 [INFO] [stderr] Compiling num_cpus v1.10.1 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling csv-core v0.1.6 [INFO] [stderr] Compiling rayon v1.1.0 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling serde_derive v1.0.101 [INFO] [stderr] Compiling bstr v0.2.8 [INFO] [stderr] Compiling csv v1.1.1 [INFO] [stderr] Compiling puzzle v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `std::time` [INFO] [stderr] --> src/puzzle.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::time; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/puzzle.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:195:44 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k2` [INFO] [stderr] --> src/puzzle.rs:195:53 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k2` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:196:19 [INFO] [stderr] | [INFO] [stderr] 196 | let (key, value) = best.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/puzzle.rs:193:61 [INFO] [stderr] | [INFO] [stderr] 193 | fn get_best_step(& self, map: & HashMap, Step>, f: u32) -> Vec { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:203:50 [INFO] [stderr] | [INFO] [stderr] 203 | let result = map.par_iter().find_first(|(k1, s1)| (s1.hash_current == hash)); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:204:19 [INFO] [stderr] | [INFO] [stderr] 204 | let (key, value) = result.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/puzzle.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | let h:i8 = self.size_h; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/puzzle.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | let v:i8 = self.size_v; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cost` [INFO] [stderr] --> src/puzzle.rs:218:14 [INFO] [stderr] | [INFO] [stderr] 218 | let (cost, h) = self.cost(self.start.clone()); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cost` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/puzzle.rs:245:26 [INFO] [stderr] | [INFO] [stderr] 245 | Some(result) => {continue}, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:335:17 [INFO] [stderr] | [INFO] [stderr] 335 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | let mut pos = pos_opt.unwrap() as i8; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:224:17 [INFO] [stderr] | [INFO] [stderr] 224 | let mut now = SystemTime::now(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | let mut val = self.get_best_step(&h_open_sets, f); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:236:25 [INFO] [stderr] | [INFO] [stderr] 236 | let mut val = self.get_by_hash(&mut h_close_sets, prev.hash_prev); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:448:25 [INFO] [stderr] | [INFO] [stderr] 448 | let mut v: i8 = (((*j-1) / self.size_v) - (c as i8 / self.size_v)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:449:25 [INFO] [stderr] | [INFO] [stderr] 449 | let mut h: i8 = (((*j-1) % self.size_h) - (c as i8 % self.size_h)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:470:21 [INFO] [stderr] | [INFO] [stderr] 470 | let mut position1: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:471:21 [INFO] [stderr] | [INFO] [stderr] 471 | let mut position2: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 24 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: value assigned to `count_solutions` is never read [INFO] [stderr] --> src/main.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let mut count_solutions:i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:104:17 [INFO] [stderr] | [INFO] [stderr] 104 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | ... Ok(t) => {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:155:24 [INFO] [stderr] | [INFO] [stderr] 155 | Ok(t) => {println!(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let mut size_h:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let mut size_v:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | let mut result:i8 = match set { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 9 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 40.59s [INFO] running `"docker" "inspect" "3280625d5cc8849df56bf36a162b7006b9ec40aab7e32b3341f4b29cb4937dbc"` [INFO] running `"docker" "rm" "-f" "3280625d5cc8849df56bf36a162b7006b9ec40aab7e32b3341f4b29cb4937dbc"` [INFO] [stdout] 3280625d5cc8849df56bf36a162b7006b9ec40aab7e32b3341f4b29cb4937dbc [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 9af0bf6a39da61c6c99e29113bd4212e74ed2ca9279bd44627a294a7c9b63ef1 [INFO] running `"docker" "start" "-a" "9af0bf6a39da61c6c99e29113bd4212e74ed2ca9279bd44627a294a7c9b63ef1"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling puzzle v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `std::time` [INFO] [stderr] --> src/puzzle.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::time; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/puzzle.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:195:44 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k2` [INFO] [stderr] --> src/puzzle.rs:195:53 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k2` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:196:19 [INFO] [stderr] | [INFO] [stderr] 196 | let (key, value) = best.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/puzzle.rs:193:61 [INFO] [stderr] | [INFO] [stderr] 193 | fn get_best_step(& self, map: & HashMap, Step>, f: u32) -> Vec { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:203:50 [INFO] [stderr] | [INFO] [stderr] 203 | let result = map.par_iter().find_first(|(k1, s1)| (s1.hash_current == hash)); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:204:19 [INFO] [stderr] | [INFO] [stderr] 204 | let (key, value) = result.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/puzzle.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | let h:i8 = self.size_h; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/puzzle.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | let v:i8 = self.size_v; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cost` [INFO] [stderr] --> src/puzzle.rs:218:14 [INFO] [stderr] | [INFO] [stderr] 218 | let (cost, h) = self.cost(self.start.clone()); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cost` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/puzzle.rs:245:26 [INFO] [stderr] | [INFO] [stderr] 245 | Some(result) => {continue}, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:335:17 [INFO] [stderr] | [INFO] [stderr] 335 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | let mut pos = pos_opt.unwrap() as i8; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:224:17 [INFO] [stderr] | [INFO] [stderr] 224 | let mut now = SystemTime::now(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | let mut val = self.get_best_step(&h_open_sets, f); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:236:25 [INFO] [stderr] | [INFO] [stderr] 236 | let mut val = self.get_by_hash(&mut h_close_sets, prev.hash_prev); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:448:25 [INFO] [stderr] | [INFO] [stderr] 448 | let mut v: i8 = (((*j-1) / self.size_v) - (c as i8 / self.size_v)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:449:25 [INFO] [stderr] | [INFO] [stderr] 449 | let mut h: i8 = (((*j-1) % self.size_h) - (c as i8 % self.size_h)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:470:21 [INFO] [stderr] | [INFO] [stderr] 470 | let mut position1: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:471:21 [INFO] [stderr] | [INFO] [stderr] 471 | let mut position2: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 24 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: value assigned to `count_solutions` is never read [INFO] [stderr] --> src/main.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let mut count_solutions:i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:104:17 [INFO] [stderr] | [INFO] [stderr] 104 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | ... Ok(t) => {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:155:24 [INFO] [stderr] | [INFO] [stderr] 155 | Ok(t) => {println!(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let mut size_h:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let mut size_v:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | let mut result:i8 = match set { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 9 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time` [INFO] [stderr] --> src/puzzle.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::time; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/puzzle.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:195:44 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k2` [INFO] [stderr] --> src/puzzle.rs:195:53 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k2` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:196:19 [INFO] [stderr] | [INFO] [stderr] 196 | let (key, value) = best.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/puzzle.rs:193:61 [INFO] [stderr] | [INFO] [stderr] 193 | fn get_best_step(& self, map: & HashMap, Step>, f: u32) -> Vec { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:203:50 [INFO] [stderr] | [INFO] [stderr] 203 | let result = map.par_iter().find_first(|(k1, s1)| (s1.hash_current == hash)); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:204:19 [INFO] [stderr] | [INFO] [stderr] 204 | let (key, value) = result.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/puzzle.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | let h:i8 = self.size_h; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/puzzle.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | let v:i8 = self.size_v; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cost` [INFO] [stderr] --> src/puzzle.rs:218:14 [INFO] [stderr] | [INFO] [stderr] 218 | let (cost, h) = self.cost(self.start.clone()); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cost` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/puzzle.rs:245:26 [INFO] [stderr] | [INFO] [stderr] 245 | Some(result) => {continue}, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:335:17 [INFO] [stderr] | [INFO] [stderr] 335 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | let mut pos = pos_opt.unwrap() as i8; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:224:17 [INFO] [stderr] | [INFO] [stderr] 224 | let mut now = SystemTime::now(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | let mut val = self.get_best_step(&h_open_sets, f); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:236:25 [INFO] [stderr] | [INFO] [stderr] 236 | let mut val = self.get_by_hash(&mut h_close_sets, prev.hash_prev); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:448:25 [INFO] [stderr] | [INFO] [stderr] 448 | let mut v: i8 = (((*j-1) / self.size_v) - (c as i8 / self.size_v)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:449:25 [INFO] [stderr] | [INFO] [stderr] 449 | let mut h: i8 = (((*j-1) % self.size_h) - (c as i8 % self.size_h)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:470:21 [INFO] [stderr] | [INFO] [stderr] 470 | let mut position1: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:471:21 [INFO] [stderr] | [INFO] [stderr] 471 | let mut position2: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `count_solutions` is never read [INFO] [stderr] --> src/main.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let mut count_solutions:i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:104:17 [INFO] [stderr] | [INFO] [stderr] 104 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | ... Ok(t) => {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:155:24 [INFO] [stderr] | [INFO] [stderr] 155 | Ok(t) => {println!(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let mut size_h:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let mut size_v:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | let mut result:i8 = match set { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 24 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 9 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.49s [INFO] running `"docker" "inspect" "9af0bf6a39da61c6c99e29113bd4212e74ed2ca9279bd44627a294a7c9b63ef1"` [INFO] running `"docker" "rm" "-f" "9af0bf6a39da61c6c99e29113bd4212e74ed2ca9279bd44627a294a7c9b63ef1"` [INFO] [stdout] 9af0bf6a39da61c6c99e29113bd4212e74ed2ca9279bd44627a294a7c9b63ef1 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stdout] cb30ad3ca8661f9dd7bf98d05fb7f0e2c9def514ef92d4f7d1686adebf49e6be [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "cb30ad3ca8661f9dd7bf98d05fb7f0e2c9def514ef92d4f7d1686adebf49e6be"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused import: `std::time` [INFO] [stderr] --> src/puzzle.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::time; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/puzzle.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:195:44 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k2` [INFO] [stderr] --> src/puzzle.rs:195:53 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k2` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:196:19 [INFO] [stderr] | [INFO] [stderr] 196 | let (key, value) = best.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/puzzle.rs:193:61 [INFO] [stderr] | [INFO] [stderr] 193 | fn get_best_step(& self, map: & HashMap, Step>, f: u32) -> Vec { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:203:50 [INFO] [stderr] | [INFO] [stderr] 203 | let result = map.par_iter().find_first(|(k1, s1)| (s1.hash_current == hash)); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:204:19 [INFO] [stderr] | [INFO] [stderr] 204 | let (key, value) = result.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/puzzle.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | let h:i8 = self.size_h; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/puzzle.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | let v:i8 = self.size_v; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cost` [INFO] [stderr] --> src/puzzle.rs:218:14 [INFO] [stderr] | [INFO] [stderr] 218 | let (cost, h) = self.cost(self.start.clone()); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cost` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/puzzle.rs:245:26 [INFO] [stderr] | [INFO] [stderr] 245 | Some(result) => {continue}, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:335:17 [INFO] [stderr] | [INFO] [stderr] 335 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | let mut pos = pos_opt.unwrap() as i8; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:224:17 [INFO] [stderr] | [INFO] [stderr] 224 | let mut now = SystemTime::now(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | let mut val = self.get_best_step(&h_open_sets, f); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:236:25 [INFO] [stderr] | [INFO] [stderr] 236 | let mut val = self.get_by_hash(&mut h_close_sets, prev.hash_prev); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:448:25 [INFO] [stderr] | [INFO] [stderr] 448 | let mut v: i8 = (((*j-1) / self.size_v) - (c as i8 / self.size_v)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:449:25 [INFO] [stderr] | [INFO] [stderr] 449 | let mut h: i8 = (((*j-1) % self.size_h) - (c as i8 % self.size_h)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:470:21 [INFO] [stderr] | [INFO] [stderr] 470 | let mut position1: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:471:21 [INFO] [stderr] | [INFO] [stderr] 471 | let mut position2: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 24 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time` [INFO] [stderr] --> src/puzzle.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::time; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/puzzle.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:195:44 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k2` [INFO] [stderr] --> src/puzzle.rs:195:53 [INFO] [stderr] | [INFO] [stderr] 195 | let best = map.par_iter().min_by(|(k1, s1),(k2,s2)| (s1.set.f.cmp(&s2.set.f))); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k2` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:196:19 [INFO] [stderr] | [INFO] [stderr] 196 | let (key, value) = best.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/puzzle.rs:193:61 [INFO] [stderr] | [INFO] [stderr] 193 | fn get_best_step(& self, map: & HashMap, Step>, f: u32) -> Vec { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k1` [INFO] [stderr] --> src/puzzle.rs:203:50 [INFO] [stderr] | [INFO] [stderr] 203 | let result = map.par_iter().find_first(|(k1, s1)| (s1.hash_current == hash)); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_k1` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `val` is never read [INFO] [stderr] --> src/puzzle.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | let mut val = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/puzzle.rs:204:19 [INFO] [stderr] | [INFO] [stderr] 204 | let (key, value) = result.unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/puzzle.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | let h:i8 = self.size_h; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/puzzle.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | let v:i8 = self.size_v; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cost` [INFO] [stderr] --> src/puzzle.rs:218:14 [INFO] [stderr] | [INFO] [stderr] 218 | let (cost, h) = self.cost(self.start.clone()); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cost` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/puzzle.rs:245:26 [INFO] [stderr] | [INFO] [stderr] 245 | Some(result) => {continue}, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/puzzle.rs:335:17 [INFO] [stderr] | [INFO] [stderr] 335 | let mut tmp: Vec = vec![]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | let mut pos = pos_opt.unwrap() as i8; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:224:17 [INFO] [stderr] | [INFO] [stderr] 224 | let mut now = SystemTime::now(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | let mut val = self.get_best_step(&h_open_sets, f); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:236:25 [INFO] [stderr] | [INFO] [stderr] 236 | let mut val = self.get_by_hash(&mut h_close_sets, prev.hash_prev); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:448:25 [INFO] [stderr] | [INFO] [stderr] 448 | let mut v: i8 = (((*j-1) / self.size_v) - (c as i8 / self.size_v)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:449:25 [INFO] [stderr] | [INFO] [stderr] 449 | let mut h: i8 = (((*j-1) % self.size_h) - (c as i8 % self.size_h)).abs(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:470:21 [INFO] [stderr] | [INFO] [stderr] 470 | let mut position1: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/puzzle.rs:471:21 [INFO] [stderr] | [INFO] [stderr] 471 | let mut position2: i8; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 24 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: value assigned to `count_solutions` is never read [INFO] [stderr] --> src/main.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let mut count_solutions:i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:104:17 [INFO] [stderr] | [INFO] [stderr] 104 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | ... Ok(t) => {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:155:24 [INFO] [stderr] | [INFO] [stderr] 155 | Ok(t) => {println!(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let mut size_h:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let mut size_v:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | let mut result:i8 = match set { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 9 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: value assigned to `count_solutions` is never read [INFO] [stderr] --> src/main.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let mut count_solutions:i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:104:17 [INFO] [stderr] | [INFO] [stderr] 104 | Err(n) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | ... Ok(t) => {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:155:24 [INFO] [stderr] | [INFO] [stderr] 155 | Ok(t) => {println!(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let mut size_h:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let mut size_v:i8; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | let mut result:i8 = match set { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: 9 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/puzzle-d4c61cc7384cdcbd [INFO] [stderr] Running /opt/rustwide/target/debug/deps/puzzle-cb028442ea79a469 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/lib-55eeea3886169372 [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test it_cost_test ... ok [INFO] [stdout] test it_new_puzzle ... ok [INFO] [stdout] test it_search_all_sets_test ... ok [INFO] [stdout] test it_get_states ... ok [INFO] [stdout] test it_get_points ... ok [INFO] [stdout] test it_set_puzzle ... ok [INFO] [stdout] test it_search_sets_test ... ok [INFO] [stdout] test it_generate_puzzle ... ok [INFO] [stdout] test it_check_linear_conflict_test ... ok [INFO] [stdout] test it_check_column_conflict_test ... ok [INFO] [stdout] test it_search_solution ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests puzzle [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "cb30ad3ca8661f9dd7bf98d05fb7f0e2c9def514ef92d4f7d1686adebf49e6be"` [INFO] running `"docker" "rm" "-f" "cb30ad3ca8661f9dd7bf98d05fb7f0e2c9def514ef92d4f7d1686adebf49e6be"` [INFO] [stdout] cb30ad3ca8661f9dd7bf98d05fb7f0e2c9def514ef92d4f7d1686adebf49e6be