[INFO] fetching crate harmony 0.2.1... [INFO] testing harmony-0.2.1 against master#5d5ff84130da0d74c6ece368dbe821d8f83fa526 for pr-79296 [INFO] extracting crate harmony 0.2.1 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate harmony 0.2.1 on toolchain 5d5ff84130da0d74c6ece368dbe821d8f83fa526 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate harmony 0.2.1 [INFO] finished tweaking crates.io crate harmony 0.2.1 [INFO] tweaked toml for crates.io crate harmony 0.2.1 written to /workspace/builds/worker-4/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 148c7fdcf95fd087d8899344158ecea0dc410883ea2c013ec029110ffb2ec224 [INFO] running `Command { std: "docker" "start" "-a" "148c7fdcf95fd087d8899344158ecea0dc410883ea2c013ec029110ffb2ec224", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "148c7fdcf95fd087d8899344158ecea0dc410883ea2c013ec029110ffb2ec224", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "148c7fdcf95fd087d8899344158ecea0dc410883ea2c013ec029110ffb2ec224", kill_on_drop: false }` [INFO] [stdout] 148c7fdcf95fd087d8899344158ecea0dc410883ea2c013ec029110ffb2ec224 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 056b143aa8c86594996e568a4c2236de8d6c6a1c77aae0ef92b2ac8b5e7472c2 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "056b143aa8c86594996e568a4c2236de8d6c6a1c77aae0ef92b2ac8b5e7472c2", kill_on_drop: false }` [INFO] [stderr] Compiling itertools v0.4.19 [INFO] [stderr] Compiling harmony v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let mut stages = [PlayState::Placed, PlayState::Static, PlayState::Moved]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/lib.rs:199:14 [INFO] [stdout] | [INFO] [stdout] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/lib.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:204:29 [INFO] [stdout] | [INFO] [stdout] 204 | let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:205:29 [INFO] [stdout] | [INFO] [stdout] 205 | let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:206:29 [INFO] [stdout] | [INFO] [stdout] 206 | let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:207:29 [INFO] [stdout] | [INFO] [stdout] 207 | let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:217:29 [INFO] [stdout] | [INFO] [stdout] 217 | let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:218:29 [INFO] [stdout] | [INFO] [stdout] 218 | let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:219:29 [INFO] [stdout] | [INFO] [stdout] 219 | let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:220:29 [INFO] [stdout] | [INFO] [stdout] 220 | let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:231:33 [INFO] [stdout] | [INFO] [stdout] 231 | ... let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:232:33 [INFO] [stdout] | [INFO] [stdout] 232 | ... let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:233:33 [INFO] [stdout] | [INFO] [stdout] 233 | ... let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:234:33 [INFO] [stdout] | [INFO] [stdout] 234 | ... let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:246:33 [INFO] [stdout] | [INFO] [stdout] 246 | ... let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:247:33 [INFO] [stdout] | [INFO] [stdout] 247 | ... let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:248:33 [INFO] [stdout] | [INFO] [stdout] 248 | ... let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:249:33 [INFO] [stdout] | [INFO] [stdout] 249 | ... let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.51s [INFO] running `Command { std: "docker" "inspect" "056b143aa8c86594996e568a4c2236de8d6c6a1c77aae0ef92b2ac8b5e7472c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "056b143aa8c86594996e568a4c2236de8d6c6a1c77aae0ef92b2ac8b5e7472c2", kill_on_drop: false }` [INFO] [stdout] 056b143aa8c86594996e568a4c2236de8d6c6a1c77aae0ef92b2ac8b5e7472c2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b8f649511b0c8e6d3deaeb9a890426c5806982309614f712b92b21bb82739e9 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "9b8f649511b0c8e6d3deaeb9a890426c5806982309614f712b92b21bb82739e9", kill_on_drop: false }` [INFO] [stderr] Compiling harmony v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let mut stages = [PlayState::Placed, PlayState::Static, PlayState::Moved]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/lib.rs:199:14 [INFO] [stdout] | [INFO] [stdout] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/lib.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:204:29 [INFO] [stdout] | [INFO] [stdout] 204 | let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:205:29 [INFO] [stdout] | [INFO] [stdout] 205 | let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:206:29 [INFO] [stdout] | [INFO] [stdout] 206 | let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:207:29 [INFO] [stdout] | [INFO] [stdout] 207 | let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:217:29 [INFO] [stdout] | [INFO] [stdout] 217 | let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:218:29 [INFO] [stdout] | [INFO] [stdout] 218 | let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:219:29 [INFO] [stdout] | [INFO] [stdout] 219 | let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:220:29 [INFO] [stdout] | [INFO] [stdout] 220 | let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:231:33 [INFO] [stdout] | [INFO] [stdout] 231 | ... let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:232:33 [INFO] [stdout] | [INFO] [stdout] 232 | ... let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:233:33 [INFO] [stdout] | [INFO] [stdout] 233 | ... let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:234:33 [INFO] [stdout] | [INFO] [stdout] 234 | ... let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:246:33 [INFO] [stdout] | [INFO] [stdout] 246 | ... let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:247:33 [INFO] [stdout] | [INFO] [stdout] 247 | ... let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:248:33 [INFO] [stdout] | [INFO] [stdout] 248 | ... let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:249:33 [INFO] [stdout] | [INFO] [stdout] 249 | ... let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let mut stages = [PlayState::Placed, PlayState::Static, PlayState::Moved]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/lib.rs:199:14 [INFO] [stdout] | [INFO] [stdout] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> src/lib.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:204:29 [INFO] [stdout] | [INFO] [stdout] 204 | let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:205:29 [INFO] [stdout] | [INFO] [stdout] 205 | let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:206:29 [INFO] [stdout] | [INFO] [stdout] 206 | let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:207:29 [INFO] [stdout] | [INFO] [stdout] 207 | let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:217:29 [INFO] [stdout] | [INFO] [stdout] 217 | let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:218:29 [INFO] [stdout] | [INFO] [stdout] 218 | let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:219:29 [INFO] [stdout] | [INFO] [stdout] 219 | let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:220:29 [INFO] [stdout] | [INFO] [stdout] 220 | let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:231:33 [INFO] [stdout] | [INFO] [stdout] 231 | ... let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:232:33 [INFO] [stdout] | [INFO] [stdout] 232 | ... let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:233:33 [INFO] [stdout] | [INFO] [stdout] 233 | ... let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:234:33 [INFO] [stdout] | [INFO] [stdout] 234 | ... let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:246:33 [INFO] [stdout] | [INFO] [stdout] 246 | ... let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:247:33 [INFO] [stdout] | [INFO] [stdout] 247 | ... let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_lower` should have a snake case name [INFO] [stdout] --> src/lib.rs:248:33 [INFO] [stdout] | [INFO] [stdout] 248 | ... let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B_upper` should have a snake case name [INFO] [stdout] --> src/lib.rs:249:33 [INFO] [stdout] | [INFO] [stdout] 249 | ... let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.82s [INFO] running `Command { std: "docker" "inspect" "9b8f649511b0c8e6d3deaeb9a890426c5806982309614f712b92b21bb82739e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b8f649511b0c8e6d3deaeb9a890426c5806982309614f712b92b21bb82739e9", kill_on_drop: false }` [INFO] [stdout] 9b8f649511b0c8e6d3deaeb9a890426c5806982309614f712b92b21bb82739e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] abc52f1886017466b80cefe9dd0eab17d4b404b2bbe22a59b2d66b85dacb6900 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "abc52f1886017466b80cefe9dd0eab17d4b404b2bbe22a59b2d66b85dacb6900", kill_on_drop: false }` [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:363:13 [INFO] [stderr] | [INFO] [stderr] 363 | let mut stages = [PlayState::Placed, PlayState::Static, PlayState::Moved]; [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 `A` should have a snake case name [INFO] [stderr] --> src/lib.rs:199:14 [INFO] [stderr] | [INFO] [stderr] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stderr] | ^ help: convert the identifier to snake case: `a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `B` should have a snake case name [INFO] [stderr] --> src/lib.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stderr] | ^ help: convert the identifier to snake case: `b` [INFO] [stderr] [INFO] [stderr] warning: variable `A_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:204:29 [INFO] [stderr] | [INFO] [stderr] 204 | let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `A_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:205:29 [INFO] [stderr] | [INFO] [stderr] 205 | let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `B_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:206:29 [INFO] [stderr] | [INFO] [stderr] 206 | let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `B_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:207:29 [INFO] [stderr] | [INFO] [stderr] 207 | let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `A_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `A_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:218:29 [INFO] [stderr] | [INFO] [stderr] 218 | let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `B_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `B_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:220:29 [INFO] [stderr] | [INFO] [stderr] 220 | let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `A_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:231:33 [INFO] [stderr] | [INFO] [stderr] 231 | ... let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `A_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:232:33 [INFO] [stderr] | [INFO] [stderr] 232 | ... let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `B_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:233:33 [INFO] [stderr] | [INFO] [stderr] 233 | ... let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `B_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:234:33 [INFO] [stderr] | [INFO] [stderr] 234 | ... let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `A_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:246:33 [INFO] [stderr] | [INFO] [stderr] 246 | ... let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `A_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:247:33 [INFO] [stderr] | [INFO] [stderr] 247 | ... let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `B_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:248:33 [INFO] [stderr] | [INFO] [stderr] 248 | ... let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `B_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:249:33 [INFO] [stderr] | [INFO] [stderr] 249 | ... let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stderr] [INFO] [stderr] warning: 19 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:363:13 [INFO] [stderr] | [INFO] [stderr] 363 | let mut stages = [PlayState::Placed, PlayState::Static, PlayState::Moved]; [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 `A` should have a snake case name [INFO] [stderr] --> src/lib.rs:199:14 [INFO] [stderr] | [INFO] [stderr] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stderr] | ^ help: convert the identifier to snake case: `a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `B` should have a snake case name [INFO] [stderr] --> src/lib.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | for (A, B) in harmonies.iter().combinations() { [INFO] [stderr] | ^ help: convert the identifier to snake case: `b` [INFO] [stderr] [INFO] [stderr] warning: variable `A_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:204:29 [INFO] [stderr] | [INFO] [stderr] 204 | let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `A_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:205:29 [INFO] [stderr] | [INFO] [stderr] 205 | let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `B_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:206:29 [INFO] [stderr] | [INFO] [stderr] 206 | let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `B_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:207:29 [INFO] [stderr] | [INFO] [stderr] 207 | let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `A_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `A_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:218:29 [INFO] [stderr] | [INFO] [stderr] 218 | let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `B_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `B_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:220:29 [INFO] [stderr] | [INFO] [stderr] 220 | let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `A_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:231:33 [INFO] [stderr] | [INFO] [stderr] 231 | ... let A_lower = std::cmp::min(A.start.y, A.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `A_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:232:33 [INFO] [stderr] | [INFO] [stderr] 232 | ... let A_upper = std::cmp::max(A.start.y, A.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `B_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:233:33 [INFO] [stderr] | [INFO] [stderr] 233 | ... let B_lower = std::cmp::min(B.start.y, B.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `B_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:234:33 [INFO] [stderr] | [INFO] [stderr] 234 | ... let B_upper = std::cmp::max(B.start.y, B.end.y); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `A_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:246:33 [INFO] [stderr] | [INFO] [stderr] 246 | ... let A_lower = std::cmp::min(A.start.x, A.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `A_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:247:33 [INFO] [stderr] | [INFO] [stderr] 247 | ... let A_upper = std::cmp::max(A.start.x, A.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `a_upper` [INFO] [stderr] [INFO] [stderr] warning: variable `B_lower` should have a snake case name [INFO] [stderr] --> src/lib.rs:248:33 [INFO] [stderr] | [INFO] [stderr] 248 | ... let B_lower = std::cmp::min(B.start.x, B.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_lower` [INFO] [stderr] [INFO] [stderr] warning: variable `B_upper` should have a snake case name [INFO] [stderr] --> src/lib.rs:249:33 [INFO] [stderr] | [INFO] [stderr] 249 | ... let B_upper = std::cmp::max(B.start.x, B.end.x); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `b_upper` [INFO] [stderr] [INFO] [stderr] warning: 19 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/harmony-585299b3c486d79d [INFO] [stderr] Doc-tests harmony [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test tests::it_works ... ok [INFO] [stdout] test tests::harmonies_test ... ok [INFO] [stdout] test tests::directions ... ok [INFO] [stdout] test tests::test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 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] running `Command { std: "docker" "inspect" "abc52f1886017466b80cefe9dd0eab17d4b404b2bbe22a59b2d66b85dacb6900", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "abc52f1886017466b80cefe9dd0eab17d4b404b2bbe22a59b2d66b85dacb6900", kill_on_drop: false }` [INFO] [stdout] abc52f1886017466b80cefe9dd0eab17d4b404b2bbe22a59b2d66b85dacb6900