[INFO] cloning repository https://github.com/osobiehl/rust-number-crunch [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/osobiehl/rust-number-crunch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fosobiehl%2Frust-number-crunch", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fosobiehl%2Frust-number-crunch'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1cf4c43420aca9756e537c7d5c4d43ae53e09625 [INFO] checking osobiehl/rust-number-crunch against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fosobiehl%2Frust-number-crunch" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/osobiehl/rust-number-crunch on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/osobiehl/rust-number-crunch [INFO] finished tweaking git repo https://github.com/osobiehl/rust-number-crunch [INFO] tweaked toml for git repo https://github.com/osobiehl/rust-number-crunch written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/osobiehl/rust-number-crunch 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e43cd03d1ad82cde75c837f13d8b1e858119b8d03ee5bb5773fdad66f859528d [INFO] running `Command { std: "docker" "start" "-a" "e43cd03d1ad82cde75c837f13d8b1e858119b8d03ee5bb5773fdad66f859528d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e43cd03d1ad82cde75c837f13d8b1e858119b8d03ee5bb5773fdad66f859528d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e43cd03d1ad82cde75c837f13d8b1e858119b8d03ee5bb5773fdad66f859528d", kill_on_drop: false }` [INFO] [stdout] e43cd03d1ad82cde75c837f13d8b1e858119b8d03ee5bb5773fdad66f859528d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f69ed2a3b9b08d02fc04974de64cba1f60f20fb3769b4c7a570d0171857eaa09 [INFO] running `Command { std: "docker" "start" "-a" "f69ed2a3b9b08d02fc04974de64cba1f60f20fb3769b4c7a570d0171857eaa09", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling crossbeam-utils v0.8.11 [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling unicode-ident v1.0.3 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Checking once_cell v1.14.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.10 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling rayon-core v1.9.3 [INFO] [stderr] Compiling serde v1.0.144 [INFO] [stderr] Compiling rayon v1.5.3 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking ryu v1.0.11 [INFO] [stderr] Checking iana-time-zone v0.1.50 [INFO] [stderr] Checking crossbeam-channel v0.5.6 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking crossbeam-deque v0.8.2 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking num-integer v0.1.45 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking ordered-float v0.5.2 [INFO] [stderr] Checking chrono v0.4.22 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking NASDAQ v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `csv` is imported redundantly [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use csv; [INFO] [stdout] | ^^^ the item `csv` is already defined by prelude [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ordered_float::NotNaN` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use ordered_float::NotNaN; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::array::IntoIter` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rayon::array::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Binary` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fmt::Binary; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::process; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryInto` is imported redundantly [INFO] [stdout] --> src/s_and_p.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:148:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryInto` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Date`, `Duration`, `NaiveDateTime` [INFO] [stdout] --> src/s_and_p.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{Duration, DateTime, Date,NaiveDateTime}; [INFO] [stdout] | ^^^^^^^^ ^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `DateTime` is imported redundantly [INFO] [stdout] --> src/s_and_p.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{Duration, DateTime, Date,NaiveDateTime}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6 | use chrono::prelude::*; [INFO] [stdout] | ------------------ the item `DateTime` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> src/s_and_p.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StockInvestment` [INFO] [stdout] --> src/s_and_p.rs:7:47 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::stock_action::StockAction::{Stock, StockInvestment}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BuyableSecurity` [INFO] [stdout] --> src/simulation.rs:1:40 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stock_action::StockAction::{BuyableSecurity, Stock, StockAction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Date`, `format::Fixed` [INFO] [stdout] --> src/simulation.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::{format::Fixed, Date, DateTime, Duration, Utc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::result` [INFO] [stdout] --> src/simulation.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use rayon::result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Reverse` [INFO] [stdout] --> src/simulation.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::Reverse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fmt::Debug`, `ops::Not` [INFO] [stdout] --> src/simulation.rs:6:36 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{collections::BinaryHeap, fmt::Debug, marker::PhantomData, ops::Not}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/stock_action.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{prelude::*, Duration, DateTime}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `DateTime` is imported redundantly [INFO] [stdout] --> src/stock_action.rs:3:40 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{prelude::*, Duration, DateTime}; [INFO] [stdout] | ---------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | the item `DateTime` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Not` [INFO] [stdout] --> src/dynamic_simulation.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Not; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StockSimulation` [INFO] [stdout] --> src/dynamic_simulation.rs:6:72 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::simulation::{InvestmentStrategy, DollarCostAveragingLinear, StockSimulation}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BestCaseSAndP` [INFO] [stdout] --> src/main.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | use s_and_p::{BestCaseSAndP, SAndPHistoricalDaily, SAndPHistoricalDailyRaw, WorstCaseSAndP}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stock_action::StockAction::StockAction` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use stock_action::StockAction::StockAction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Generator` [INFO] [stdout] --> src/main.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | use dynamic_simulation::{DCAWithTrailingStopLoss, Generator, TimeVariantPercentage}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `csv` is imported redundantly [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use csv; [INFO] [stdout] | ^^^ the item `csv` is already defined by prelude [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ordered_float::NotNaN` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use ordered_float::NotNaN; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::array::IntoIter` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rayon::array::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Binary` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fmt::Binary; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::process; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryInto` is imported redundantly [INFO] [stdout] --> src/s_and_p.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:148:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryInto` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Date`, `Duration`, `NaiveDateTime` [INFO] [stdout] --> src/s_and_p.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{Duration, DateTime, Date,NaiveDateTime}; [INFO] [stdout] | ^^^^^^^^ ^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `DateTime` is imported redundantly [INFO] [stdout] --> src/s_and_p.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{Duration, DateTime, Date,NaiveDateTime}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6 | use chrono::prelude::*; [INFO] [stdout] | ------------------ the item `DateTime` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> src/s_and_p.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StockInvestment` [INFO] [stdout] --> src/s_and_p.rs:7:47 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::stock_action::StockAction::{Stock, StockInvestment}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BuyableSecurity` [INFO] [stdout] --> src/simulation.rs:1:40 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stock_action::StockAction::{BuyableSecurity, Stock, StockAction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Date`, `format::Fixed` [INFO] [stdout] --> src/simulation.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::{format::Fixed, Date, DateTime, Duration, Utc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::result` [INFO] [stdout] --> src/simulation.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use rayon::result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Reverse` [INFO] [stdout] --> src/simulation.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::Reverse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fmt::Debug`, `ops::Not` [INFO] [stdout] --> src/simulation.rs:6:36 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{collections::BinaryHeap, fmt::Debug, marker::PhantomData, ops::Not}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/stock_action.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{prelude::*, Duration, DateTime}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `DateTime` is imported redundantly [INFO] [stdout] --> src/stock_action.rs:3:40 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{prelude::*, Duration, DateTime}; [INFO] [stdout] | ---------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | the item `DateTime` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Not` [INFO] [stdout] --> src/dynamic_simulation.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Not; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StockSimulation` [INFO] [stdout] --> src/dynamic_simulation.rs:6:72 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::simulation::{InvestmentStrategy, DollarCostAveragingLinear, StockSimulation}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BestCaseSAndP` [INFO] [stdout] --> src/main.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | use s_and_p::{BestCaseSAndP, SAndPHistoricalDaily, SAndPHistoricalDailyRaw, WorstCaseSAndP}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stock_action::StockAction::StockAction` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use stock_action::StockAction::StockAction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Generator` [INFO] [stdout] --> src/main.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | use dynamic_simulation::{DCAWithTrailingStopLoss, Generator, TimeVariantPercentage}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InvestmentStrategy` [INFO] [stdout] --> src/main.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | use simulation::{DollarCostAveragingLinear, InvestmentStrategy, Simulation}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/s_and_p.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | Err(e) => Err(SandPConversionError::IsNaNError) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positions` [INFO] [stdout] --> src/simulation.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | positions: &mut BinaryHeap, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_stock` [INFO] [stdout] --> src/simulation.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | current_stock: &S, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_stock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/simulation.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 55 | fn return_funds(&mut self, amount: f32) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InvestmentStrategy` [INFO] [stdout] --> src/main.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | use simulation::{DollarCostAveragingLinear, InvestmentStrategy, Simulation}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let mut vals = fs::read_to_string(fname).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elements` [INFO] [stdout] --> src/main.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut elements: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/s_and_p.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | Err(e) => Err(SandPConversionError::IsNaNError) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut elements: Vec = vec![]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positions` [INFO] [stdout] --> src/simulation.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | positions: &mut BinaryHeap, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_stock` [INFO] [stdout] --> src/simulation.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | current_stock: &S, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_stock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SAndPSimulation` is never constructed [INFO] [stdout] --> src/main.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct SAndPSimulation {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/simulation.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 55 | fn return_funds(&mut self, amount: f32) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_shitty_csv` is never used [INFO] [stdout] --> src/main.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn remove_shitty_csv(fname: &str) -> () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `open` and `close` are never read [INFO] [stdout] --> src/s_and_p.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct SAndPHistoricalDaily{ [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 19 | date: DateTime, [INFO] [stdout] 20 | open: NotNaN, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | close: NotNaN, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SAndPHistoricalDaily` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StockActionFailure` is never used [INFO] [stdout] --> src/stock_action.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum StockActionFailure { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `WillImmediatelyCashOut` is never constructed [INFO] [stdout] --> src/stock_action.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum StopLossFailure { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] 18 | UnderWipeout, [INFO] [stdout] 19 | WillImmediatelyCashOut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_max`, `get_min`, and `get_leverage` are never used [INFO] [stdout] --> src/stock_action.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait StockAction: Debug { [INFO] [stdout] | ----------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 36 | fn get_max(&self) -> &StockTimeSnapshot; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 37 | fn get_min(&self) -> &StockTimeSnapshot; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 38 | fn get_leverage(&self) -> NotNaN; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_price` is never used [INFO] [stdout] --> src/stock_action.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait BuyableSecurity: Debug { [INFO] [stdout] | --------------- method in this trait [INFO] [stdout] 42 | fn get_price(&self) -> NotNaN; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `invested_at` is never read [INFO] [stdout] --> src/stock_action.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct StockInvestment { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | invested_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StockInvestment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Date` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Date: String, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `date` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Open` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | Open: f32, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `open` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `High` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | High: f32, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Low` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Low: f32, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Close` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | Close: f32, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `close` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ToNotNaN` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn ToNotNaN(f: f32)->Result, SandPConversionError>{ [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `to_not_na_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/simulation.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | drop(current_elem); [INFO] [stdout] | ^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&T` [INFO] [stdout] | [INFO] [stdout] = note: use `let _ = ...` to ignore the expression or result [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/simulation.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | drop(current_elem); [INFO] [stdout] | ^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&T` [INFO] [stdout] | [INFO] [stdout] = note: use `let _ = ...` to ignore the expression or result [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `StockAction` should have a snake case name [INFO] [stdout] --> src/stock_action.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod StockAction { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `stock_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let mut vals = fs::read_to_string(fname).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elements` [INFO] [stdout] --> src/main.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut elements: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut elements: Vec = vec![]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SAndPSimulation` is never constructed [INFO] [stdout] --> src/main.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct SAndPSimulation {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_shitty_csv` is never used [INFO] [stdout] --> src/main.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn remove_shitty_csv(fname: &str) -> () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `open` and `close` are never read [INFO] [stdout] --> src/s_and_p.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct SAndPHistoricalDaily{ [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 19 | date: DateTime, [INFO] [stdout] 20 | open: NotNaN, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | close: NotNaN, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SAndPHistoricalDaily` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StockActionFailure` is never used [INFO] [stdout] --> src/stock_action.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum StockActionFailure { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `WillImmediatelyCashOut` is never constructed [INFO] [stdout] --> src/stock_action.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum StopLossFailure { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] 18 | UnderWipeout, [INFO] [stdout] 19 | WillImmediatelyCashOut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_max`, `get_min`, and `get_leverage` are never used [INFO] [stdout] --> src/stock_action.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait StockAction: Debug { [INFO] [stdout] | ----------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 36 | fn get_max(&self) -> &StockTimeSnapshot; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 37 | fn get_min(&self) -> &StockTimeSnapshot; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 38 | fn get_leverage(&self) -> NotNaN; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_price` is never used [INFO] [stdout] --> src/stock_action.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait BuyableSecurity: Debug { [INFO] [stdout] | --------------- method in this trait [INFO] [stdout] 42 | fn get_price(&self) -> NotNaN; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `invested_at` is never read [INFO] [stdout] --> src/stock_action.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct StockInvestment { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | invested_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StockInvestment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Date` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Date: String, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `date` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Open` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | Open: f32, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `open` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `High` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | High: f32, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Low` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Low: f32, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Close` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | Close: f32, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `close` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ToNotNaN` should have a snake case name [INFO] [stdout] --> src/s_and_p.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn ToNotNaN(f: f32)->Result, SandPConversionError>{ [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `to_not_na_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/simulation.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | drop(current_elem); [INFO] [stdout] | ^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&T` [INFO] [stdout] | [INFO] [stdout] = note: use `let _ = ...` to ignore the expression or result [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/simulation.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | drop(current_elem); [INFO] [stdout] | ^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&T` [INFO] [stdout] | [INFO] [stdout] = note: use `let _ = ...` to ignore the expression or result [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `StockAction` should have a snake case name [INFO] [stdout] --> src/stock_action.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod StockAction { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `stock_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.64s [INFO] running `Command { std: "docker" "inspect" "f69ed2a3b9b08d02fc04974de64cba1f60f20fb3769b4c7a570d0171857eaa09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f69ed2a3b9b08d02fc04974de64cba1f60f20fb3769b4c7a570d0171857eaa09", kill_on_drop: false }` [INFO] [stdout] f69ed2a3b9b08d02fc04974de64cba1f60f20fb3769b4c7a570d0171857eaa09