[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 master#160e7623e8cbbf1feab2b6e2a24733a98c7bde9c 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-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/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-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/PsionicLemon/finance_tracker on toolchain 160e7623e8cbbf1feab2b6e2a24733a98c7bde9c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "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" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded anyhow v1.0.98 [INFO] [stderr] Downloaded windows-targets v0.53.2 [INFO] [stderr] Downloaded signal-hook-mio v0.2.4 [INFO] [stderr] Downloaded signal-hook-registry v1.4.5 [INFO] [stderr] Downloaded proc-macro2 v1.0.95 [INFO] [stderr] Downloaded cc v1.2.29 [INFO] [stderr] Downloaded bitflags v2.9.1 [INFO] [stderr] Downloaded csv-core v0.1.12 [INFO] [stderr] Downloaded rustversion v1.0.21 [INFO] [stderr] Downloaded redox_syscall v0.5.13 [INFO] [stderr] Downloaded libc v0.2.174 [INFO] [stderr] Downloaded rustix v0.38.44 [INFO] [stderr] Downloaded crossterm v0.28.1 [INFO] [stderr] Downloaded csv v1.3.1 [INFO] [stderr] Downloaded linux-raw-sys v0.4.15 [INFO] [stderr] Downloaded crossterm_winapi v0.9.1 [INFO] [stderr] Downloaded syn v2.0.104 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 46d407e35a1349b2554dc6cbad55238a6f9ea2c0f5766b8bcd8a168b5a1fb985 [INFO] running `Command { std: "docker" "start" "-a" "46d407e35a1349b2554dc6cbad55238a6f9ea2c0f5766b8bcd8a168b5a1fb985", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "46d407e35a1349b2554dc6cbad55238a6f9ea2c0f5766b8bcd8a168b5a1fb985", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46d407e35a1349b2554dc6cbad55238a6f9ea2c0f5766b8bcd8a168b5a1fb985", kill_on_drop: false }` [INFO] [stdout] 46d407e35a1349b2554dc6cbad55238a6f9ea2c0f5766b8bcd8a168b5a1fb985 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b3be42dbcc511bf29d2b578dd6a93dbfd07e3c2372570980e73863378ec8719a [INFO] running `Command { std: "docker" "start" "-a" "b3be42dbcc511bf29d2b578dd6a93dbfd07e3c2372570980e73863378ec8719a", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling csv-core v0.1.12 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling crossterm v0.28.1 [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 18.03s [INFO] running `Command { std: "docker" "inspect" "b3be42dbcc511bf29d2b578dd6a93dbfd07e3c2372570980e73863378ec8719a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b3be42dbcc511bf29d2b578dd6a93dbfd07e3c2372570980e73863378ec8719a", kill_on_drop: false }` [INFO] [stdout] b3be42dbcc511bf29d2b578dd6a93dbfd07e3c2372570980e73863378ec8719a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] db93d26713b29572b4a504e43191d6b4a1bee9238cada25a3f494e4590d9e54b [INFO] running `Command { std: "docker" "start" "-a" "db93d26713b29572b4a504e43191d6b4a1bee9238cada25a3f494e4590d9e54b", 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.45s [INFO] running `Command { std: "docker" "inspect" "db93d26713b29572b4a504e43191d6b4a1bee9238cada25a3f494e4590d9e54b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db93d26713b29572b4a504e43191d6b4a1bee9238cada25a3f494e4590d9e54b", kill_on_drop: false }` [INFO] [stdout] db93d26713b29572b4a504e43191d6b4a1bee9238cada25a3f494e4590d9e54b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] cd0f59207d7680beff2031a9701caebfcc3f82973a4a790c93c0104a525911ba [INFO] running `Command { std: "docker" "start" "-a" "cd0f59207d7680beff2031a9701caebfcc3f82973a4a790c93c0104a525911ba", 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.10s [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" "cd0f59207d7680beff2031a9701caebfcc3f82973a4a790c93c0104a525911ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd0f59207d7680beff2031a9701caebfcc3f82973a4a790c93c0104a525911ba", kill_on_drop: false }` [INFO] [stdout] cd0f59207d7680beff2031a9701caebfcc3f82973a4a790c93c0104a525911ba