[INFO] cloning repository https://github.com/JDWyatt71/Sixty-Eighty
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JDWyatt71/Sixty-Eighty" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDWyatt71%2FSixty-Eighty", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDWyatt71%2FSixty-Eighty'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 66fbe7ceebe9bb4f970e6c43c600bb022e2897f7
[INFO] testing JDWyatt71/Sixty-Eighty against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDWyatt71%2FSixty-Eighty" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JDWyatt71/Sixty-Eighty
[INFO] finished tweaking git repo https://github.com/JDWyatt71/Sixty-Eighty
[INFO] tweaked toml for git repo https://github.com/JDWyatt71/Sixty-Eighty written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JDWyatt71/Sixty-Eighty on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JDWyatt71/Sixty-Eighty 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" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] testing JDWyatt71/Sixty-Eighty against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDWyatt71%2FSixty-Eighty" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JDWyatt71/Sixty-Eighty
[INFO] finished tweaking git repo https://github.com/JDWyatt71/Sixty-Eighty
[INFO] tweaked toml for git repo https://github.com/JDWyatt71/Sixty-Eighty written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JDWyatt71/Sixty-Eighty on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JDWyatt71/Sixty-Eighty 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" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7
[INFO] running `Command { std: "docker" "start" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7", 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" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling sixty_eighty v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::f32::consts::E`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::f32::consts::E;
[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 import: `Error`
[INFO] [stdout]  --> src/main.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Error, Read};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::num::ParseIntError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::current`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::thread::current;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ptr::null`
[INFO] [stdout]  --> src/main.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{io, ptr::null};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug`, `Display`, and `self`
[INFO] [stdout]   --> src/main.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt::{self, Debug, Display};
[INFO] [stdout]    |                ^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Date`
[INFO] [stdout]   --> src/main.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::{Date, DateTime, Datelike};
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fs::OpenOptions;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs`, `pin`, and `primitive`
[INFO] [stdout]   --> src/main.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::{fs, pin, primitive, usize};
[INFO] [stdout]    |           ^^  ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `exit` and `self`
[INFO] [stdout]   --> src/main.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::process::{self, exit};
[INFO] [stdout]    |                    ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime<Tz>` instead
[INFO] [stdout]   --> src/main.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::{Date, DateTime, Datelike};
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let mut newstructs=delete_artist(artists, albums, rankings, artistidx);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let mut idx=0 as usize;
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/main.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |         for (i, &item) in cmdstr.as_bytes().iter().enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artist_albums`
[INFO] [stdout]    --> src/main.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let artist_albums=artists[artistidx].albums.clone();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist_albums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/main.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let mut idx=0 as usize;
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_artist` is never read
[INFO] [stdout]    --> src/main.rs:147:34
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut check_artist=(false, 10000);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stdout]     |                 -------------------------------------------------------------- `check_artist` 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 `check_artist` is never read
[INFO] [stdout]    --> src/main.rs:205:34
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let mut check_artist=(false, 10000);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 213 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stdout]     |                 -------------------------------------------------------------- `check_artist` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_artist` is never read
[INFO] [stdout]    --> src/main.rs:226:34
[INFO] [stdout]     |
[INFO] [stdout] 226 |             let mut check_artist=(false, 10000);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 234 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stdout]     |                 -------------------------------------------------------------- `check_artist` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_album` is never read
[INFO] [stdout]    --> src/main.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 |             let mut check_album=(false, 10000);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 303 |                 check_album=find_album(&albums, &albumname.to_lowercase());
[INFO] [stdout]     |                 ---------------------------------------------------------- `check_album` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_album` is never read
[INFO] [stdout]    --> src/main.rs:360:33
[INFO] [stdout]     |
[INFO] [stdout] 360 |             let mut check_album=(false, 10000);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 368 |                 check_album=find_album(&albums, &albumname.to_lowercase());
[INFO] [stdout]     |                 ---------------------------------------------------------- `check_album` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `member` is never read
[INFO] [stdout]    --> src/main.rs:614:32
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let mut member: String=String::from("");
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 620 |             member=add_field("Enter Member", "", "members");
[INFO] [stdout]     |             ------ `member` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `member` is never read
[INFO] [stdout]    --> src/main.rs:845:48
[INFO] [stdout]     |
[INFO] [stdout] 845 |                         let mut member: String=String::from("");
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 848 |                             member=add_field("Enter Member", "", "members");
[INFO] [stdout]     |                             ------ `member` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]     --> src/main.rs:1070:13
[INFO] [stdout]      |
[INFO] [stdout] 1070 |         let r=rankings[i].0.clone();
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1126:9
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     let mut exitline=String::new();
[INFO] [stdout]      |         ----^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1128:9
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     let mut rank=1;
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1145:21
[INFO] [stdout]      |
[INFO] [stdout] 1145 |                 let mut rank_album;
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1152:21
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 let mut rank_album;
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `remaining_albums_count` is assigned to, but never used
[INFO] [stdout]     --> src/main.rs:1127:9
[INFO] [stdout]      |
[INFO] [stdout] 1127 |     let mut remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_remaining_albums_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rank`
[INFO] [stdout]     --> src/main.rs:1128:9
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     let mut rank=1;
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranksleft`
[INFO] [stdout]     --> src/main.rs:1133:9
[INFO] [stdout]      |
[INFO] [stdout] 1133 |     let ranksleft=ranking.len()-remaining_albums.len();
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ranksleft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]     --> src/main.rs:1171:17
[INFO] [stdout]      |
[INFO] [stdout] 1171 |             let r=ranking[i].clone();
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/main.rs:1175:17
[INFO] [stdout]      |
[INFO] [stdout] 1175 |             for n in 0..gap {rankstr.push(' ');}
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/main.rs:1187:17
[INFO] [stdout]      |
[INFO] [stdout] 1187 |             for n in 0..gap {rankstr.push(' ');}
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1320:21
[INFO] [stdout]      |
[INFO] [stdout] 1280 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |                     ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 1320 |                     remaining_albums_count+=1;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1280:21
[INFO] [stdout]      |
[INFO] [stdout] 1263 |                     remaining_albums_count-=1;
[INFO] [stdout]      |                     ------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 1280 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1263:21
[INFO] [stdout]      |
[INFO] [stdout] 1222 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |                     ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 1263 |                     remaining_albums_count-=1;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1222:21
[INFO] [stdout]      |
[INFO] [stdout] 1202 |             remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |             ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 1222 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1202:13
[INFO] [stdout]      |
[INFO] [stdout] 1202 |             remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `removed_album` is never read
[INFO] [stdout]     --> src/main.rs:1295:43
[INFO] [stdout]      |
[INFO] [stdout] 1295 |                     let mut removed_album=String::new();
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 1296 |                     if double_digit_true==true {removed_album=newrank_entry.as_str()[4..ranklen].trim().to_string();}
[INFO] [stdout] 1297 |                     else {removed_album=newrank_entry.as_str()[3..ranklen].trim().to_string();}
[INFO] [stdout]      |                           ------------- `removed_album` 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/main.rs:1372:17
[INFO] [stdout]      |
[INFO] [stdout] 1372 |             let mut whitespace_str: String=add_whitespace(&n.name, 30);
[INFO] [stdout]      |                 ----^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1386:33
[INFO] [stdout]      |
[INFO] [stdout] 1386 | ...                   let mut gap=j.release_year-ogyear;
[INFO] [stdout]      |                           ----^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1387:33
[INFO] [stdout]      |
[INFO] [stdout] 1387 | ...                   let mut gap_str=add_whitespace("", 30);
[INFO] [stdout]      |                           ----^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1396:33
[INFO] [stdout]      |
[INFO] [stdout] 1396 | ...                   let mut gap=30-last_albumname_len;
[INFO] [stdout]      |                           ----^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1398:33
[INFO] [stdout]      |
[INFO] [stdout] 1398 | ...                   let mut gap_str=add_whitespace("", gap);
[INFO] [stdout]      |                           ----^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/main.rs:1351:9
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     for i in 0..6 {
[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/main.rs:1357:17
[INFO] [stdout]      |
[INFO] [stdout] 1357 |             for i in 0..4 {
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `line_albums_count` is assigned to, but never used
[INFO] [stdout]     --> src/main.rs:1374:17
[INFO] [stdout]      |
[INFO] [stdout] 1374 |             let mut line_albums_count=0;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_line_albums_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/main.rs:1388:33
[INFO] [stdout]      |
[INFO] [stdout] 1388 | ...                   for k in 0..gap {album_str.push_str(&gap_str);}
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/main.rs:1390:33
[INFO] [stdout]      |
[INFO] [stdout] 1390 | ...                   for k in 0..gap {album_str.pop();}
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/main.rs:1401:37
[INFO] [stdout]      |
[INFO] [stdout] 1401 | ...                   for i in 0..yeardif {
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `line_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1412:25
[INFO] [stdout]      |
[INFO] [stdout] 1412 |                         line_albums_count+=1;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/main.rs:1468:9
[INFO] [stdout]      |
[INFO] [stdout] 1468 |     for i in 0..rgli {
[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/main.rs:1494:13
[INFO] [stdout]      |
[INFO] [stdout] 1494 |         for i in 0..gap {rankstr.push(' ');}
[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/main.rs:1506:13
[INFO] [stdout]      |
[INFO] [stdout] 1506 |         for i in 0..gap {rankstr.push(' ');}
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1716:13
[INFO] [stdout]      |
[INFO] [stdout] 1716 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1719:13
[INFO] [stdout]      |
[INFO] [stdout] 1719 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1722:13
[INFO] [stdout]      |
[INFO] [stdout] 1722 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1724:9
[INFO] [stdout]      |
[INFO] [stdout] 1724 |     let mut rankings_result = File::open("rankings.txt");
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1725:9
[INFO] [stdout]      |
[INFO] [stdout] 1725 |     let mut artists_result = File::open("artists.txt");
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1726:9
[INFO] [stdout]      |
[INFO] [stdout] 1726 |     let mut albums_result = File::open("albums.txt");
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:1716:13
[INFO] [stdout]      |
[INFO] [stdout] 1716 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:1719:13
[INFO] [stdout]      |
[INFO] [stdout] 1719 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:1722:13
[INFO] [stdout]      |
[INFO] [stdout] 1722 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rankings_is_present` is never read
[INFO] [stdout]     --> src/main.rs:1708:39
[INFO] [stdout]      |
[INFO] [stdout] 1708 |     let mut rankings_is_present: bool=false;
[INFO] [stdout]      |                                       ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1712 |     rankings_is_present = Path::new("rankings.txt").exists();
[INFO] [stdout]      |     -------------------------------------------------------- `rankings_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `albums_is_present` is never read
[INFO] [stdout]     --> src/main.rs:1709:36
[INFO] [stdout]      |
[INFO] [stdout] 1709 |     let mut albums_is_present:bool=false;
[INFO] [stdout]      |                                    ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1714 |     albums_is_present = Path::new("albums.txt").exists();
[INFO] [stdout]      |     ---------------------------------------------------- `albums_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `artists_is_present` is never read
[INFO] [stdout]     --> src/main.rs:1710:37
[INFO] [stdout]      |
[INFO] [stdout] 1710 |     let mut artists_is_present:bool=false;
[INFO] [stdout]      |                                     ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1713 |     artists_is_present = Path::new("artists.txt").exists();
[INFO] [stdout]      |     ------------------------------------------------------ `artists_is_present` 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/main.rs:1791:9
[INFO] [stdout]      |
[INFO] [stdout] 1791 |     let mut artists: Vec<Artist>=Vec::new();
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artists`
[INFO] [stdout]     --> src/main.rs:1791:9
[INFO] [stdout]      |
[INFO] [stdout] 1791 |     let mut artists: Vec<Artist>=Vec::new();
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1871:9
[INFO] [stdout]      |
[INFO] [stdout] 1871 |     let mut albums: Vec<Album>=Vec::new();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `albums`
[INFO] [stdout]     --> src/main.rs:1871:9
[INFO] [stdout]      |
[INFO] [stdout] 1871 |     let mut albums: Vec<Album>=Vec::new();
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_albums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `section` is never read
[INFO] [stdout]     --> src/main.rs:1986:17
[INFO] [stdout]      |
[INFO] [stdout] 1986 |                 section=0;
[INFO] [stdout]      |                 ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2021:13
[INFO] [stdout]      |
[INFO] [stdout] 2021 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2025:13
[INFO] [stdout]      |
[INFO] [stdout] 2025 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2029:13
[INFO] [stdout]      |
[INFO] [stdout] 2029 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:2021:13
[INFO] [stdout]      |
[INFO] [stdout] 2021 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:2025:13
[INFO] [stdout]      |
[INFO] [stdout] 2025 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:2029:13
[INFO] [stdout]      |
[INFO] [stdout] 2029 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rankings_is_present` is never read
[INFO] [stdout]     --> src/main.rs:2012:39
[INFO] [stdout]      |
[INFO] [stdout] 2012 |     let mut rankings_is_present: bool=false;
[INFO] [stdout]      |                                       ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2016 |     rankings_is_present = Path::new("rankings.txt").exists();
[INFO] [stdout]      |     -------------------------------------------------------- `rankings_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `albums_is_present` is never read
[INFO] [stdout]     --> src/main.rs:2013:36
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     let mut albums_is_present:bool=false;
[INFO] [stdout]      |                                    ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2018 |     albums_is_present = Path::new("albums.txt").exists();
[INFO] [stdout]      |     ---------------------------------------------------- `albums_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `artists_is_present` is never read
[INFO] [stdout]     --> src/main.rs:2014:37
[INFO] [stdout]      |
[INFO] [stdout] 2014 |     let mut artists_is_present:bool=false;
[INFO] [stdout]      |                                     ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2017 |     artists_is_present = Path::new("artists.txt").exists();
[INFO] [stdout]      |     ------------------------------------------------------ `artists_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `idx` is assigned to, but never used
[INFO] [stdout]     --> src/main.rs:2329:13
[INFO] [stdout]      |
[INFO] [stdout] 2329 |         let mut idx=0;
[INFO] [stdout]      |             ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_idx` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/main.rs:2333:14
[INFO] [stdout]      |
[INFO] [stdout] 2333 |         for (n, &item) in i.as_bytes().iter().enumerate() {
[INFO] [stdout]      |              ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `idx` is never read
[INFO] [stdout]     --> src/main.rs:2337:13
[INFO] [stdout]      |
[INFO] [stdout] 2337 |             idx+=1;
[INFO] [stdout]      |             ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1742:5
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     rankings_file.read_to_string(&mut rankings_content);
[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] 1742 |     let _ = rankings_file.read_to_string(&mut rankings_content);
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1743:5
[INFO] [stdout]      |
[INFO] [stdout] 1743 |     artists_file.read_to_string(&mut artists_content);
[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] 1743 |     let _ = artists_file.read_to_string(&mut artists_content);
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1744:5
[INFO] [stdout]      |
[INFO] [stdout] 1744 |     albums_file.read_to_string(&mut albums_content);
[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] 1744 |     let _ = albums_file.read_to_string(&mut albums_content);
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/main.rs:2680:45
[INFO] [stdout]      |
[INFO] [stdout] 2680 |     let two_digit_true=is_two_digit(rank_str.clone());
[INFO] [stdout]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.66s
[INFO] running `Command { std: "docker" "inspect" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling sixty_eighty v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::f32::consts::E`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::f32::consts::E;
[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 import: `Error`
[INFO] [stdout]  --> src/main.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Error, Read};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::num::ParseIntError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::current`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::thread::current;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ptr::null`
[INFO] [stdout]  --> src/main.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{io, ptr::null};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug`, `Display`, and `self`
[INFO] [stdout]   --> src/main.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt::{self, Debug, Display};
[INFO] [stdout]    |                ^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Date`
[INFO] [stdout]   --> src/main.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::{Date, DateTime, Datelike};
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fs::OpenOptions;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs`, `pin`, and `primitive`
[INFO] [stdout]   --> src/main.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::{fs, pin, primitive, usize};
[INFO] [stdout]    |           ^^  ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `exit` and `self`
[INFO] [stdout]   --> src/main.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::process::{self, exit};
[INFO] [stdout]    |                    ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime<Tz>` instead
[INFO] [stdout]   --> src/main.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::{Date, DateTime, Datelike};
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let mut newstructs=delete_artist(artists, albums, rankings, artistidx);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let mut idx=0 as usize;
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/main.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |         for (i, &item) in cmdstr.as_bytes().iter().enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artist_albums`
[INFO] [stdout]    --> src/main.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let artist_albums=artists[artistidx].albums.clone();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist_albums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/main.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let mut idx=0 as usize;
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_artist` is never read
[INFO] [stdout]    --> src/main.rs:147:34
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut check_artist=(false, 10000);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stdout]     |                 -------------------------------------------------------------- `check_artist` 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 `check_artist` is never read
[INFO] [stdout]    --> src/main.rs:205:34
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let mut check_artist=(false, 10000);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 213 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stdout]     |                 -------------------------------------------------------------- `check_artist` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_artist` is never read
[INFO] [stdout]    --> src/main.rs:226:34
[INFO] [stdout]     |
[INFO] [stdout] 226 |             let mut check_artist=(false, 10000);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 234 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stdout]     |                 -------------------------------------------------------------- `check_artist` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_album` is never read
[INFO] [stdout]    --> src/main.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 |             let mut check_album=(false, 10000);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 303 |                 check_album=find_album(&albums, &albumname.to_lowercase());
[INFO] [stdout]     |                 ---------------------------------------------------------- `check_album` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_album` is never read
[INFO] [stdout]    --> src/main.rs:360:33
[INFO] [stdout]     |
[INFO] [stdout] 360 |             let mut check_album=(false, 10000);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 368 |                 check_album=find_album(&albums, &albumname.to_lowercase());
[INFO] [stdout]     |                 ---------------------------------------------------------- `check_album` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `member` is never read
[INFO] [stdout]    --> src/main.rs:614:32
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let mut member: String=String::from("");
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 620 |             member=add_field("Enter Member", "", "members");
[INFO] [stdout]     |             ------ `member` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `member` is never read
[INFO] [stdout]    --> src/main.rs:845:48
[INFO] [stdout]     |
[INFO] [stdout] 845 |                         let mut member: String=String::from("");
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 848 |                             member=add_field("Enter Member", "", "members");
[INFO] [stdout]     |                             ------ `member` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]     --> src/main.rs:1070:13
[INFO] [stdout]      |
[INFO] [stdout] 1070 |         let r=rankings[i].0.clone();
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1126:9
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     let mut exitline=String::new();
[INFO] [stdout]      |         ----^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1128:9
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     let mut rank=1;
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1145:21
[INFO] [stdout]      |
[INFO] [stdout] 1145 |                 let mut rank_album;
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1152:21
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 let mut rank_album;
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `remaining_albums_count` is assigned to, but never used
[INFO] [stdout]     --> src/main.rs:1127:9
[INFO] [stdout]      |
[INFO] [stdout] 1127 |     let mut remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_remaining_albums_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rank`
[INFO] [stdout]     --> src/main.rs:1128:9
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     let mut rank=1;
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranksleft`
[INFO] [stdout]     --> src/main.rs:1133:9
[INFO] [stdout]      |
[INFO] [stdout] 1133 |     let ranksleft=ranking.len()-remaining_albums.len();
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ranksleft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]     --> src/main.rs:1171:17
[INFO] [stdout]      |
[INFO] [stdout] 1171 |             let r=ranking[i].clone();
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/main.rs:1175:17
[INFO] [stdout]      |
[INFO] [stdout] 1175 |             for n in 0..gap {rankstr.push(' ');}
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/main.rs:1187:17
[INFO] [stdout]      |
[INFO] [stdout] 1187 |             for n in 0..gap {rankstr.push(' ');}
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1320:21
[INFO] [stdout]      |
[INFO] [stdout] 1280 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |                     ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 1320 |                     remaining_albums_count+=1;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1280:21
[INFO] [stdout]      |
[INFO] [stdout] 1263 |                     remaining_albums_count-=1;
[INFO] [stdout]      |                     ------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 1280 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1263:21
[INFO] [stdout]      |
[INFO] [stdout] 1222 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |                     ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 1263 |                     remaining_albums_count-=1;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1222:21
[INFO] [stdout]      |
[INFO] [stdout] 1202 |             remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |             ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 1222 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1202:13
[INFO] [stdout]      |
[INFO] [stdout] 1202 |             remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `removed_album` is never read
[INFO] [stdout]     --> src/main.rs:1295:43
[INFO] [stdout]      |
[INFO] [stdout] 1295 |                     let mut removed_album=String::new();
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 1296 |                     if double_digit_true==true {removed_album=newrank_entry.as_str()[4..ranklen].trim().to_string();}
[INFO] [stdout] 1297 |                     else {removed_album=newrank_entry.as_str()[3..ranklen].trim().to_string();}
[INFO] [stdout]      |                           ------------- `removed_album` 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/main.rs:1372:17
[INFO] [stdout]      |
[INFO] [stdout] 1372 |             let mut whitespace_str: String=add_whitespace(&n.name, 30);
[INFO] [stdout]      |                 ----^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1386:33
[INFO] [stdout]      |
[INFO] [stdout] 1386 | ...                   let mut gap=j.release_year-ogyear;
[INFO] [stdout]      |                           ----^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1387:33
[INFO] [stdout]      |
[INFO] [stdout] 1387 | ...                   let mut gap_str=add_whitespace("", 30);
[INFO] [stdout]      |                           ----^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1396:33
[INFO] [stdout]      |
[INFO] [stdout] 1396 | ...                   let mut gap=30-last_albumname_len;
[INFO] [stdout]      |                           ----^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1398:33
[INFO] [stdout]      |
[INFO] [stdout] 1398 | ...                   let mut gap_str=add_whitespace("", gap);
[INFO] [stdout]      |                           ----^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/main.rs:1351:9
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     for i in 0..6 {
[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/main.rs:1357:17
[INFO] [stdout]      |
[INFO] [stdout] 1357 |             for i in 0..4 {
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `line_albums_count` is assigned to, but never used
[INFO] [stdout]     --> src/main.rs:1374:17
[INFO] [stdout]      |
[INFO] [stdout] 1374 |             let mut line_albums_count=0;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_line_albums_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/main.rs:1388:33
[INFO] [stdout]      |
[INFO] [stdout] 1388 | ...                   for k in 0..gap {album_str.push_str(&gap_str);}
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/main.rs:1390:33
[INFO] [stdout]      |
[INFO] [stdout] 1390 | ...                   for k in 0..gap {album_str.pop();}
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/main.rs:1401:37
[INFO] [stdout]      |
[INFO] [stdout] 1401 | ...                   for i in 0..yeardif {
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `line_albums_count` is never read
[INFO] [stdout]     --> src/main.rs:1412:25
[INFO] [stdout]      |
[INFO] [stdout] 1412 |                         line_albums_count+=1;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/main.rs:1468:9
[INFO] [stdout]      |
[INFO] [stdout] 1468 |     for i in 0..rgli {
[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/main.rs:1494:13
[INFO] [stdout]      |
[INFO] [stdout] 1494 |         for i in 0..gap {rankstr.push(' ');}
[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/main.rs:1506:13
[INFO] [stdout]      |
[INFO] [stdout] 1506 |         for i in 0..gap {rankstr.push(' ');}
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1716:13
[INFO] [stdout]      |
[INFO] [stdout] 1716 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1719:13
[INFO] [stdout]      |
[INFO] [stdout] 1719 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1722:13
[INFO] [stdout]      |
[INFO] [stdout] 1722 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1724:9
[INFO] [stdout]      |
[INFO] [stdout] 1724 |     let mut rankings_result = File::open("rankings.txt");
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1725:9
[INFO] [stdout]      |
[INFO] [stdout] 1725 |     let mut artists_result = File::open("artists.txt");
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1726:9
[INFO] [stdout]      |
[INFO] [stdout] 1726 |     let mut albums_result = File::open("albums.txt");
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:1716:13
[INFO] [stdout]      |
[INFO] [stdout] 1716 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:1719:13
[INFO] [stdout]      |
[INFO] [stdout] 1719 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:1722:13
[INFO] [stdout]      |
[INFO] [stdout] 1722 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rankings_is_present` is never read
[INFO] [stdout]     --> src/main.rs:1708:39
[INFO] [stdout]      |
[INFO] [stdout] 1708 |     let mut rankings_is_present: bool=false;
[INFO] [stdout]      |                                       ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1712 |     rankings_is_present = Path::new("rankings.txt").exists();
[INFO] [stdout]      |     -------------------------------------------------------- `rankings_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `albums_is_present` is never read
[INFO] [stdout]     --> src/main.rs:1709:36
[INFO] [stdout]      |
[INFO] [stdout] 1709 |     let mut albums_is_present:bool=false;
[INFO] [stdout]      |                                    ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1714 |     albums_is_present = Path::new("albums.txt").exists();
[INFO] [stdout]      |     ---------------------------------------------------- `albums_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `artists_is_present` is never read
[INFO] [stdout]     --> src/main.rs:1710:37
[INFO] [stdout]      |
[INFO] [stdout] 1710 |     let mut artists_is_present:bool=false;
[INFO] [stdout]      |                                     ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1713 |     artists_is_present = Path::new("artists.txt").exists();
[INFO] [stdout]      |     ------------------------------------------------------ `artists_is_present` 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/main.rs:1791:9
[INFO] [stdout]      |
[INFO] [stdout] 1791 |     let mut artists: Vec<Artist>=Vec::new();
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artists`
[INFO] [stdout]     --> src/main.rs:1791:9
[INFO] [stdout]      |
[INFO] [stdout] 1791 |     let mut artists: Vec<Artist>=Vec::new();
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1871:9
[INFO] [stdout]      |
[INFO] [stdout] 1871 |     let mut albums: Vec<Album>=Vec::new();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `albums`
[INFO] [stdout]     --> src/main.rs:1871:9
[INFO] [stdout]      |
[INFO] [stdout] 1871 |     let mut albums: Vec<Album>=Vec::new();
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_albums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `section` is never read
[INFO] [stdout]     --> src/main.rs:1986:17
[INFO] [stdout]      |
[INFO] [stdout] 1986 |                 section=0;
[INFO] [stdout]      |                 ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2021:13
[INFO] [stdout]      |
[INFO] [stdout] 2021 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2025:13
[INFO] [stdout]      |
[INFO] [stdout] 2025 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2029:13
[INFO] [stdout]      |
[INFO] [stdout] 2029 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:2021:13
[INFO] [stdout]      |
[INFO] [stdout] 2021 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:2025:13
[INFO] [stdout]      |
[INFO] [stdout] 2025 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_file`
[INFO] [stdout]     --> src/main.rs:2029:13
[INFO] [stdout]      |
[INFO] [stdout] 2029 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rankings_is_present` is never read
[INFO] [stdout]     --> src/main.rs:2012:39
[INFO] [stdout]      |
[INFO] [stdout] 2012 |     let mut rankings_is_present: bool=false;
[INFO] [stdout]      |                                       ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2016 |     rankings_is_present = Path::new("rankings.txt").exists();
[INFO] [stdout]      |     -------------------------------------------------------- `rankings_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `albums_is_present` is never read
[INFO] [stdout]     --> src/main.rs:2013:36
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     let mut albums_is_present:bool=false;
[INFO] [stdout]      |                                    ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2018 |     albums_is_present = Path::new("albums.txt").exists();
[INFO] [stdout]      |     ---------------------------------------------------- `albums_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `artists_is_present` is never read
[INFO] [stdout]     --> src/main.rs:2014:37
[INFO] [stdout]      |
[INFO] [stdout] 2014 |     let mut artists_is_present:bool=false;
[INFO] [stdout]      |                                     ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2017 |     artists_is_present = Path::new("artists.txt").exists();
[INFO] [stdout]      |     ------------------------------------------------------ `artists_is_present` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `idx` is assigned to, but never used
[INFO] [stdout]     --> src/main.rs:2329:13
[INFO] [stdout]      |
[INFO] [stdout] 2329 |         let mut idx=0;
[INFO] [stdout]      |             ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_idx` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/main.rs:2333:14
[INFO] [stdout]      |
[INFO] [stdout] 2333 |         for (n, &item) in i.as_bytes().iter().enumerate() {
[INFO] [stdout]      |              ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `idx` is never read
[INFO] [stdout]     --> src/main.rs:2337:13
[INFO] [stdout]      |
[INFO] [stdout] 2337 |             idx+=1;
[INFO] [stdout]      |             ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1742:5
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     rankings_file.read_to_string(&mut rankings_content);
[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] 1742 |     let _ = rankings_file.read_to_string(&mut rankings_content);
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1743:5
[INFO] [stdout]      |
[INFO] [stdout] 1743 |     artists_file.read_to_string(&mut artists_content);
[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] 1743 |     let _ = artists_file.read_to_string(&mut artists_content);
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1744:5
[INFO] [stdout]      |
[INFO] [stdout] 1744 |     albums_file.read_to_string(&mut albums_content);
[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] 1744 |     let _ = albums_file.read_to_string(&mut albums_content);
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/main.rs:2680:45
[INFO] [stdout]      |
[INFO] [stdout] 2680 |     let two_digit_true=is_two_digit(rank_str.clone());
[INFO] [stdout]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] running `Command { std: "docker" "inspect" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 
[INFO] [stderr] warning: unused import: `std::f32::consts::E`
[INFO] [stdout] running 0 tests
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stdout] 
[INFO] [stderr]   |
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr] 4 | use std::f32::consts::E;
[INFO] [stdout] 
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Error`
[INFO] [stderr]  --> src/main.rs:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::{Error, Read};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::num::ParseIntError`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::num::ParseIntError;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::current`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::thread::current;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ptr::null`
[INFO] [stderr]  --> src/main.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::{io, ptr::null};
[INFO] [stderr]   |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Debug`, `Display`, and `self`
[INFO] [stderr]   --> src/main.rs:10:16
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::fmt::{self, Debug, Display};
[INFO] [stderr]    |                ^^^^  ^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Date`
[INFO] [stderr]   --> src/main.rs:11:14
[INFO] [stderr]    |
[INFO] [stderr] 11 | use chrono::{Date, DateTime, Datelike};
[INFO] [stderr]    |              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Result`
[INFO] [stderr]   --> src/main.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::io::Result;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::OpenOptions`
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::fs::OpenOptions;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `fs`, `pin`, and `primitive`
[INFO] [stderr]   --> src/main.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::{fs, pin, primitive, usize};
[INFO] [stderr]    |           ^^  ^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `exit` and `self`
[INFO] [stderr]   --> src/main.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::process::{self, exit};
[INFO] [stderr]    |                    ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]   --> src/main.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use std::env;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime<Tz>` instead
[INFO] [stderr]   --> src/main.rs:11:14
[INFO] [stderr]    |
[INFO] [stderr] 11 | use chrono::{Date, DateTime, Datelike};
[INFO] [stderr]    |              ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:220:17
[INFO] [stderr]     |
[INFO] [stderr] 220 |             let mut newstructs=delete_artist(artists, albums, rankings, artistidx);
[INFO] [stderr]     |                 ----^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:377:17
[INFO] [stderr]     |
[INFO] [stderr] 377 |             let mut idx=0 as usize;
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/main.rs:98:14
[INFO] [stderr]    |
[INFO] [stderr] 98 |         for (i, &item) in cmdstr.as_bytes().iter().enumerate() {
[INFO] [stderr]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `artist_albums`
[INFO] [stderr]    --> src/main.rs:251:17
[INFO] [stderr]     |
[INFO] [stderr] 251 |             let artist_albums=artists[artistidx].albums.clone();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist_albums`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/main.rs:377:17
[INFO] [stderr]     |
[INFO] [stderr] 377 |             let mut idx=0 as usize;
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `check_artist` is never read
[INFO] [stderr]    --> src/main.rs:147:34
[INFO] [stderr]     |
[INFO] [stderr] 147 |             let mut check_artist=(false, 10000);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 158 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stderr]     |                 -------------------------------------------------------------- `check_artist` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `check_artist` is never read
[INFO] [stderr]    --> src/main.rs:205:34
[INFO] [stderr]     |
[INFO] [stderr] 205 |             let mut check_artist=(false, 10000);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 213 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stderr]     |                 -------------------------------------------------------------- `check_artist` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `check_artist` is never read
[INFO] [stderr]    --> src/main.rs:226:34
[INFO] [stderr]     |
[INFO] [stderr] 226 |             let mut check_artist=(false, 10000);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 234 |                 check_artist=find_artist(&artists, &artistname.to_lowercase());
[INFO] [stderr]     |                 -------------------------------------------------------------- `check_artist` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `check_album` is never read
[INFO] [stderr]    --> src/main.rs:295:33
[INFO] [stderr]     |
[INFO] [stderr] 295 |             let mut check_album=(false, 10000);
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 303 |                 check_album=find_album(&albums, &albumname.to_lowercase());
[INFO] [stderr]     |                 ---------------------------------------------------------- `check_album` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `check_album` is never read
[INFO] [stderr]    --> src/main.rs:360:33
[INFO] [stderr]     |
[INFO] [stderr] 360 |             let mut check_album=(false, 10000);
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 368 |                 check_album=find_album(&albums, &albumname.to_lowercase());
[INFO] [stderr]     |                 ---------------------------------------------------------- `check_album` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `member` is never read
[INFO] [stderr]    --> src/main.rs:614:32
[INFO] [stderr]     |
[INFO] [stderr] 614 |         let mut member: String=String::from("");
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 620 |             member=add_field("Enter Member", "", "members");
[INFO] [stderr]     |             ------ `member` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `member` is never read
[INFO] [stderr]    --> src/main.rs:845:48
[INFO] [stderr]     |
[INFO] [stderr] 845 |                         let mut member: String=String::from("");
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 848 |                             member=add_field("Enter Member", "", "members");
[INFO] [stderr]     |                             ------ `member` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r`
[INFO] [stderr]     --> src/main.rs:1070:13
[INFO] [stderr]      |
[INFO] [stderr] 1070 |         let r=rankings[i].0.clone();
[INFO] [stderr]      |             ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1126:9
[INFO] [stderr]      |
[INFO] [stderr] 1126 |     let mut exitline=String::new();
[INFO] [stderr]      |         ----^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1128:9
[INFO] [stderr]      |
[INFO] [stderr] 1128 |     let mut rank=1;
[INFO] [stderr]      |         ----^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1145:21
[INFO] [stderr]      |
[INFO] [stderr] 1145 |                 let mut rank_album;
[INFO] [stderr]      |                     ----^^^^^^^^^^
[INFO] [stderr]      |                     |
[INFO] [stderr]      |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1152:21
[INFO] [stderr]      |
[INFO] [stderr] 1152 |                 let mut rank_album;
[INFO] [stderr]      |                     ----^^^^^^^^^^
[INFO] [stderr]      |                     |
[INFO] [stderr]      |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `remaining_albums_count` is assigned to, but never used
[INFO] [stderr]     --> src/main.rs:1127:9
[INFO] [stderr]      |
[INFO] [stderr] 1127 |     let mut remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: consider using `_remaining_albums_count` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rank`
[INFO] [stderr]     --> src/main.rs:1128:9
[INFO] [stderr]      |
[INFO] [stderr] 1128 |     let mut rank=1;
[INFO] [stderr]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rank`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ranksleft`
[INFO] [stderr]     --> src/main.rs:1133:9
[INFO] [stderr]      |
[INFO] [stderr] 1133 |     let ranksleft=ranking.len()-remaining_albums.len();
[INFO] [stderr]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ranksleft`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r`
[INFO] [stderr]     --> src/main.rs:1171:17
[INFO] [stderr]      |
[INFO] [stderr] 1171 |             let r=ranking[i].clone();
[INFO] [stderr]      |                 ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]     --> src/main.rs:1175:17
[INFO] [stderr]      |
[INFO] [stderr] 1175 |             for n in 0..gap {rankstr.push(' ');}
[INFO] [stderr]      |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]     --> src/main.rs:1187:17
[INFO] [stderr]      |
[INFO] [stderr] 1187 |             for n in 0..gap {rankstr.push(' ');}
[INFO] [stderr]      |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stderr]     --> src/main.rs:1320:21
[INFO] [stderr]      |
[INFO] [stderr] 1280 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stderr]      |                     ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stderr] ...
[INFO] [stderr] 1320 |                     remaining_albums_count+=1;
[INFO] [stderr]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stderr]     --> src/main.rs:1280:21
[INFO] [stderr]      |
[INFO] [stderr] 1263 |                     remaining_albums_count-=1;
[INFO] [stderr]      |                     ------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stderr] ...
[INFO] [stderr] 1280 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stderr]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stderr]     --> src/main.rs:1263:21
[INFO] [stderr]      |
[INFO] [stderr] 1222 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stderr]      |                     ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stderr] ...
[INFO] [stderr] 1263 |                     remaining_albums_count-=1;
[INFO] [stderr]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stderr]     --> src/main.rs:1222:21
[INFO] [stderr]      |
[INFO] [stderr] 1202 |             remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stderr]      |             ---------------------------------------------------- `remaining_albums_count` is overwritten here before the previous value is read
[INFO] [stderr] ...
[INFO] [stderr] 1222 |                     remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stderr]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `remaining_albums_count` is never read
[INFO] [stderr]     --> src/main.rs:1202:13
[INFO] [stderr]      |
[INFO] [stderr] 1202 |             remaining_albums_count=remaining_albums.len() as i32;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `removed_album` is never read
[INFO] [stderr]     --> src/main.rs:1295:43
[INFO] [stderr]      |
[INFO] [stderr] 1295 |                     let mut removed_album=String::new();
[INFO] [stderr]      |                                           ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] 1296 |                     if double_digit_true==true {removed_album=newrank_entry.as_str()[4..ranklen].trim().to_string();}
[INFO] [stderr] 1297 |                     else {removed_album=newrank_entry.as_str()[3..ranklen].trim().to_string();}
[INFO] [stderr]      |                           ------------- `removed_album` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1372:17
[INFO] [stderr]      |
[INFO] [stderr] 1372 |             let mut whitespace_str: String=add_whitespace(&n.name, 30);
[INFO] [stderr]      |                 ----^^^^^^^^^^^^^^
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1386:33
[INFO] [stderr]      |
[INFO] [stderr] 1386 | ...                   let mut gap=j.release_year-ogyear;
[INFO] [stderr]      |                           ----^^^
[INFO] [stderr]      |                           |
[INFO] [stderr]      |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1387:33
[INFO] [stderr]      |
[INFO] [stderr] 1387 | ...                   let mut gap_str=add_whitespace("", 30);
[INFO] [stderr]      |                           ----^^^^^^^
[INFO] [stderr]      |                           |
[INFO] [stderr]      |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1396:33
[INFO] [stderr]      |
[INFO] [stderr] 1396 | ...                   let mut gap=30-last_albumname_len;
[INFO] [stderr]      |                           ----^^^
[INFO] [stderr]      |                           |
[INFO] [stderr]      |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1398:33
[INFO] [stderr]      |
[INFO] [stderr] 1398 | ...                   let mut gap_str=add_whitespace("", gap);
[INFO] [stderr]      |                           ----^^^^^^^
[INFO] [stderr]      |                           |
[INFO] [stderr]      |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/main.rs:1351:9
[INFO] [stderr]      |
[INFO] [stderr] 1351 |     for i in 0..6 {
[INFO] [stderr]      |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/main.rs:1357:17
[INFO] [stderr]      |
[INFO] [stderr] 1357 |             for i in 0..4 {
[INFO] [stderr]      |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `line_albums_count` is assigned to, but never used
[INFO] [stderr]     --> src/main.rs:1374:17
[INFO] [stderr]      |
[INFO] [stderr] 1374 |             let mut line_albums_count=0;
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: consider using `_line_albums_count` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]     --> src/main.rs:1388:33
[INFO] [stderr]      |
[INFO] [stderr] 1388 | ...                   for k in 0..gap {album_str.push_str(&gap_str);}
[INFO] [stderr]      |                           ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]     --> src/main.rs:1390:33
[INFO] [stderr]      |
[INFO] [stderr] 1390 | ...                   for k in 0..gap {album_str.pop();}
[INFO] [stderr]      |                           ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/main.rs:1401:37
[INFO] [stderr]      |
[INFO] [stderr] 1401 | ...                   for i in 0..yeardif {
[INFO] [stderr]      |                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `line_albums_count` is never read
[INFO] [stderr]     --> src/main.rs:1412:25
[INFO] [stderr]      |
[INFO] [stderr] 1412 |                         line_albums_count+=1;
[INFO] [stderr]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/main.rs:1468:9
[INFO] [stderr]      |
[INFO] [stderr] 1468 |     for i in 0..rgli {
[INFO] [stderr]      |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/main.rs:1494:13
[INFO] [stderr]      |
[INFO] [stderr] 1494 |         for i in 0..gap {rankstr.push(' ');}
[INFO] [stderr]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/main.rs:1506:13
[INFO] [stderr]      |
[INFO] [stderr] 1506 |         for i in 0..gap {rankstr.push(' ');}
[INFO] [stderr]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1716:13
[INFO] [stderr]      |
[INFO] [stderr] 1716 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stderr]      |             ----^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1719:13
[INFO] [stderr]      |
[INFO] [stderr] 1719 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stderr]      |             ----^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1722:13
[INFO] [stderr]      |
[INFO] [stderr] 1722 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stderr]      |             ----^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1724:9
[INFO] [stderr]      |
[INFO] [stderr] 1724 |     let mut rankings_result = File::open("rankings.txt");
[INFO] [stderr]      |         ----^^^^^^^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1725:9
[INFO] [stderr]      |
[INFO] [stderr] 1725 |     let mut artists_result = File::open("artists.txt");
[INFO] [stderr]      |         ----^^^^^^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1726:9
[INFO] [stderr]      |
[INFO] [stderr] 1726 |     let mut albums_result = File::open("albums.txt");
[INFO] [stderr]      |         ----^^^^^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_file`
[INFO] [stderr]     --> src/main.rs:1716:13
[INFO] [stderr]      |
[INFO] [stderr] 1716 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_file`
[INFO] [stderr]     --> src/main.rs:1719:13
[INFO] [stderr]      |
[INFO] [stderr] 1719 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_file`
[INFO] [stderr]     --> src/main.rs:1722:13
[INFO] [stderr]      |
[INFO] [stderr] 1722 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `rankings_is_present` is never read
[INFO] [stderr]     --> src/main.rs:1708:39
[INFO] [stderr]      |
[INFO] [stderr] 1708 |     let mut rankings_is_present: bool=false;
[INFO] [stderr]      |                                       ^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 1712 |     rankings_is_present = Path::new("rankings.txt").exists();
[INFO] [stderr]      |     -------------------------------------------------------- `rankings_is_present` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `albums_is_present` is never read
[INFO] [stderr]     --> src/main.rs:1709:36
[INFO] [stderr]      |
[INFO] [stderr] 1709 |     let mut albums_is_present:bool=false;
[INFO] [stderr]      |                                    ^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 1714 |     albums_is_present = Path::new("albums.txt").exists();
[INFO] [stderr]      |     ---------------------------------------------------- `albums_is_present` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `artists_is_present` is never read
[INFO] [stderr]     --> src/main.rs:1710:37
[INFO] [stderr]      |
[INFO] [stderr] 1710 |     let mut artists_is_present:bool=false;
[INFO] [stderr]      |                                     ^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 1713 |     artists_is_present = Path::new("artists.txt").exists();
[INFO] [stderr]      |     ------------------------------------------------------ `artists_is_present` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1791:9
[INFO] [stderr]      |
[INFO] [stderr] 1791 |     let mut artists: Vec<Artist>=Vec::new();
[INFO] [stderr]      |         ----^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `artists`
[INFO] [stderr]     --> src/main.rs:1791:9
[INFO] [stderr]      |
[INFO] [stderr] 1791 |     let mut artists: Vec<Artist>=Vec::new();
[INFO] [stderr]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artists`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:1871:9
[INFO] [stderr]      |
[INFO] [stderr] 1871 |     let mut albums: Vec<Album>=Vec::new();
[INFO] [stderr]      |         ----^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `albums`
[INFO] [stderr]     --> src/main.rs:1871:9
[INFO] [stderr]      |
[INFO] [stderr] 1871 |     let mut albums: Vec<Album>=Vec::new();
[INFO] [stderr]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_albums`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `section` is never read
[INFO] [stderr]     --> src/main.rs:1986:17
[INFO] [stderr]      |
[INFO] [stderr] 1986 |                 section=0;
[INFO] [stderr]      |                 ^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2021:13
[INFO] [stderr]      |
[INFO] [stderr] 2021 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stderr]      |             ----^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2025:13
[INFO] [stderr]      |
[INFO] [stderr] 2025 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stderr]      |             ----^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2029:13
[INFO] [stderr]      |
[INFO] [stderr] 2029 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stderr]      |             ----^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_file`
[INFO] [stderr]     --> src/main.rs:2021:13
[INFO] [stderr]      |
[INFO] [stderr] 2021 |         let mut new_file=File::create("rankings.txt").expect("Creation failed");
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_file`
[INFO] [stderr]     --> src/main.rs:2025:13
[INFO] [stderr]      |
[INFO] [stderr] 2025 |         let mut new_file=File::create("artists.txt").expect("Creation failed");
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_file`
[INFO] [stderr]     --> src/main.rs:2029:13
[INFO] [stderr]      |
[INFO] [stderr] 2029 |         let mut new_file=File::create("albums.txt").expect("Creation failed");
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_file`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `rankings_is_present` is never read
[INFO] [stderr]     --> src/main.rs:2012:39
[INFO] [stderr]      |
[INFO] [stderr] 2012 |     let mut rankings_is_present: bool=false;
[INFO] [stderr]      |                                       ^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 2016 |     rankings_is_present = Path::new("rankings.txt").exists();
[INFO] [stderr]      |     -------------------------------------------------------- `rankings_is_present` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `albums_is_present` is never read
[INFO] [stderr]     --> src/main.rs:2013:36
[INFO] [stderr]      |
[INFO] [stderr] 2013 |     let mut albums_is_present:bool=false;
[INFO] [stderr]      |                                    ^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 2018 |     albums_is_present = Path::new("albums.txt").exists();
[INFO] [stderr]      |     ---------------------------------------------------- `albums_is_present` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `artists_is_present` is never read
[INFO] [stderr]     --> src/main.rs:2014:37
[INFO] [stderr]      |
[INFO] [stderr] 2014 |     let mut artists_is_present:bool=false;
[INFO] [stderr]      |                                     ^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 2017 |     artists_is_present = Path::new("artists.txt").exists();
[INFO] [stderr]      |     ------------------------------------------------------ `artists_is_present` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: variable `idx` is assigned to, but never used
[INFO] [stderr]     --> src/main.rs:2329:13
[INFO] [stderr]      |
[INFO] [stderr] 2329 |         let mut idx=0;
[INFO] [stderr]      |             ^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: consider using `_idx` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]     --> src/main.rs:2333:14
[INFO] [stderr]      |
[INFO] [stderr] 2333 |         for (n, &item) in i.as_bytes().iter().enumerate() {
[INFO] [stderr]      |              ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `idx` is never read
[INFO] [stderr]     --> src/main.rs:2337:13
[INFO] [stderr]      |
[INFO] [stderr] 2337 |             idx+=1;
[INFO] [stderr]      |             ^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/main.rs:1742:5
[INFO] [stderr]      |
[INFO] [stderr] 1742 |     rankings_file.read_to_string(&mut rankings_content);
[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] 1742 |     let _ = rankings_file.read_to_string(&mut rankings_content);
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/main.rs:1743:5
[INFO] [stderr]      |
[INFO] [stderr] 1743 |     artists_file.read_to_string(&mut artists_content);
[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] 1743 |     let _ = artists_file.read_to_string(&mut artists_content);
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/main.rs:1744:5
[INFO] [stderr]      |
[INFO] [stderr] 1744 |     albums_file.read_to_string(&mut albums_content);
[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] 1744 |     let _ = albums_file.read_to_string(&mut albums_content);
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/main.rs:2680:45
[INFO] [stderr]      |
[INFO] [stderr] 2680 |     let two_digit_true=is_two_digit(rank_str.clone());
[INFO] [stderr]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `sixty_eighty` (bin "sixty_eighty" test) generated 90 warnings (run `cargo fix --bin "sixty_eighty" -p sixty_eighty --tests` to apply 61 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sixty_eighty-549e1634bfad37c2)
[INFO] running `Command { std: "docker" "inspect" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7", kill_on_drop: false }`
[INFO] [stdout] bda8a8ca3558ffc6748dffa7ad805470f5d2210f790f3028c39ffd35cdff5ba7
