[INFO] cloning repository https://github.com/stemnic/rustyfolio
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stemnic/rustyfolio" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstemnic%2Frustyfolio", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstemnic%2Frustyfolio'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9a6a29e120e063338849e4db571a99a4ad15d6b2
[INFO] checking stemnic/rustyfolio against a621e2b446eafb53c7a8569f225e0b8cc2429a68 for pr-162600
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstemnic%2Frustyfolio" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/stemnic/rustyfolio
[INFO] finished tweaking git repo https://github.com/stemnic/rustyfolio
[INFO] tweaked toml for git repo https://github.com/stemnic/rustyfolio written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/stemnic/rustyfolio on toolchain a621e2b446eafb53c7a8569f225e0b8cc2429a68
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a621e2b446eafb53c7a8569f225e0b8cc2429a68" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/stemnic/rustyfolio 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" "+a621e2b446eafb53c7a8569f225e0b8cc2429a68" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lockfree-object-pool v0.1.6
[INFO] [stderr]   Downloaded zopfli v0.8.1
[INFO] [stderr]   Downloaded zip v2.5.0
[INFO] [stderr]   Downloaded deflate64 v0.1.9
[INFO] [stderr]   Downloaded windows-strings v0.4.0
[INFO] [stderr]   Downloaded windows-result v0.3.2
[INFO] [stderr]   Downloaded windows-core v0.61.0
[INFO] [stderr]   Downloaded jiff-static v0.2.8
[INFO] [stderr]   Downloaded clap v4.5.36
[INFO] [stderr]   Downloaded cc v1.2.19
[INFO] [stderr]   Downloaded clap_builder v4.5.36
[INFO] [stderr]   Downloaded jiff v0.2.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193
[INFO] running `Command { std: "docker" "start" "23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193", 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" "23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193" "/opt/rustwide/cargo-home/bin/cargo" "+a621e2b446eafb53c7a8569f225e0b8cc2429a68" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193" "/opt/rustwide/cargo-home/bin/cargo" "+a621e2b446eafb53c7a8569f225e0b8cc2429a68" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]     Checking crc v3.2.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking lockfree-object-pool v0.1.6
[INFO] [stderr]     Checking bumpalo v3.17.0
[INFO] [stderr]    Compiling zip v2.5.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking lzma-rs v0.3.0
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]     Checking zopfli v0.8.1
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking deflate64 v0.1.9
[INFO] [stderr]     Checking clap_builder v4.5.36
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking codepage v0.1.2
[INFO] [stderr]     Checking quick-xml v0.31.0
[INFO] [stderr]     Checking jiff v0.2.8
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]     Checking bzip2 v0.5.2
[INFO] [stderr]     Checking xz2 v0.1.7
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking clap v4.5.36
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking calamine v0.26.1
[INFO] [stderr]     Checking rustyfolio v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/importer/csv.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{debug, info};
[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: `serde::Deserialize`
[INFO] [stdout]  --> src/importer/csv.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Positions`, and `Stock`
[INFO] [stdout]  --> src/importer/csv.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::portfolio::{Action, Positions, Stock};
[INFO] [stdout]   |                        ^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::importer::ImporterService`
[INFO] [stdout]   --> src/importer/csv.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     use crate::importer::ImporterService;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Positions`
[INFO] [stdout]   --> src/importer/csv.rs:37:39
[INFO] [stdout]    |
[INFO] [stdout] 37 |     use crate::portfolio::{Portfolio, Positions};
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/importer/csv.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/importer/mod.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::importer::csv::CsvImporter`
[INFO] [stdout]  --> src/importer/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use crate::importer::csv::CsvImporter;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/main.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::{error, info};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stock`
[INFO] [stdout]  --> src/main.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use portfolio::{Portfolio, Positions, Stock};
[INFO] [stdout]   |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/importer/csv.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{debug, info};
[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: `serde::Deserialize`
[INFO] [stdout]  --> src/importer/csv.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Positions`, and `Stock`
[INFO] [stdout]  --> src/importer/csv.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::portfolio::{Action, Positions, Stock};
[INFO] [stdout]   |                        ^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Positions`
[INFO] [stdout]   --> src/importer/csv.rs:37:39
[INFO] [stdout]    |
[INFO] [stdout] 37 |     use crate::portfolio::{Portfolio, Positions};
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Positions`
[INFO] [stdout]    --> src/importer/etrade.rs:391:39
[INFO] [stdout]     |
[INFO] [stdout] 391 |     use crate::portfolio::{Portfolio, Positions};
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/importer/mod.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::importer::csv::CsvImporter`
[INFO] [stdout]  --> src/importer/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use crate::importer::csv::CsvImporter;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/main.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::{error, info};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stock`
[INFO] [stdout]  --> src/main.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use portfolio::{Portfolio, Positions, Stock};
[INFO] [stdout]   |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/importer/csv.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         todo!("Some post processing?");
[INFO] [stdout]    |         ------------------------------ any code following this expression is unreachable
[INFO] [stdout] 30 |
[INFO] [stdout] 31 |         Ok(&self.positions)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/importer/csv.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         todo!("Some post processing?");
[INFO] [stdout]    |         ------------------------------ any code following this expression is unreachable
[INFO] [stdout] 30 |
[INFO] [stdout] 31 |         Ok(&self.positions)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> src/importer/csv.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn import_csv(file: &String) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> src/importer/csv.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn import_csv(file: &String) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `output_string` is never read
[INFO] [stdout]    --> src/portfolio.rs:115:33
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let mut output_string = String::new();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 120 |                 output_string = format!(
[INFO] [stdout]     |                 ------------- `output_string` 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 `output_string` is never read
[INFO] [stdout]   --> src/tax.rs:18:33
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut output_string = String::new();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 73 |                     output_string = format!(
[INFO] [stdout]    |                     ------------- `output_string` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `purchase_price` and `grant_date_fmv` are never read
[INFO] [stdout]   --> src/importer/etrade.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct EsppRecord {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     purchase_price: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     grant_date_fmv: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EsppRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `record` is never read
[INFO] [stdout]   --> src/importer/etrade.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct RsuGrantVest {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 52 |     #[serde(rename = "Record Type")]
[INFO] [stdout] 53 |     record: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RsuGrantVest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `record` is never read
[INFO] [stdout]   --> src/importer/etrade.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct RsuTax {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 71 |     #[serde(rename = "Record Type")]
[INFO] [stdout] 72 |     record: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RsuTax` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event` is never read
[INFO] [stdout]   --> src/importer/etrade.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct GainAndLoss {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 85 |     #[serde(rename = "Record Type")]
[INFO] [stdout] 86 |     event: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GainAndLoss` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_stock` is never used
[INFO] [stdout]   --> src/portfolio.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Portfolio {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn new_stock(&mut self, stock: Positions) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tax.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Self::overwrite_to_output_file(output_string.as_str());
[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] 98 |             let _ = Self::overwrite_to_output_file(output_string.as_str());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `output_string` is never read
[INFO] [stdout]    --> src/portfolio.rs:115:33
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let mut output_string = String::new();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 120 |                 output_string = format!(
[INFO] [stdout]     |                 ------------- `output_string` 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 `output_string` is never read
[INFO] [stdout]   --> src/tax.rs:18:33
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut output_string = String::new();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 73 |                     output_string = format!(
[INFO] [stdout]    |                     ------------- `output_string` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CsvImporter` is never constructed
[INFO] [stdout]  --> src/importer/csv.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CsvImporter {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `import_csv` are never used
[INFO] [stdout]   --> src/importer/csv.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl CsvImporter {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 13 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn import_csv(file: &String) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]   --> src/importer/csv.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn init() -> Result<Portfolio, std::io::Error> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `purchase_price` and `grant_date_fmv` are never read
[INFO] [stdout]   --> src/importer/etrade.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct EsppRecord {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     purchase_price: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     grant_date_fmv: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EsppRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `record` is never read
[INFO] [stdout]   --> src/importer/etrade.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct RsuGrantVest {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 52 |     #[serde(rename = "Record Type")]
[INFO] [stdout] 53 |     record: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RsuGrantVest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `record` is never read
[INFO] [stdout]   --> src/importer/etrade.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct RsuTax {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 71 |     #[serde(rename = "Record Type")]
[INFO] [stdout] 72 |     record: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RsuTax` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event` is never read
[INFO] [stdout]   --> src/importer/etrade.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct GainAndLoss {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 85 |     #[serde(rename = "Record Type")]
[INFO] [stdout] 86 |     event: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GainAndLoss` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_stock` is never used
[INFO] [stdout]   --> src/portfolio.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Portfolio {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn new_stock(&mut self, stock: Positions) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tax.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Self::overwrite_to_output_file(output_string.as_str());
[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] 98 |             let _ = Self::overwrite_to_output_file(output_string.as_str());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `clap`
[INFO] [stderr]   --> Cargo.toml:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 | [dependencies.clap]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `clap`
[INFO] [stderr] warning: `rustyfolio` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.03s
[INFO] running `Command { std: "docker" "inspect" "23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193", kill_on_drop: false }`
[INFO] [stdout] 23977a3e9cf28b21b4fac483c492ec4a576887decf801b73ecd58d6c11bc4193
