[INFO] cloning repository https://github.com/atigun64/electricity_price_optimizer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/atigun64/electricity_price_optimizer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatigun64%2Felectricity_price_optimizer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatigun64%2Felectricity_price_optimizer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7ab1817743b56bf0200315dcd6eb563bceb24ac9
[INFO] testing atigun64/electricity_price_optimizer against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatigun64%2Felectricity_price_optimizer" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/atigun64/electricity_price_optimizer
[INFO] finished tweaking git repo https://github.com/atigun64/electricity_price_optimizer
[INFO] tweaked toml for git repo https://github.com/atigun64/electricity_price_optimizer written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/atigun64/electricity_price_optimizer on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/atigun64/electricity_price_optimizer 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simba v0.9.1
[INFO] [stderr]   Downloaded statrs v0.18.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b34e0db579c6fa59a93c9ad12ab1a8ab01bd951da8c37a86b4fb4d63183f0d02
[INFO] running `Command { std: "docker" "start" "-a" "b34e0db579c6fa59a93c9ad12ab1a8ab01bd951da8c37a86b4fb4d63183f0d02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b34e0db579c6fa59a93c9ad12ab1a8ab01bd951da8c37a86b4fb4d63183f0d02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b34e0db579c6fa59a93c9ad12ab1a8ab01bd951da8c37a86b4fb4d63183f0d02", kill_on_drop: false }`
[INFO] [stdout] b34e0db579c6fa59a93c9ad12ab1a8ab01bd951da8c37a86b4fb4d63183f0d02
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dd7feb7b84f7de05c8da4fad695680ba448b3ecbce00eb83097cc16add27ea05
[INFO] running `Command { std: "docker" "start" "-a" "dd7feb7b84f7de05c8da4fad695680ba448b3ecbce00eb83097cc16add27ea05", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling statrs v0.18.0
[INFO] [stderr]    Compiling electricity_price_optimizer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `add_variable_capacity` and `time::STEPS_PER_DAY`
[INFO] [stdout]   --> src/optimizer/mcmf/action.rs:5:28
[INFO] [stdout]    |
[INFO] [stdout]  5 |             helpers::{INF, add_variable_capacity},
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     time::STEPS_PER_DAY,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `INF` and `add_variable_capacity`
[INFO] [stdout]   --> src/optimizer/mcmf/consumption.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::helpers::{INF, add_variable_capacity};
[INFO] [stdout]    |                      ^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `Write`, and `self`
[INFO] [stdout]  --> src/optimizer/mcmf/MCMF.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::{self, Read, Write},
[INFO] [stdout]   |          ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizer_context::action::variable`
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::optimizer_context::action::variable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self`, `time::Time`, and `variable::VariableAction`
[INFO] [stdout]  --> src/simulated_annealing/state.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |             constant::{self, AssignedConstantAction},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 6 |             variable::VariableAction,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     time::Time,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `WIRE`
[INFO] [stdout]   --> src/optimizer/mcmf/builder.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `WIRE`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let optimizer::variable_maker::WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         +++++++++++++++++++++++++++
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let _WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/lib.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn optimize(data: OptimizerContext) -> Schedule {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dijkstra` is never used
[INFO] [stdout]   --> src/optimizer/mcmf/MCMF.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl MinCostFlow {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn dijkstra(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_b`, `contains_a`, `contains_b`, `len`, `is_empty`, and `clear` are never used
[INFO] [stdout]   --> src/optimizer/variable_maker/DoubleSidedHash.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | / impl<A, B> BiMap<A, B>
[INFO] [stdout] 11 | | where
[INFO] [stdout] 12 | |     A: Eq + Hash + Clone,
[INFO] [stdout] 13 | |     B: Eq + Hash + Clone,
[INFO] [stdout]    | |_________________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |       pub fn get_by_b(&self, b: &B) -> Option<&A> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |       pub fn contains_a(&self, a: &A) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |       pub fn contains_b(&self, b: &B) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |       pub fn len(&self) -> usize {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |       pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |       pub fn clear(&mut self) {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `action` and `consumption` are never read
[INFO] [stdout]   --> src/optimizer_context/action/variable.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct AssignedVariableAction {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 75 |     /// The variable action being assigned.
[INFO] [stdout] 76 |     action: Rc<VariableAction>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 77 |     /// The consumption values for each timestep of the action.
[INFO] [stdout] 78 |     consumption: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `efficiency` is never read
[INFO] [stdout]   --> src/optimizer_context/battery.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub struct Battery {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     efficiency: f32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `MCMF` should have a snake case name
[INFO] [stdout]  --> src/optimizer/mcmf/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod MCMF;
[INFO] [stdout]   |         ^^^^ help: convert the identifier to snake case: `mcmf`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIRE` should have a snake case name
[INFO] [stdout]   --> src/optimizer/mcmf/builder.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `wire`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DoubleSidedHash` should have a snake case name
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod DoubleSidedHash;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `double_sided_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 | /                 persistent
[INFO] [stdout] 46 | |                     .insert((item_id as ItemId, t as Timestamp), variable_count);
[INFO] [stdout]    | |________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 let _ = persistent
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 | /                 persistent_with_capacity
[INFO] [stdout] 55 | |                     .insert((item_id as ItemId, t as Timestamp, false), variable_count);
[INFO] [stdout]    | |_______________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 let _ = persistent_with_capacity
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 | /                 persistent_with_capacity
[INFO] [stdout] 58 | |                     .insert((item_id as ItemId, t as Timestamp, true), variable_count);
[INFO] [stdout]    | |______________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let _ = persistent_with_capacity
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             persistent.insert((WIRE, t as Timestamp), variable_count);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let _ = persistent.insert((WIRE, t as Timestamp), variable_count);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.16s
[INFO] running `Command { std: "docker" "inspect" "dd7feb7b84f7de05c8da4fad695680ba448b3ecbce00eb83097cc16add27ea05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd7feb7b84f7de05c8da4fad695680ba448b3ecbce00eb83097cc16add27ea05", kill_on_drop: false }`
[INFO] [stdout] dd7feb7b84f7de05c8da4fad695680ba448b3ecbce00eb83097cc16add27ea05
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0a84431b4a0eb22eb1c93f1d1be6491f97750f4ecab077d12098153c23fcec80
[INFO] running `Command { std: "docker" "start" "-a" "0a84431b4a0eb22eb1c93f1d1be6491f97750f4ecab077d12098153c23fcec80", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `add_variable_capacity` and `time::STEPS_PER_DAY`
[INFO] [stdout]   --> src/optimizer/mcmf/action.rs:5:28
[INFO] [stdout]    |
[INFO] [stdout]  5 |             helpers::{INF, add_variable_capacity},
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     time::STEPS_PER_DAY,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `INF` and `add_variable_capacity`
[INFO] [stdout]   --> src/optimizer/mcmf/consumption.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::helpers::{INF, add_variable_capacity};
[INFO] [stdout]    |                      ^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `Write`, and `self`
[INFO] [stdout]  --> src/optimizer/mcmf/MCMF.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::{self, Read, Write},
[INFO] [stdout]   |          ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizer_context::action::variable`
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::optimizer_context::action::variable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self`, `time::Time`, and `variable::VariableAction`
[INFO] [stdout]  --> src/simulated_annealing/state.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |             constant::{self, AssignedConstantAction},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 6 |             variable::VariableAction,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     time::Time,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `WIRE`
[INFO] [stdout]   --> src/optimizer/mcmf/builder.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `WIRE`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let optimizer::variable_maker::WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         +++++++++++++++++++++++++++
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let _WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/lib.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn optimize(data: OptimizerContext) -> Schedule {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dijkstra` is never used
[INFO] [stdout]   --> src/optimizer/mcmf/MCMF.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl MinCostFlow {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn dijkstra(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_b`, `contains_a`, `contains_b`, `len`, `is_empty`, and `clear` are never used
[INFO] [stdout]   --> src/optimizer/variable_maker/DoubleSidedHash.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | / impl<A, B> BiMap<A, B>
[INFO] [stdout] 11 | | where
[INFO] [stdout] 12 | |     A: Eq + Hash + Clone,
[INFO] [stdout] 13 | |     B: Eq + Hash + Clone,
[INFO] [stdout]    | |_________________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |       pub fn get_by_b(&self, b: &B) -> Option<&A> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |       pub fn contains_a(&self, a: &A) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |       pub fn contains_b(&self, b: &B) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |       pub fn len(&self) -> usize {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |       pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |       pub fn clear(&mut self) {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `action` and `consumption` are never read
[INFO] [stdout]   --> src/optimizer_context/action/variable.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct AssignedVariableAction {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 75 |     /// The variable action being assigned.
[INFO] [stdout] 76 |     action: Rc<VariableAction>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 77 |     /// The consumption values for each timestep of the action.
[INFO] [stdout] 78 |     consumption: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `efficiency` is never read
[INFO] [stdout]   --> src/optimizer_context/battery.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub struct Battery {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     efficiency: f32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `MCMF` should have a snake case name
[INFO] [stdout]  --> src/optimizer/mcmf/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod MCMF;
[INFO] [stdout]   |         ^^^^ help: convert the identifier to snake case: `mcmf`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIRE` should have a snake case name
[INFO] [stdout]   --> src/optimizer/mcmf/builder.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `wire`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DoubleSidedHash` should have a snake case name
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod DoubleSidedHash;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `double_sided_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling electricity_price_optimizer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 | /                 persistent
[INFO] [stdout] 46 | |                     .insert((item_id as ItemId, t as Timestamp), variable_count);
[INFO] [stdout]    | |________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 let _ = persistent
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 | /                 persistent_with_capacity
[INFO] [stdout] 55 | |                     .insert((item_id as ItemId, t as Timestamp, false), variable_count);
[INFO] [stdout]    | |_______________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 let _ = persistent_with_capacity
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 | /                 persistent_with_capacity
[INFO] [stdout] 58 | |                     .insert((item_id as ItemId, t as Timestamp, true), variable_count);
[INFO] [stdout]    | |______________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let _ = persistent_with_capacity
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             persistent.insert((WIRE, t as Timestamp), variable_count);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let _ = persistent.insert((WIRE, t as Timestamp), variable_count);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `add_variable_capacity` and `time::STEPS_PER_DAY`
[INFO] [stdout]   --> src/optimizer/mcmf/action.rs:5:28
[INFO] [stdout]    |
[INFO] [stdout]  5 |             helpers::{INF, add_variable_capacity},
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     time::STEPS_PER_DAY,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `INF` and `add_variable_capacity`
[INFO] [stdout]   --> src/optimizer/mcmf/consumption.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::helpers::{INF, add_variable_capacity};
[INFO] [stdout]    |                      ^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `Write`, and `self`
[INFO] [stdout]  --> src/optimizer/mcmf/MCMF.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::{self, Read, Write},
[INFO] [stdout]   |          ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::optimizer_context::action::variable`
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::optimizer_context::action::variable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/optimizer/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     use std::rc::Rc;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rand_core::le`
[INFO] [stdout]   --> src/optimizer/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     use rand::rand_core::le;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConstantAction`, `VariableAction`, `battery::Battery`, `prognoses::Prognoses`, `self`, and `self`
[INFO] [stdout]   --> src/optimizer/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |             constant::{self, ConstantAction},
[INFO] [stdout]    |                        ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 28 |             variable::{self, VariableAction},
[INFO] [stdout]    |                        ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |         },
[INFO] [stdout] 30 |         battery::Battery,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |         prognoses::Prognoses,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/optimizer/mod.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self`, `time::Time`, and `variable::VariableAction`
[INFO] [stdout]  --> src/simulated_annealing/state.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |             constant::{self, AssignedConstantAction},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 6 |             variable::VariableAction,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     time::Time,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rand_core::le`
[INFO] [stdout]    --> src/simulated_annealing/mod.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     use rand::rand_core::le;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `statrs::generate`
[INFO] [stdout]    --> src/simulated_annealing/mod.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     use statrs::generate;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `self`
[INFO] [stdout]    --> src/simulated_annealing/mod.rs:117:28
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 constant::{self, ConstantAction},
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout] 118 |                 variable::{self, VariableAction},
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `WIRE`
[INFO] [stdout]   --> src/optimizer/mcmf/builder.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `WIRE`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let optimizer::variable_maker::WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         +++++++++++++++++++++++++++
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let _WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/lib.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn optimize(data: OptimizerContext) -> Schedule {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dijkstra` is never used
[INFO] [stdout]   --> src/optimizer/mcmf/MCMF.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl MinCostFlow {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn dijkstra(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_b`, `contains_a`, `contains_b`, `len`, `is_empty`, and `clear` are never used
[INFO] [stdout]   --> src/optimizer/variable_maker/DoubleSidedHash.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | / impl<A, B> BiMap<A, B>
[INFO] [stdout] 11 | | where
[INFO] [stdout] 12 | |     A: Eq + Hash + Clone,
[INFO] [stdout] 13 | |     B: Eq + Hash + Clone,
[INFO] [stdout]    | |_________________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |       pub fn get_by_b(&self, b: &B) -> Option<&A> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |       pub fn contains_a(&self, a: &A) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |       pub fn contains_b(&self, b: &B) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |       pub fn len(&self) -> usize {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |       pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |       pub fn clear(&mut self) {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `action` and `consumption` are never read
[INFO] [stdout]   --> src/optimizer_context/action/variable.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct AssignedVariableAction {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 75 |     /// The variable action being assigned.
[INFO] [stdout] 76 |     action: Rc<VariableAction>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 77 |     /// The consumption values for each timestep of the action.
[INFO] [stdout] 78 |     consumption: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `efficiency` is never read
[INFO] [stdout]   --> src/optimizer_context/battery.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub struct Battery {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     efficiency: f32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `MCMF` should have a snake case name
[INFO] [stdout]  --> src/optimizer/mcmf/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod MCMF;
[INFO] [stdout]   |         ^^^^ help: convert the identifier to snake case: `mcmf`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIRE` should have a snake case name
[INFO] [stdout]   --> src/optimizer/mcmf/builder.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let WIRE = variable_maker::WIRE;
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `wire`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DoubleSidedHash` should have a snake case name
[INFO] [stdout]  --> src/optimizer/variable_maker/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod DoubleSidedHash;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `double_sided_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 | /                 persistent
[INFO] [stdout] 46 | |                     .insert((item_id as ItemId, t as Timestamp), variable_count);
[INFO] [stdout]    | |________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 let _ = persistent
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 | /                 persistent_with_capacity
[INFO] [stdout] 55 | |                     .insert((item_id as ItemId, t as Timestamp, false), variable_count);
[INFO] [stdout]    | |_______________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 let _ = persistent_with_capacity
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 | /                 persistent_with_capacity
[INFO] [stdout] 58 | |                     .insert((item_id as ItemId, t as Timestamp, true), variable_count);
[INFO] [stdout]    | |______________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let _ = persistent_with_capacity
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/optimizer/variable_maker/mod.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             persistent.insert((WIRE, t as Timestamp), variable_count);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let _ = persistent.insert((WIRE, t as Timestamp), variable_count);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.00s
[INFO] running `Command { std: "docker" "inspect" "0a84431b4a0eb22eb1c93f1d1be6491f97750f4ecab077d12098153c23fcec80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a84431b4a0eb22eb1c93f1d1be6491f97750f4ecab077d12098153c23fcec80", kill_on_drop: false }`
[INFO] [stdout] 0a84431b4a0eb22eb1c93f1d1be6491f97750f4ecab077d12098153c23fcec80
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5421b4fc3d47621c3a7e88e6e0683eaf38689563ddf0f9a838f1b3cbfdc21c01
[INFO] running `Command { std: "docker" "start" "-a" "5421b4fc3d47621c3a7e88e6e0683eaf38689563ddf0f9a838f1b3cbfdc21c01", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `add_variable_capacity` and `time::STEPS_PER_DAY`
[INFO] [stderr]   --> src/optimizer/mcmf/action.rs:5:28
[INFO] [stderr]    |
[INFO] [stderr]  5 |             helpers::{INF, add_variable_capacity},
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 10 |     time::STEPS_PER_DAY,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `INF` and `add_variable_capacity`
[INFO] [stderr]   --> src/optimizer/mcmf/consumption.rs:10:22
[INFO] [stderr]    |
[INFO] [stderr] 10 | use super::helpers::{INF, add_variable_capacity};
[INFO] [stderr]    |                      ^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Read`, `Write`, and `self`
[INFO] [stderr]  --> src/optimizer/mcmf/MCMF.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 |     io::{self, Read, Write},
[INFO] [stderr]   |          ^^^^  ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/optimizer/variable_maker/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::optimizer_context::action::variable`
[INFO] [stderr]  --> src/optimizer/variable_maker/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::optimizer_context::action::variable;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `self`, `time::Time`, and `variable::VariableAction`
[INFO] [stderr]  --> src/simulated_annealing/state.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 |             constant::{self, AssignedConstantAction},
[INFO] [stderr]   |                        ^^^^
[INFO] [stderr] 6 |             variable::VariableAction,
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 9 |     time::Time,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `WIRE`
[INFO] [stderr]   --> src/optimizer/mcmf/builder.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let WIRE = variable_maker::WIRE;
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `WIRE`
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let optimizer::variable_maker::WIRE = variable_maker::WIRE;
[INFO] [stderr]    |         +++++++++++++++++++++++++++
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let _WIRE = variable_maker::WIRE;
[INFO] [stderr]    |         +
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/lib.rs:13:17
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub fn optimize(data: OptimizerContext) -> Schedule {
[INFO] [stderr]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: method `dijkstra` is never used
[INFO] [stderr]   --> src/optimizer/mcmf/MCMF.rs:90:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl MinCostFlow {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 90 |     fn dijkstra(&mut self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_by_b`, `contains_a`, `contains_b`, `len`, `is_empty`, and `clear` are never used
[INFO] [stderr]   --> src/optimizer/variable_maker/DoubleSidedHash.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | / impl<A, B> BiMap<A, B>
[INFO] [stderr] 11 | | where
[INFO] [stderr] 12 | |     A: Eq + Hash + Clone,
[INFO] [stderr] 13 | |     B: Eq + Hash + Clone,
[INFO] [stderr]    | |_________________________- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |       pub fn get_by_b(&self, b: &B) -> Option<&A> {
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |       pub fn contains_a(&self, a: &A) -> bool {
[INFO] [stderr]    |              ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |       pub fn contains_b(&self, b: &B) -> bool {
[INFO] [stderr]    |              ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |       pub fn len(&self) -> usize {
[INFO] [stderr]    |              ^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |       pub fn is_empty(&self) -> bool {
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |       pub fn clear(&mut self) {
[INFO] [stderr]    |              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `action` and `consumption` are never read
[INFO] [stderr]   --> src/optimizer_context/action/variable.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub struct AssignedVariableAction {
[INFO] [stderr]    |            ---------------------- fields in this struct
[INFO] [stderr] 75 |     /// The variable action being assigned.
[INFO] [stderr] 76 |     action: Rc<VariableAction>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 77 |     /// The consumption values for each timestep of the action.
[INFO] [stderr] 78 |     consumption: Vec<u32>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `efficiency` is never read
[INFO] [stderr]   --> src/optimizer_context/battery.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  2 | pub struct Battery {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 11 |     efficiency: f32,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: module `MCMF` should have a snake case name
[INFO] [stderr]  --> src/optimizer/mcmf/mod.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub mod MCMF;
[INFO] [stderr]   |         ^^^^ help: convert the identifier to snake case: `mcmf`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `WIRE` should have a snake case name
[INFO] [stderr]   --> src/optimizer/mcmf/builder.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let WIRE = variable_maker::WIRE;
[INFO] [stderr]    |         ^^^^ help: convert the identifier to snake case: `wire`
[INFO] [stderr] 
[INFO] [stderr] warning: module `DoubleSidedHash` should have a snake case name
[INFO] [stderr]  --> src/optimizer/variable_maker/mod.rs:1:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub mod DoubleSidedHash;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `double_sided_hash`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/optimizer/variable_maker/mod.rs:45:17
[INFO] [stderr]    |
[INFO] [stderr] 45 | /                 persistent
[INFO] [stderr] 46 | |                     .insert((item_id as ItemId, t as Timestamp), variable_count);
[INFO] [stderr]    | |________________________________________________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 45 |                 let _ = persistent
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/optimizer/variable_maker/mod.rs:54:17
[INFO] [stderr]    |
[INFO] [stderr] 54 | /                 persistent_with_capacity
[INFO] [stderr] 55 | |                     .insert((item_id as ItemId, t as Timestamp, false), variable_count);
[INFO] [stderr]    | |_______________________________________________________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 let _ = persistent_with_capacity
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/optimizer/variable_maker/mod.rs:57:17
[INFO] [stderr]    |
[INFO] [stderr] 57 | /                 persistent_with_capacity
[INFO] [stderr] 58 | |                     .insert((item_id as ItemId, t as Timestamp, true), variable_count);
[INFO] [stderr]    | |______________________________________________________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 57 |                 let _ = persistent_with_capacity
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/optimizer/variable_maker/mod.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |             persistent.insert((WIRE, t as Timestamp), variable_count);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 64 |             let _ = persistent.insert((WIRE, t as Timestamp), variable_count);
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]   --> src/optimizer/mod.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |     use std::rc::Rc;
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::rand_core::le`
[INFO] [stderr]   --> src/optimizer/mod.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |     use rand::rand_core::le;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ConstantAction`, `VariableAction`, `battery::Battery`, `prognoses::Prognoses`, `self`, and `self`
[INFO] [stderr]   --> src/optimizer/mod.rs:27:24
[INFO] [stderr]    |
[INFO] [stderr] 27 |             constant::{self, ConstantAction},
[INFO] [stderr]    |                        ^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 28 |             variable::{self, VariableAction},
[INFO] [stderr]    |                        ^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 29 |         },
[INFO] [stderr] 30 |         battery::Battery,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 31 |         prognoses::Prognoses,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/optimizer/mod.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::rand_core::le`
[INFO] [stderr]    --> src/simulated_annealing/mod.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 |     use rand::rand_core::le;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `statrs::generate`
[INFO] [stderr]    --> src/simulated_annealing/mod.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 112 |     use statrs::generate;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `self` and `self`
[INFO] [stderr]    --> src/simulated_annealing/mod.rs:117:28
[INFO] [stderr]     |
[INFO] [stderr] 117 |                 constant::{self, ConstantAction},
[INFO] [stderr]     |                            ^^^^
[INFO] [stderr] 118 |                 variable::{self, VariableAction},
[INFO] [stderr]     |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `electricity_price_optimizer` (lib) generated 19 warnings (run `cargo fix --lib -p electricity_price_optimizer` to apply 8 suggestions)
[INFO] [stderr] warning: `electricity_price_optimizer` (lib test) generated 26 warnings (19 duplicates) (run `cargo fix --lib -p electricity_price_optimizer --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/electricity_price_optimizer-279d1feb6c504aa9)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stdout] test simulated_annealing::tests::test_simulated_annealing2 ... ok
[INFO] [stdout] test simulated_annealing::tests::test_simulated_annealing has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "5421b4fc3d47621c3a7e88e6e0683eaf38689563ddf0f9a838f1b3cbfdc21c01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5421b4fc3d47621c3a7e88e6e0683eaf38689563ddf0f9a838f1b3cbfdc21c01", kill_on_drop: false }`
[INFO] [stdout] 5421b4fc3d47621c3a7e88e6e0683eaf38689563ddf0f9a838f1b3cbfdc21c01
