[INFO] cloning repository https://github.com/PsionicLemon/finance_tracker [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PsionicLemon/finance_tracker" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPsionicLemon%2Ffinance_tracker", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPsionicLemon%2Ffinance_tracker'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 98b7ed1aafbd35038320a03ccf7e75a5040a4d0e [INFO] testing PsionicLemon/finance_tracker against try#16fbf98f22730e073c09e7b03f0eafb87a295545 for pr-145628-retry-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPsionicLemon%2Ffinance_tracker" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/PsionicLemon/finance_tracker [INFO] finished tweaking git repo https://github.com/PsionicLemon/finance_tracker [INFO] tweaked toml for git repo https://github.com/PsionicLemon/finance_tracker written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/PsionicLemon/finance_tracker on toolchain 16fbf98f22730e073c09e7b03f0eafb87a295545 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/PsionicLemon/finance_tracker 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" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 268d05905db3d9c3d1b0cadecd4c961b4e82550d9e68aa84fceadfeb8e48d812 [INFO] running `Command { std: "docker" "start" "-a" "268d05905db3d9c3d1b0cadecd4c961b4e82550d9e68aa84fceadfeb8e48d812", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "268d05905db3d9c3d1b0cadecd4c961b4e82550d9e68aa84fceadfeb8e48d812", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "268d05905db3d9c3d1b0cadecd4c961b4e82550d9e68aa84fceadfeb8e48d812", kill_on_drop: false }` [INFO] [stdout] 268d05905db3d9c3d1b0cadecd4c961b4e82550d9e68aa84fceadfeb8e48d812 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9a46050300346827be89433a0838cdd4bdc21b480aa3c8ef3fa127848929355e [INFO] running `Command { std: "docker" "start" "-a" "9a46050300346827be89433a0838cdd4bdc21b480aa3c8ef3fa127848929355e", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling csv-core v0.1.12 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling LiveBoM v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `read_csv` [INFO] [stdout] --> src/main.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use analyser::{full_analysis, read_csv}; [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: `cursor`, `execute`, and `terminal` [INFO] [stdout] --> src/main.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::{cursor, execute, terminal}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stdout` [INFO] [stdout] --> src/main.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{stdout, self}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::terminal::LeaveAlternateScreen` [INFO] [stdout] --> src/analyser.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crossterm::terminal::LeaveAlternateScreen; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `take_end_values` and `value_to_index` [INFO] [stdout] --> src/analyser.rs:13:59 [INFO] [stdout] | [INFO] [stdout] 13 | datastore::FILE_PATH, grapher::{plot, print_messages, take_end_values, value_to_index, pause_disp, warning_messages, print_last_n_wee... [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/analyser.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 289 | if (curr_week== 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 289 - if (curr_week== 1) { [INFO] [stdout] 289 + if curr_week== 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `Index`, and `f32::DIGITS` [INFO] [stdout] --> src/grapher.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{f32::DIGITS, io::{self, stdout, Write}, ops::{Index, IndexMut}, usize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `event::Event`, `position`, `self`, and `style::Print` [INFO] [stdout] --> src/grapher.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::{self, cursor::{self, position}, event::Event, execute, style::Print}; [INFO] [stdout] | ^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PurchaseReceipt` [INFO] [stdout] --> src/grapher.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::payment_details::{PurchaseReceipt, PurchaseType}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/grapher.rs:279:34 [INFO] [stdout] | [INFO] [stdout] 279 | cursor_move(Direction::LEFT, (16 + 11*n_weeks as u16)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 279 - cursor_move(Direction::LEFT, (16 + 11*n_weeks as u16)); [INFO] [stdout] 279 + cursor_move(Direction::LEFT, 16 + 11*n_weeks as u16); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/grapher.rs:293:8 [INFO] [stdout] | [INFO] [stdout] 293 | if (weekly_average > WEEKLY_WARNING_LEVEL){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 293 - if (weekly_average > WEEKLY_WARNING_LEVEL){ [INFO] [stdout] 293 + if weekly_average > WEEKLY_WARNING_LEVEL { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/analyser.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/analyser.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | for i in curr_week..Local::now().iso_week().week() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/analyser.rs:266:9 [INFO] [stdout] | [INFO] [stdout] 266 | for i in 0..n_weeks { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/grapher.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/grapher.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 209 | Direction::DOWN => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 217 | Direction::UP => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 225 | Direction::LEFT => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 233 | Direction::RIGHT => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 241 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEEK_RECALL` is never used [INFO] [stdout] --> src/grapher.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const WEEK_RECALL:u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEEKLY_THRESHOLD` is never used [INFO] [stdout] --> src/grapher.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const WEEKLY_THRESHOLD:f32 = 100.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/payment_details.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | io::stdout().flush(); [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] 198 | let _ = io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/payment_details.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 199 | / io::stdin() [INFO] [stdout] 200 | | .read_line(&mut user_input_amount) [INFO] [stdout] 201 | | .context("Invalid Input"); [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] 199 | let _ = io::stdin() [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/grapher.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | io::stdout().flush(); [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] 348 | let _ = io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.29s [INFO] running `Command { std: "docker" "inspect" "9a46050300346827be89433a0838cdd4bdc21b480aa3c8ef3fa127848929355e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a46050300346827be89433a0838cdd4bdc21b480aa3c8ef3fa127848929355e", kill_on_drop: false }` [INFO] [stdout] 9a46050300346827be89433a0838cdd4bdc21b480aa3c8ef3fa127848929355e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1864a63b3b1c78bf05f7b66194cb4f2b495f3e8b79d53374240caa438d63f0ff [INFO] running `Command { std: "docker" "start" "-a" "1864a63b3b1c78bf05f7b66194cb4f2b495f3e8b79d53374240caa438d63f0ff", kill_on_drop: false }` [INFO] [stderr] Compiling LiveBoM v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `read_csv` [INFO] [stdout] --> src/main.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use analyser::{full_analysis, read_csv}; [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: `cursor`, `execute`, and `terminal` [INFO] [stdout] --> src/main.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::{cursor, execute, terminal}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stdout` [INFO] [stdout] --> src/main.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{stdout, self}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::terminal::LeaveAlternateScreen` [INFO] [stdout] --> src/analyser.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crossterm::terminal::LeaveAlternateScreen; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `take_end_values` and `value_to_index` [INFO] [stdout] --> src/analyser.rs:13:59 [INFO] [stdout] | [INFO] [stdout] 13 | datastore::FILE_PATH, grapher::{plot, print_messages, take_end_values, value_to_index, pause_disp, warning_messages, print_last_n_wee... [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/analyser.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 289 | if (curr_week== 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 289 - if (curr_week== 1) { [INFO] [stdout] 289 + if curr_week== 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `Index`, and `f32::DIGITS` [INFO] [stdout] --> src/grapher.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{f32::DIGITS, io::{self, stdout, Write}, ops::{Index, IndexMut}, usize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `event::Event`, `position`, `self`, and `style::Print` [INFO] [stdout] --> src/grapher.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::{self, cursor::{self, position}, event::Event, execute, style::Print}; [INFO] [stdout] | ^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PurchaseReceipt` [INFO] [stdout] --> src/grapher.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::payment_details::{PurchaseReceipt, PurchaseType}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/grapher.rs:279:34 [INFO] [stdout] | [INFO] [stdout] 279 | cursor_move(Direction::LEFT, (16 + 11*n_weeks as u16)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 279 - cursor_move(Direction::LEFT, (16 + 11*n_weeks as u16)); [INFO] [stdout] 279 + cursor_move(Direction::LEFT, 16 + 11*n_weeks as u16); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/grapher.rs:293:8 [INFO] [stdout] | [INFO] [stdout] 293 | if (weekly_average > WEEKLY_WARNING_LEVEL){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 293 - if (weekly_average > WEEKLY_WARNING_LEVEL){ [INFO] [stdout] 293 + if weekly_average > WEEKLY_WARNING_LEVEL { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/analyser.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/analyser.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | for i in curr_week..Local::now().iso_week().week() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/analyser.rs:266:9 [INFO] [stdout] | [INFO] [stdout] 266 | for i in 0..n_weeks { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/grapher.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/grapher.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 209 | Direction::DOWN => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 217 | Direction::UP => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 225 | Direction::LEFT => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 233 | Direction::RIGHT => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 241 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEEK_RECALL` is never used [INFO] [stdout] --> src/grapher.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const WEEK_RECALL:u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEEKLY_THRESHOLD` is never used [INFO] [stdout] --> src/grapher.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const WEEKLY_THRESHOLD:f32 = 100.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/payment_details.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | io::stdout().flush(); [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] 198 | let _ = io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/payment_details.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 199 | / io::stdin() [INFO] [stdout] 200 | | .read_line(&mut user_input_amount) [INFO] [stdout] 201 | | .context("Invalid Input"); [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] 199 | let _ = io::stdin() [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/grapher.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | io::stdout().flush(); [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] 348 | let _ = io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.55s [INFO] running `Command { std: "docker" "inspect" "1864a63b3b1c78bf05f7b66194cb4f2b495f3e8b79d53374240caa438d63f0ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1864a63b3b1c78bf05f7b66194cb4f2b495f3e8b79d53374240caa438d63f0ff", kill_on_drop: false }` [INFO] [stdout] 1864a63b3b1c78bf05f7b66194cb4f2b495f3e8b79d53374240caa438d63f0ff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 737ed717c37684d0b8d464800d3c81128d4817982ca94d5acb4a0ac544aadd60 [INFO] running `Command { std: "docker" "start" "-a" "737ed717c37684d0b8d464800d3c81128d4817982ca94d5acb4a0ac544aadd60", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `read_csv` [INFO] [stderr] --> src/main.rs:1:31 [INFO] [stderr] | [INFO] [stderr] 1 | use analyser::{full_analysis, read_csv}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `cursor`, `execute`, and `terminal` [INFO] [stderr] --> src/main.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use crossterm::{cursor, execute, terminal}; [INFO] [stderr] | ^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `stdout` [INFO] [stderr] --> src/main.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{stdout, self}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossterm::terminal::LeaveAlternateScreen` [INFO] [stderr] --> src/analyser.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crossterm::terminal::LeaveAlternateScreen; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `take_end_values` and `value_to_index` [INFO] [stderr] --> src/analyser.rs:13:59 [INFO] [stderr] | [INFO] [stderr] 13 | datastore::FILE_PATH, grapher::{plot, print_messages, take_end_values, value_to_index, pause_disp, warning_messages, print_last_n_wee... [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/analyser.rs:289:12 [INFO] [stderr] | [INFO] [stderr] 289 | if (curr_week== 1) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 289 - if (curr_week== 1) { [INFO] [stderr] 289 + if curr_week== 1 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IndexMut`, `Index`, and `f32::DIGITS` [INFO] [stderr] --> src/grapher.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{f32::DIGITS, io::{self, stdout, Write}, ops::{Index, IndexMut}, usize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `event::Event`, `position`, `self`, and `style::Print` [INFO] [stderr] --> src/grapher.rs:2:32 [INFO] [stderr] | [INFO] [stderr] 2 | use crossterm::{self, cursor::{self, position}, event::Event, execute, style::Print}; [INFO] [stderr] | ^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PurchaseReceipt` [INFO] [stderr] --> src/grapher.rs:4:30 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::payment_details::{PurchaseReceipt, PurchaseType}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/grapher.rs:279:34 [INFO] [stderr] | [INFO] [stderr] 279 | cursor_move(Direction::LEFT, (16 + 11*n_weeks as u16)); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 279 - cursor_move(Direction::LEFT, (16 + 11*n_weeks as u16)); [INFO] [stderr] 279 + cursor_move(Direction::LEFT, 16 + 11*n_weeks as u16); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/grapher.rs:293:8 [INFO] [stderr] | [INFO] [stderr] 293 | if (weekly_average > WEEKLY_WARNING_LEVEL){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 293 - if (weekly_average > WEEKLY_WARNING_LEVEL){ [INFO] [stderr] 293 + if weekly_average > WEEKLY_WARNING_LEVEL { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/analyser.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | Err(e) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/analyser.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | for i in curr_week..Local::now().iso_week().week() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/analyser.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | for i in 0..n_weeks { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/grapher.rs:241:9 [INFO] [stderr] | [INFO] [stderr] 241 | _ => { [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/grapher.rs:241:9 [INFO] [stderr] | [INFO] [stderr] 209 | Direction::DOWN => { [INFO] [stderr] | --------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 217 | Direction::UP => { [INFO] [stderr] | ------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 225 | Direction::LEFT => { [INFO] [stderr] | --------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 233 | Direction::RIGHT => { [INFO] [stderr] | ---------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 241 | _ => { [INFO] [stderr] | ^ collectively making this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `WEEK_RECALL` is never used [INFO] [stderr] --> src/grapher.rs:9:7 [INFO] [stderr] | [INFO] [stderr] 9 | const WEEK_RECALL:u32 = 3; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `WEEKLY_THRESHOLD` is never used [INFO] [stderr] --> src/grapher.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | const WEEKLY_THRESHOLD:f32 = 100.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/payment_details.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | io::stdout().flush(); [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] 198 | let _ = io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/payment_details.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | / io::stdin() [INFO] [stderr] 200 | | .read_line(&mut user_input_amount) [INFO] [stderr] 201 | | .context("Invalid Input"); [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] 199 | let _ = io::stdin() [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/grapher.rs:348:5 [INFO] [stderr] | [INFO] [stderr] 348 | io::stdout().flush(); [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] 348 | let _ = io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `LiveBoM` (bin "LiveBoM" test) generated 20 warnings (run `cargo fix --bin "LiveBoM" --tests` to apply 11 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/LiveBoM-ce2bedadbf920d56) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "737ed717c37684d0b8d464800d3c81128d4817982ca94d5acb4a0ac544aadd60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "737ed717c37684d0b8d464800d3c81128d4817982ca94d5acb4a0ac544aadd60", kill_on_drop: false }` [INFO] [stdout] 737ed717c37684d0b8d464800d3c81128d4817982ca94d5acb4a0ac544aadd60