[INFO] cloning repository https://github.com/dmschreiber/advent-of-code-2018
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dmschreiber/advent-of-code-2018" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmschreiber%2Fadvent-of-code-2018", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmschreiber%2Fadvent-of-code-2018'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 673173031121af8103c4cab7120cac905265a67d
[INFO] testing dmschreiber/advent-of-code-2018 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmschreiber%2Fadvent-of-code-2018" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dmschreiber/advent-of-code-2018
[INFO] finished tweaking git repo https://github.com/dmschreiber/advent-of-code-2018
[INFO] tweaked toml for git repo https://github.com/dmschreiber/advent-of-code-2018 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dmschreiber/advent-of-code-2018 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dmschreiber/advent-of-code-2018 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded futures-core v0.3.10
[INFO] [stderr]   Downloaded pin-project-lite v0.2.1
[INFO] [stderr]   Downloaded futures-sink v0.3.10
[INFO] [stderr]   Downloaded tokio-stream v0.1.1
[INFO] [stderr]   Downloaded futures-io v0.3.9
[INFO] [stderr]   Downloaded futures-macro v0.3.9
[INFO] [stderr]   Downloaded cached_proc_macro v0.6.0
[INFO] [stderr]   Downloaded futures-task v0.3.10
[INFO] [stderr]   Downloaded futures-channel v0.3.10
[INFO] [stderr]   Downloaded futures-executor v0.3.9
[INFO] [stderr]   Downloaded cached v0.22.0
[INFO] [stderr]   Downloaded futures-util v0.3.9
[INFO] [stderr]   Downloaded pathfinding v2.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f6c692e244bbb3ad5b49373a403e1b3600014c0aa5cd7f0f4c1201bbc486d66a
[INFO] running `Command { std: "docker" "start" "-a" "f6c692e244bbb3ad5b49373a403e1b3600014c0aa5cd7f0f4c1201bbc486d66a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f6c692e244bbb3ad5b49373a403e1b3600014c0aa5cd7f0f4c1201bbc486d66a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6c692e244bbb3ad5b49373a403e1b3600014c0aa5cd7f0f4c1201bbc486d66a", kill_on_drop: false }`
[INFO] [stdout] f6c692e244bbb3ad5b49373a403e1b3600014c0aa5cd7f0f4c1201bbc486d66a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e7e2308ea17244eba5a379151d369f21a8eeaf7457e96caad111492b1b04bd6b
[INFO] running `Command { std: "docker" "start" "-a" "e7e2308ea17244eba5a379151d369f21a8eeaf7457e96caad111492b1b04bd6b", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.58
[INFO] [stderr]    Compiling libc v0.2.82
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling once_cell v1.5.2
[INFO] [stderr]    Compiling futures-core v0.3.10
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling pin-project-lite v0.2.1
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-sink v0.3.10
[INFO] [stderr]    Compiling futures-io v0.3.9
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling tokio v1.0.1
[INFO] [stderr]    Compiling lock_api v0.4.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling event-listener v2.5.1
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling cached_proc_macro_types v0.1.0
[INFO] [stderr]    Compiling thread_local v1.1.0
[INFO] [stderr]    Compiling async-mutex v1.4.0
[INFO] [stderr]    Compiling fixedbitset v0.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.10
[INFO] [stderr]    Compiling futures-task v0.3.10
[INFO] [stderr]    Compiling regex-syntax v0.6.21
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling itertools v0.10.0
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling parking_lot_core v0.8.2
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling signal-hook-registry v1.3.0
[INFO] [stderr]    Compiling mio v0.7.7
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling pathfinding v2.1.1
[INFO] [stderr]    Compiling regex v1.4.2
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling futures-macro v0.3.9
[INFO] [stderr]    Compiling tokio-macros v1.0.0
[INFO] [stderr]    Compiling async-trait v0.1.42
[INFO] [stderr]    Compiling futures-util v0.3.9
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling cached_proc_macro v0.6.0
[INFO] [stderr]    Compiling futures-executor v0.3.9
[INFO] [stderr]    Compiling futures v0.3.8
[INFO] [stderr]    Compiling cached v0.22.0
[INFO] [stderr]    Compiling tokio-stream v0.1.1
[INFO] [stderr]    Compiling tokio-util v0.6.0
[INFO] [stderr]    Compiling puzzle-base v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/puzzle24.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut target_group = groups.get_mut(target_pos).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/puzzle15.rs:169:7
[INFO] [stdout]     |
[INFO] [stdout] 169 |   let mut target = units.get_mut(target_position).unwrap();
[INFO] [stdout]     |       ----^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/puzzle15.rs:190:7
[INFO] [stdout]     |
[INFO] [stdout] 190 |   let mut target = units.get_mut(target_position).unwrap();
[INFO] [stdout]     |       ----^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/puzzle9.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 |   let mut prev = map.get_mut(&prev_marble).unwrap();
[INFO] [stdout]    |       ----^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/puzzle9.rs:88:7
[INFO] [stdout]    |
[INFO] [stdout] 88 |   let mut next = map.get_mut(&next_marble).unwrap();
[INFO] [stdout]    |       ----^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/puzzle9.rs:82:40
[INFO] [stdout]    |
[INFO] [stdout] 82 |   let target = map.get(&which).unwrap().clone();
[INFO] [stdout]    |                                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Marble` does not implement `Clone`, so calling `clone` on `&Marble` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 82 -   let target = map.get(&which).unwrap().clone();
[INFO] [stdout] 82 +   let target = map.get(&which).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `Marble`, implement `Clone` for it
[INFO] [stdout]    |
[INFO] [stdout] 29 + #[derive(Clone)]
[INFO] [stdout] 30 | pub struct Marble {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.03s
[INFO] running `Command { std: "docker" "inspect" "e7e2308ea17244eba5a379151d369f21a8eeaf7457e96caad111492b1b04bd6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7e2308ea17244eba5a379151d369f21a8eeaf7457e96caad111492b1b04bd6b", kill_on_drop: false }`
[INFO] [stdout] e7e2308ea17244eba5a379151d369f21a8eeaf7457e96caad111492b1b04bd6b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4c02dc8b265d0b5e857d66fb65eb2a29bb095689bf3e982d6d95f0cd8ce2646f
[INFO] running `Command { std: "docker" "start" "-a" "4c02dc8b265d0b5e857d66fb65eb2a29bb095689bf3e982d6d95f0cd8ce2646f", kill_on_drop: false }`
[INFO] [stderr]    Compiling puzzle-base v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/puzzle24.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut target_group = groups.get_mut(target_pos).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/puzzle15.rs:169:7
[INFO] [stdout]     |
[INFO] [stdout] 169 |   let mut target = units.get_mut(target_position).unwrap();
[INFO] [stdout]     |       ----^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/puzzle15.rs:190:7
[INFO] [stdout]     |
[INFO] [stdout] 190 |   let mut target = units.get_mut(target_position).unwrap();
[INFO] [stdout]     |       ----^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/puzzle9.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 |   let mut prev = map.get_mut(&prev_marble).unwrap();
[INFO] [stdout]    |       ----^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/puzzle9.rs:88:7
[INFO] [stdout]    |
[INFO] [stdout] 88 |   let mut next = map.get_mut(&next_marble).unwrap();
[INFO] [stdout]    |       ----^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/puzzle9.rs:82:40
[INFO] [stdout]    |
[INFO] [stdout] 82 |   let target = map.get(&which).unwrap().clone();
[INFO] [stdout]    |                                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Marble` does not implement `Clone`, so calling `clone` on `&Marble` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 82 -   let target = map.get(&which).unwrap().clone();
[INFO] [stdout] 82 +   let target = map.get(&which).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `Marble`, implement `Clone` for it
[INFO] [stdout]    |
[INFO] [stdout] 29 + #[derive(Clone)]
[INFO] [stdout] 30 | pub struct Marble {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.21s
[INFO] running `Command { std: "docker" "inspect" "4c02dc8b265d0b5e857d66fb65eb2a29bb095689bf3e982d6d95f0cd8ce2646f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c02dc8b265d0b5e857d66fb65eb2a29bb095689bf3e982d6d95f0cd8ce2646f", kill_on_drop: false }`
[INFO] [stdout] 4c02dc8b265d0b5e857d66fb65eb2a29bb095689bf3e982d6d95f0cd8ce2646f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 350919594e60762d4464e7c7ab3cbfcd2ce0e473cee0be96ec9afcae1daa72b3
[INFO] running `Command { std: "docker" "start" "-a" "350919594e60762d4464e7c7ab3cbfcd2ce0e473cee0be96ec9afcae1daa72b3", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/puzzle24.rs:118:13
[INFO] [stderr]     |
[INFO] [stderr] 118 |         let mut target_group = groups.get_mut(target_pos).unwrap();
[INFO] [stderr]     |             ----^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/puzzle15.rs:169:7
[INFO] [stderr]     |
[INFO] [stderr] 169 |   let mut target = units.get_mut(target_position).unwrap();
[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/puzzle15.rs:190:7
[INFO] [stderr]     |
[INFO] [stderr] 190 |   let mut target = units.get_mut(target_position).unwrap();
[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/puzzle9.rs:86:7
[INFO] [stderr]    |
[INFO] [stderr] 86 |   let mut prev = map.get_mut(&prev_marble).unwrap();
[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/puzzle9.rs:88:7
[INFO] [stderr]    |
[INFO] [stderr] 88 |   let mut next = map.get_mut(&next_marble).unwrap();
[INFO] [stderr]    |       ----^^^^
[INFO] [stderr]    |       |
[INFO] [stderr]    |       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/puzzle9.rs:82:40
[INFO] [stderr]    |
[INFO] [stderr] 82 |   let target = map.get(&which).unwrap().clone();
[INFO] [stderr]    |                                        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `Marble` does not implement `Clone`, so calling `clone` on `&Marble` copies the reference, which does not do anything and can be removed
[INFO] [stderr]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr] 82 -   let target = map.get(&which).unwrap().clone();
[INFO] [stderr] 82 +   let target = map.get(&which).unwrap();
[INFO] [stderr]    |
[INFO] [stderr] help: if you meant to clone `Marble`, implement `Clone` for it
[INFO] [stderr]    |
[INFO] [stderr] 29 + #[derive(Clone)]
[INFO] [stderr] 30 | pub struct Marble {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `puzzle-base` (bin "puzzle-base" test) generated 6 warnings (run `cargo fix --bin "puzzle-base" -p puzzle-base --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/puzzle_base-ed6a7d35408f1ff3)
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test common::tests::common_tests ... ok
[INFO] [stdout] test puzzle13::tests::puzzle13_test ... ok
[INFO] [stdout] test puzzle16::tests::puzzle16_test ... ok
[INFO] [stdout] test puzzle14::tests::puzzle14_test ... ok
[INFO] [stdout] test puzzle10::tests::puzzle10_test ... ok
[INFO] [stdout] test puzzle19::tests::puzzle19_test ... ok
[INFO] [stdout] test puzzle17::tests::puzzle17_test ... ok
[INFO] [stdout] test puzzle1::tests::puzzle1_test ... ok
[INFO] [stdout] test puzzle1::tests::puzzle1_prod ... ok
[INFO] [stdout] test puzzle20::tests::puzzle20_test ... ok
[INFO] [stdout] test puzzle18::tests::puzzle18_test ... ok
[INFO] [stdout] test puzzle21::tests::puzzle21_test ... ok
[INFO] [stdout] test puzzle21::tests::puzzle21_prod ... FAILED
[INFO] [stdout] test puzzle22::tests::puzzle22_test ... ok
[INFO] [stdout] test puzzle15::tests::puzzle15_test ... ok
[INFO] [stdout] test puzzle23::tests::puzzle23_test ... ok
[INFO] [stdout] test puzzle16::tests::puzzle16_prod ... ok
[INFO] [stdout] test puzzle24::tests::puzzle24_test ... ok
[INFO] [stdout] test puzzle13::tests::puzzle13_prod ... ok
[INFO] [stdout] test puzzle25::tests::puzzle25_test ... ok
[INFO] [stdout] test puzzle24::tests::puzzle24_prod ... FAILED
[INFO] [stdout] test puzzle2::tests::puzzle2_test ... ok
[INFO] [stdout] test puzzle2::tests::puzzle2_prod ... ok
[INFO] [stdout] test puzzle3::tests::puzzle3_test ... ok
[INFO] [stdout] test puzzle4::tests::puzzle4_prod ... ok
[INFO] [stdout] test puzzle4::tests::puzzle4_test ... ok
[INFO] [stdout] test puzzle19::tests::puzzle19_prod ... ok
[INFO] [stdout] test puzzle5::tests::puzzle5_test ... ok
[INFO] [stdout] test puzzle3::tests::puzzle3_prod ... ok
[INFO] [stdout] test puzzle6::tests::puzzle6_test ... ok
[INFO] [stdout] test puzzle7::tests::puzzle7_prod ... ok
[INFO] [stdout] test puzzle7::tests::puzzle7_test ... ok
[INFO] [stdout] test puzzle8::tests::puzzle8_prod ... ok
[INFO] [stdout] test puzzle8::tests::puzzle8_test ... ok
[INFO] [stdout] test puzzle14::tests::puzzle14_prod ... ok
[INFO] [stdout] test puzzle12::tests::puzzle12_test ... ok
[INFO] [stdout] test puzzle9::tests::puzzle9_test ... ok
[INFO] [stdout] test puzzle6::tests::puzzle6_prod ... ok
[INFO] [stdout] test puzzle10::tests::puzzle10_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle11::tests::puzzle11_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle11::tests::puzzle11_test has been running for over 60 seconds
[INFO] [stdout] test puzzle12::tests::puzzle12_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle15::tests::puzzle15_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle17::tests::puzzle17_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle18::tests::puzzle18_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle20::tests::puzzle20_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle22::tests::puzzle22_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle23::tests::puzzle23_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle25::tests::puzzle25_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle5::tests::puzzle5_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle22::tests::puzzle22_prod ... ok
[INFO] [stdout] test puzzle23::tests::puzzle23_prod ... ok
[INFO] [stdout] test puzzle9::tests::puzzle9_prod has been running for over 60 seconds
[INFO] [stdout] test puzzle12::tests::puzzle12_prod ... ok
[INFO] [stdout] test puzzle25::tests::puzzle25_prod ... ok
[INFO] [stdout] test puzzle18::tests::puzzle18_prod ... ok
[INFO] [stdout] test puzzle5::tests::puzzle5_prod ... ok
[INFO] [stdout] test puzzle11::tests::puzzle11_test ... ok
[INFO] [stdout] test puzzle11::tests::puzzle11_prod ... ok
[INFO] [stdout] test puzzle9::tests::puzzle9_prod ... ok
[INFO] [stdout] test puzzle15::tests::puzzle15_prod ... ok
[INFO] [stdout] test puzzle10::tests::puzzle10_prod ... ok
[INFO] [stdout] test puzzle17::tests::puzzle17_prod ... ok
[INFO] [stdout] test puzzle20::tests::puzzle20_prod ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- puzzle21::tests::puzzle21_prod stdout ----
[INFO] [stdout] IP register 4
[INFO] [stdout] 
[INFO] [stdout] thread 'puzzle21::tests::puzzle21_prod' (43) panicked at src/puzzle21.rs:90:12:
[INFO] [stdout] attempt to multiply with overflow
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e97b624fc3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e97b624fc3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e97b624fc3a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e97b624fc3a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e97b62649fa - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e97b62649fa - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e97b6254522 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e97b6254522 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e97b622e8df - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e97b622e8df - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e97b6247d39 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e97b608be7c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e97b608be7c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e97b6247ef2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e97b6247ef2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e97b622e9ca - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e97b6223a29 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e97b622f6ad - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e97b62651bc - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e97b6266059 - core[e929cb53b82a81ca]::panicking::panic_const::panic_const_mul_overflow
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:175:17
[INFO] [stdout]   20:     0x5e97b60040d2 - puzzle_base[c7caf62ba0928764]::puzzle21::solve
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle21.rs:90:12
[INFO] [stdout]   21:     0x5e97b607e129 - puzzle_base[c7caf62ba0928764]::puzzle21::tests::puzzle21_prod
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle21.rs:13:5
[INFO] [stdout]   22:     0x5e97b606ebe7 - puzzle_base[c7caf62ba0928764]::puzzle21::tests::puzzle21_prod::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle21.rs:11:25
[INFO] [stdout]   23:     0x5e97b6020416 - <puzzle_base[c7caf62ba0928764]::puzzle21::tests::puzzle21_prod::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e97b607f15b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e97b607f15b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5e97b608c94b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5e97b608c94b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5e97b608c94b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5e97b608c94b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5e97b608c94b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5e97b608c94b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5e97b608c94b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5e97b6086064 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5e97b6086064 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5e97b608f552 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5e97b608f552 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5e97b608f552 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5e97b608f552 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5e97b608f552 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5e97b608f552 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5e97b608f552 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5e97b624f1ef - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5e97b624f1ef - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7a85c8ff1aa4 - <unknown>
[INFO] [stdout]   45:     0x7a85c907ea64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- puzzle24::tests::puzzle24_prod stdout ----
[INFO] [stdout] Day 24 part 1 Infection wins with 26937 units
[INFO] [stdout] 
[INFO] [stdout] thread 'puzzle24::tests::puzzle24_prod' (49) panicked at src/puzzle24.rs:57:12:
[INFO] [stdout] attempt to multiply with overflow
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e97b624fc3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e97b624fc3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e97b624fc3a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e97b624fc3a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e97b62649fa - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e97b62649fa - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e97b6254522 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e97b6254522 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e97b622e8df - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e97b622e8df - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e97b6247d39 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e97b608be7c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e97b608be7c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e97b6247ef2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e97b6247ef2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e97b622e9ca - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e97b6223a29 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e97b622f6ad - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e97b62651bc - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e97b6266059 - core[e929cb53b82a81ca]::panicking::panic_const::panic_const_mul_overflow
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:175:17
[INFO] [stdout]   20:     0x5e97b602471e - <puzzle_base[c7caf62ba0928764]::puzzle24::Group>::effective_power
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle24.rs:57:12
[INFO] [stdout]   21:     0x5e97b6024085 - puzzle_base[c7caf62ba0928764]::puzzle24::simulate::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle24.rs:161:39
[INFO] [stdout]   22:     0x5e97b6018115 - <[puzzle_base[c7caf62ba0928764]::puzzle24::Group]>::sort_by_key::<core[e929cb53b82a81ca]::cmp::Reverse<(u32, u32)>, puzzle_base[c7caf62ba0928764]::puzzle24::simulate::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/slice.rs:252:34
[INFO] [stdout]   23:     0x5e97b5fc5d34 - core[e929cb53b82a81ca]::slice::sort::shared::smallsort::insert_tail::<puzzle_base[c7caf62ba0928764]::puzzle24::Group, <[puzzle_base[c7caf62ba0928764]::puzzle24::Group]>::sort_by_key<core[e929cb53b82a81ca]::cmp::Reverse<(u32, u32)>, puzzle_base[c7caf62ba0928764]::puzzle24::simulate::{closure#0}>::{closure#0}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/slice/sort/shared/smallsort.rs:547:13
[INFO] [stdout]   24:     0x5e97b5fd512a - core[e929cb53b82a81ca]::slice::sort::shared::smallsort::insertion_sort_shift_left::<puzzle_base[c7caf62ba0928764]::puzzle24::Group, <[puzzle_base[c7caf62ba0928764]::puzzle24::Group]>::sort_by_key<core[e929cb53b82a81ca]::cmp::Reverse<(u32, u32)>, puzzle_base[c7caf62ba0928764]::puzzle24::simulate::{closure#0}>::{closure#0}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/slice/sort/shared/smallsort.rs:602:13
[INFO] [stdout]   25:     0x5e97b6014351 - core[e929cb53b82a81ca]::slice::sort::stable::sort::<puzzle_base[c7caf62ba0928764]::puzzle24::Group, <[puzzle_base[c7caf62ba0928764]::puzzle24::Group]>::sort_by_key<core[e929cb53b82a81ca]::cmp::Reverse<(u32, u32)>, puzzle_base[c7caf62ba0928764]::puzzle24::simulate::{closure#0}>::{closure#0}, alloc[9d7caffeb3b5d2c6]::vec::Vec<puzzle_base[c7caf62ba0928764]::puzzle24::Group>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/slice/sort/stable/mod.rs:79:17
[INFO] [stdout]   26:     0x5e97b6014351 - alloc[9d7caffeb3b5d2c6]::slice::stable_sort::<puzzle_base[c7caf62ba0928764]::puzzle24::Group, <[puzzle_base[c7caf62ba0928764]::puzzle24::Group]>::sort_by_key<core[e929cb53b82a81ca]::cmp::Reverse<(u32, u32)>, puzzle_base[c7caf62ba0928764]::puzzle24::simulate::{closure#0}>::{closure#0}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/slice.rs:860:5
[INFO] [stdout]   27:     0x5e97b6021c78 - <[puzzle_base[c7caf62ba0928764]::puzzle24::Group]>::sort_by_key::<core[e929cb53b82a81ca]::cmp::Reverse<(u32, u32)>, puzzle_base[c7caf62ba0928764]::puzzle24::simulate::{closure#0}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/slice.rs:252:9
[INFO] [stdout]   28:     0x5e97b602baa1 - puzzle_base[c7caf62ba0928764]::puzzle24::simulate
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle24.rs:161:12
[INFO] [stdout]   29:     0x5e97b602b721 - puzzle_base[c7caf62ba0928764]::puzzle24::solve
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle24.rs:228:27
[INFO] [stdout]   30:     0x5e97b5fe9531 - puzzle_base[c7caf62ba0928764]::puzzle24::tests::puzzle24_prod
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle24.rs:22:20
[INFO] [stdout]   31:     0x5e97b5fde637 - puzzle_base[c7caf62ba0928764]::puzzle24::tests::puzzle24_prod::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/puzzle24.rs:21:25
[INFO] [stdout]   32:     0x5e97b6020596 - <puzzle_base[c7caf62ba0928764]::puzzle24::tests::puzzle24_prod::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x5e97b607f15b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   34:     0x5e97b607f15b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   35:     0x5e97b608c94b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   36:     0x5e97b608c94b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5e97b608c94b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5e97b608c94b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5e97b608c94b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5e97b608c94b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   41:     0x5e97b608c94b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   42:     0x5e97b6086064 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   43:     0x5e97b6086064 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   44:     0x5e97b608f552 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   45:     0x5e97b608f552 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   46:     0x5e97b608f552 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   47:     0x5e97b608f552 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   48:     0x5e97b608f552 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   49:     0x5e97b608f552 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   50:     0x5e97b608f552 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   51:     0x5e97b624f1ef - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   52:     0x5e97b624f1ef - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   53:     0x7a85c8ff1aa4 - <unknown>
[INFO] [stdout]   54:     0x7a85c907ea64 - clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     puzzle21::tests::puzzle21_prod
[INFO] [stdout]     puzzle24::tests::puzzle24_prod
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 49 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 477.68s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin puzzle-base`
[INFO] running `Command { std: "docker" "inspect" "350919594e60762d4464e7c7ab3cbfcd2ce0e473cee0be96ec9afcae1daa72b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "350919594e60762d4464e7c7ab3cbfcd2ce0e473cee0be96ec9afcae1daa72b3", kill_on_drop: false }`
[INFO] [stdout] 350919594e60762d4464e7c7ab3cbfcd2ce0e473cee0be96ec9afcae1daa72b3
