[INFO] cloning repository https://github.com/Odysseusailoon/GraduationDesign
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Odysseusailoon/GraduationDesign" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOdysseusailoon%2FGraduationDesign", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOdysseusailoon%2FGraduationDesign'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c4db5c81382d198971b97d1e1fa4f92154e673f6
[INFO] checking Odysseusailoon/GraduationDesign against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOdysseusailoon%2FGraduationDesign" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Odysseusailoon/GraduationDesign
[INFO] finished tweaking git repo https://github.com/Odysseusailoon/GraduationDesign
[INFO] tweaked toml for git repo https://github.com/Odysseusailoon/GraduationDesign written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Odysseusailoon/GraduationDesign on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Odysseusailoon/GraduationDesign 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8
[INFO] running `Command { std: "docker" "start" "eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.70
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.12
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.21
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling serde v1.0.110
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling quote v1.0.5
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]     Checking gimli v0.21.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking crossbeam-queue v0.2.1
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]     Checking object v0.19.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]     Checking regex-syntax v0.6.17
[INFO] [stderr]     Checking plotters v0.2.14
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking clap v2.33.1
[INFO] [stderr]     Checking criterion-plot v0.4.2
[INFO] [stderr]     Checking regex v1.3.7
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking addr2line v0.12.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking svg v0.7.2
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]     Checking backtrace v0.3.48
[INFO] [stderr]     Checking typed-arena v2.0.1
[INFO] [stderr]     Checking pin-project-lite v0.1.5
[INFO] [stderr]     Checking bytes v0.5.4
[INFO] [stderr]     Checking ucd-trie v0.1.3
[INFO] [stderr]     Checking oorandom v11.1.1
[INFO] [stderr]     Checking pretty v0.10.0
[INFO] [stderr]     Checking pest v2.1.3
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking tokio v0.2.21
[INFO] [stderr]     Checking serde_json v1.0.53
[INFO] [stderr]     Checking bstr v0.2.13
[INFO] [stderr]     Checking csv v1.1.3
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]     Checking tinytemplate v1.0.4
[INFO] [stderr]    Compiling serde_derive v1.0.110
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking plotlib v0.5.1
[INFO] [stderr]     Checking criterion v0.3.2
[INFO] [stderr]     Checking graduation v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Q_T`
[INFO] [stdout]  --> src/main.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parameters::{init_global_parameters, E_MAX, Q_T, TIME_COUNT};
[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: `CURRENT_SLOT` and `Q_T`
[INFO] [stdout]  --> src/simulation.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::parameters::{Task, BANDWIDTH, CURRENT_SLOT, EDGE_COUNT, EDGE_LAMBDA, Q_T, V};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/simulation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/plot.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 |         .line_style(LineStyle::new().colour(colour).width(2.0))
[INFO] [stdout]    |                                                           ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Q_T`
[INFO] [stdout]  --> src/main.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parameters::{init_global_parameters, E_MAX, Q_T, TIME_COUNT};
[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: `CURRENT_SLOT` and `Q_T`
[INFO] [stdout]  --> src/simulation.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::parameters::{Task, BANDWIDTH, CURRENT_SLOT, EDGE_COUNT, EDGE_LAMBDA, Q_T, V};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/simulation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/simulation.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let mut task = Task::new(required_productivity, profits, data_size, edge_id, 0);
[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: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/plot.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 |         .line_style(LineStyle::new().colour(colour).width(2.0))
[INFO] [stdout]    |                                                           ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `compute_latency` is never read
[INFO] [stdout]   --> src/simulation.rs:50:31
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut compute_latency = 0u32;
[INFO] [stdout]    |                               ^^^^ this value is reassigned later and never used
[INFO] [stdout] 51 |     let mut trans_latency = 0u32;
[INFO] [stdout] 52 |     compute_latency = y.required_productivity / EDGE_LAMBDA[x_i];
[INFO] [stdout]    |     ------------------------------------------------------------ `compute_latency` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `trans_latency` is never read
[INFO] [stdout]   --> src/simulation.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut trans_latency = 0u32;
[INFO] [stdout]    |                             ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 56 |         trans_latency = y.data_size / BANDWIDTH[y.edge_id];
[INFO] [stdout]    |         -------------------------------------------------- `trans_latency` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `compute_latency` is never read
[INFO] [stdout]   --> src/simulation.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut compute_latency = 0u32;
[INFO] [stdout]    |                               ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 70 |             compute_latency = y.required_productivity / div;
[INFO] [stdout]    |             ----------------------------------------------- `compute_latency` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `trans_latency` is never read
[INFO] [stdout]   --> src/simulation.rs:64:29
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut trans_latency = 0u32;
[INFO] [stdout]    |                             ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 74 |                 trans_latency = y.data_size / BANDWIDTH[y.edge_id];
[INFO] [stdout]    |                 -------------------------------------------------- `trans_latency` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/simulation.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut current_edge = &dist_t[random_edge];
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `new_dispatched` is never read
[INFO] [stdout]    --> src/simulation.rs:106:30
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let mut new_dispatched = Default::default();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 107 |     loop {
[INFO] [stdout] 108 |         new_dispatched = dist_t.clone();
[INFO] [stdout]     |         -------------- `new_dispatched` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_latency_t` is never read
[INFO] [stdout]    --> src/simulation.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let mut tmp_latency_t = 0;
[INFO] [stdout]     |                                     ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 121 |                 tmp_latency_t = latency_t(&mut task, edge_iter);
[INFO] [stdout]     |                 ----------------------------------------------- `tmp_latency_t` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/simulation.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut new_val = objective_function(&mut new_dispatched, q_t); //evaluate the new answer
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/main.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     for x in 0..TIME_COUNT {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dist_t` is never read
[INFO] [stdout]   --> src/main.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut dist_t = Default::default();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 48 |         dist_t = initial_task_distribution();
[INFO] [stdout]    |         ------ `dist_t` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dist_dispatch` is never read
[INFO] [stdout]   --> src/main.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut dist_dispatch = Default::default();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 49 |         dist_dispatch = task_distribution_after_dispatch(&dist_t);
[INFO] [stdout]    |         ------------- `dist_dispatch` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TSLOT_SIZE` is never used
[INFO] [stdout]  --> src/parameters.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const TSLOT_SIZE: usize = 1;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CURRENT_SLOT` is never used
[INFO] [stdout]  --> src/parameters.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static mut CURRENT_SLOT: usize = 0;
[INFO] [stdout]   |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `Q_T` is never used
[INFO] [stdout]   --> src/parameters.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub static mut Q_T: u32 = 0;
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAO` is never used
[INFO] [stdout]   --> src/parameters.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const TAO: f32 = 0.1; //parameters for markov approximation's random iteration
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_four_lines` is never used
[INFO] [stdout]   --> src/plot.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub unsafe fn plot_four_lines(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/parameters.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 |     for x in EDGE_LAMBDA.iter_mut() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/parameters.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for x in BANDWIDTH.iter_mut() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/simulation.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let mut task = Task::new(required_productivity, profits, data_size, edge_id, 0);
[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: value assigned to `compute_latency` is never read
[INFO] [stdout]   --> src/simulation.rs:50:31
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut compute_latency = 0u32;
[INFO] [stdout]    |                               ^^^^ this value is reassigned later and never used
[INFO] [stdout] 51 |     let mut trans_latency = 0u32;
[INFO] [stdout] 52 |     compute_latency = y.required_productivity / EDGE_LAMBDA[x_i];
[INFO] [stdout]    |     ------------------------------------------------------------ `compute_latency` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `trans_latency` is never read
[INFO] [stdout]   --> src/simulation.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut trans_latency = 0u32;
[INFO] [stdout]    |                             ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 56 |         trans_latency = y.data_size / BANDWIDTH[y.edge_id];
[INFO] [stdout]    |         -------------------------------------------------- `trans_latency` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `compute_latency` is never read
[INFO] [stdout]   --> src/simulation.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut compute_latency = 0u32;
[INFO] [stdout]    |                               ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 70 |             compute_latency = y.required_productivity / div;
[INFO] [stdout]    |             ----------------------------------------------- `compute_latency` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `trans_latency` is never read
[INFO] [stdout]   --> src/simulation.rs:64:29
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut trans_latency = 0u32;
[INFO] [stdout]    |                             ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 74 |                 trans_latency = y.data_size / BANDWIDTH[y.edge_id];
[INFO] [stdout]    |                 -------------------------------------------------- `trans_latency` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/simulation.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut current_edge = &dist_t[random_edge];
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `new_dispatched` is never read
[INFO] [stdout]    --> src/simulation.rs:106:30
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let mut new_dispatched = Default::default();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 107 |     loop {
[INFO] [stdout] 108 |         new_dispatched = dist_t.clone();
[INFO] [stdout]     |         -------------- `new_dispatched` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_latency_t` is never read
[INFO] [stdout]    --> src/simulation.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let mut tmp_latency_t = 0;
[INFO] [stdout]     |                                     ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 121 |                 tmp_latency_t = latency_t(&mut task, edge_iter);
[INFO] [stdout]     |                 ----------------------------------------------- `tmp_latency_t` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/simulation.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut new_val = objective_function(&mut new_dispatched, q_t); //evaluate the new answer
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/main.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     for x in 0..TIME_COUNT {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dist_t` is never read
[INFO] [stdout]   --> src/main.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut dist_t = Default::default();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 48 |         dist_t = initial_task_distribution();
[INFO] [stdout]    |         ------ `dist_t` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dist_dispatch` is never read
[INFO] [stdout]   --> src/main.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut dist_dispatch = Default::default();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 49 |         dist_dispatch = task_distribution_after_dispatch(&dist_t);
[INFO] [stdout]    |         ------------- `dist_dispatch` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TSLOT_SIZE` is never used
[INFO] [stdout]  --> src/parameters.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const TSLOT_SIZE: usize = 1;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CURRENT_SLOT` is never used
[INFO] [stdout]  --> src/parameters.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static mut CURRENT_SLOT: usize = 0;
[INFO] [stdout]   |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `Q_T` is never used
[INFO] [stdout]   --> src/parameters.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub static mut Q_T: u32 = 0;
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAO` is never used
[INFO] [stdout]   --> src/parameters.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const TAO: f32 = 0.1; //parameters for markov approximation's random iteration
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_four_lines` is never used
[INFO] [stdout]   --> src/plot.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub unsafe fn plot_four_lines(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/parameters.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 |     for x in EDGE_LAMBDA.iter_mut() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/parameters.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for x in BANDWIDTH.iter_mut() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `criterion`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | criterion = "0.3"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `criterion`
[INFO] [stderr] warning: unused dependency `pest`
[INFO] [stderr]  --> Cargo.toml:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | pest = "2.1.3"
[INFO] [stderr]   | ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `pest`
[INFO] [stderr] warning: unused dependency `pretty`
[INFO] [stderr]  --> Cargo.toml:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pretty = "0.10.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `pretty`
[INFO] [stderr] warning: unused dependency `tokio`
[INFO] [stderr]  --> Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | tokio = "0.2.21"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `tokio`
[INFO] [stderr] warning: `graduation` (manifest) generated 4 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.51s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.2, svg v0.7.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8", kill_on_drop: false }`
[INFO] [stdout] eec59e53198f883604e5e43089646b15a0548e03a559ff2ca36523a91a337da8
