[INFO] cloning repository https://github.com/DanielLacina/ml_toolkit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DanielLacina/ml_toolkit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDanielLacina%2Fml_toolkit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDanielLacina%2Fml_toolkit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 62de577595040e16a4008a7cf45319612726a005 [INFO] linting DanielLacina/ml_toolkit against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDanielLacina%2Fml_toolkit" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/DanielLacina/ml_toolkit [INFO] finished tweaking git repo https://github.com/DanielLacina/ml_toolkit [INFO] tweaked toml for git repo https://github.com/DanielLacina/ml_toolkit written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/DanielLacina/ml_toolkit on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/DanielLacina/ml_toolkit 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6b5e732f1b45cd0d081bc42f44cfc0fafd76ddddbd093125b9eac480ee34278e [INFO] running `Command { std: "docker" "start" "-a" "6b5e732f1b45cd0d081bc42f44cfc0fafd76ddddbd093125b9eac480ee34278e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6b5e732f1b45cd0d081bc42f44cfc0fafd76ddddbd093125b9eac480ee34278e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6b5e732f1b45cd0d081bc42f44cfc0fafd76ddddbd093125b9eac480ee34278e", kill_on_drop: false }` [INFO] [stdout] 6b5e732f1b45cd0d081bc42f44cfc0fafd76ddddbd093125b9eac480ee34278e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9f232b35bf82836fb2ba8ba658345d0d217a31cd433ac9e72c3c4db4d73f33cf [INFO] running `Command { std: "docker" "start" "-a" "9f232b35bf82836fb2ba8ba658345d0d217a31cd433ac9e72c3c4db4d73f33cf", kill_on_drop: false }` [INFO] [stderr] Checking ml_toolkit v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/dataframe/csv.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{self, BufReader, prelude::*}; [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: `self` [INFO] [stdout] --> src/dataframe/csv.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{self, BufReader, prelude::*}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/dataframe/dataframe.rs:55:18 [INFO] [stdout] | [INFO] [stdout] 55 | for i in (values.len()..len) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 55 - for i in (values.len()..len) { [INFO] [stdout] 55 + for i in values.len()..len { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/dataframe/dataframe.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 103 | for i in ((column_index + 1)..self.index_to_column.len() + 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - for i in ((column_index + 1)..self.index_to_column.len() + 1) { [INFO] [stdout] 103 + for i in (column_index + 1)..self.index_to_column.len() + 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataTypeValue` and `DataType` [INFO] [stdout] --> src/pipeline/pipeline.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::dataframe::{DataFrame, DataType, DataTypeValue}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/pipeline/pipeline.rs:85:41 [INFO] [stdout] | [INFO] [stdout] 85 | encoders::one_hot_encoder::{self, OneHotEncoder}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/pipeline/polynomial_features/polynomial_features.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | for i in (2..self.degrees + 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 23 - for i in (2..self.degrees + 1) { [INFO] [stdout] 23 + for i in 2..self.degrees + 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/pipeline/polynomial_features/polynomial_features.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | for i in (2..degrees + 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - for i in (2..degrees + 1) { [INFO] [stdout] 71 + for i in 2..degrees + 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | for i in (0..df.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - for i in (0..df.len()) { [INFO] [stdout] 27 + for i in 0..df.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/sampling/sampling.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/sampling/sampling.rs:31:26 [INFO] [stdout] | [INFO] [stdout] 31 | for i in (0..*num_bins) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 31 - for i in (0..*num_bins) { [INFO] [stdout] 31 + for i in 0..*num_bins { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/sampling/sampling.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | for i in (0..*num_bins) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - for i in (0..*num_bins) { [INFO] [stdout] 37 + for i in 0..*num_bins { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/sampling/sampling.rs:65:18 [INFO] [stdout] | [INFO] [stdout] 65 | for i in (0..df.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 65 - for i in (0..df.len()) { [INFO] [stdout] 65 + for i in 0..df.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/dataframe/dataframe.rs:55:18 [INFO] [stdout] | [INFO] [stdout] 55 | for i in (values.len()..len) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 55 - for i in (values.len()..len) { [INFO] [stdout] 55 + for i in values.len()..len { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/dataframe/dataframe.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 103 | for i in ((column_index + 1)..self.index_to_column.len() + 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - for i in ((column_index + 1)..self.index_to_column.len() + 1) { [INFO] [stdout] 103 + for i in (column_index + 1)..self.index_to_column.len() + 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataTypeValue` and `DataType` [INFO] [stdout] --> src/pipeline/pipeline.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::dataframe::{DataFrame, DataType, DataTypeValue}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/pipeline/polynomial_features/polynomial_features.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | for i in (2..self.degrees + 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 23 - for i in (2..self.degrees + 1) { [INFO] [stdout] 23 + for i in 2..self.degrees + 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | for i in (0..df.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - for i in (0..df.len()) { [INFO] [stdout] 27 + for i in 0..df.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/sampling/sampling.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/sampling/sampling.rs:31:26 [INFO] [stdout] | [INFO] [stdout] 31 | for i in (0..*num_bins) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 31 - for i in (0..*num_bins) { [INFO] [stdout] 31 + for i in 0..*num_bins { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/sampling/sampling.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | for i in (0..*num_bins) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - for i in (0..*num_bins) { [INFO] [stdout] 37 + for i in 0..*num_bins { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/sampling/sampling.rs:65:18 [INFO] [stdout] | [INFO] [stdout] 65 | for i in (0..df.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 65 - for i in (0..df.len()) { [INFO] [stdout] 65 + for i in 0..df.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `converging_tolerance` [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let converging_tolerance = (10.0 as f32).powf(-9.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_converging_tolerance` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dtype` [INFO] [stdout] --> src/dataframe/dataframe.rs:578:40 [INFO] [stdout] | [INFO] [stdout] 578 | assert!(matches!(column_dtype, dtype)); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dtype` [INFO] [stdout] --> src/dataframe/dataframe.rs:648:14 [INFO] [stdout] | [INFO] [stdout] 648 | let (dtype, _) = df.get_column(columns[0]); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dtype` [INFO] [stdout] --> src/dataframe/dataframe.rs:651:40 [INFO] [stdout] | [INFO] [stdout] 651 | assert!(matches!(column_dtype, dtype)); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `converging_tolerance` [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let converging_tolerance = (10.0 as f32).powf(-9.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_converging_tolerance` [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 `found_one` is never read [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | found_one = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sampling/sampling.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let mut train_indices_sorted = { [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/sampling/sampling.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | let mut test_indices_sorted = { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `residual` is never used [INFO] [stdout] --> src/algorithms/exponential_regression/utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn residual(x: f32, y: f32, c: f32, k: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `strategy` is never read [INFO] [stdout] --> src/pipeline/imputers/imputer.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Imputer { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 12 | strategy: ImputerStrategy, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/algorithms/exponential_regression/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod exponential_regression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `ExponentialRegression` [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> Self { [INFO] [stdout] 12 | | return Self { c: 0.0, k: 0.0 }; [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 10 + impl Default for ExponentialRegression { [INFO] [stdout] 11 + fn default() -> Self { [INFO] [stdout] 12 + Self::new() [INFO] [stdout] 13 + } [INFO] [stdout] 14 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | return Self { c: 0.0, k: 0.0 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 12 - return Self { c: 0.0, k: 0.0 }; [INFO] [stdout] 12 + Self { c: 0.0, k: 0.0 } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:15:33 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn fit(&mut self, data: &Vec, labels: &Vec, k: f32, c: f32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 15 - pub fn fit(&mut self, data: &Vec, labels: &Vec, k: f32, c: f32) { [INFO] [stdout] 15 + pub fn fit(&mut self, data: &[f32], labels: &Vec, k: f32, c: f32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting float literal to `f32` is unnecessary [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:20:36 [INFO] [stdout] | [INFO] [stdout] 20 | let converging_tolerance = (10.0 as f32).powf(-9.0); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `10.0_f32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:62:33 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn predict(&self, data: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 62 - pub fn predict(&self, data: &Vec) -> Vec { [INFO] [stdout] 62 + pub fn predict(&self, data: &[f32]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/algorithms/linear_regression/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod linear_regression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | / return Self { [INFO] [stdout] 13 | | weights: Vec::new(), [INFO] [stdout] 14 | | bias: 0.0, [INFO] [stdout] 15 | | ridge_value, [INFO] [stdout] 16 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 12 ~ Self { [INFO] [stdout] 13 + weights: Vec::new(), [INFO] [stdout] 14 + bias: 0.0, [INFO] [stdout] 15 + ridge_value, [INFO] [stdout] 16 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | return outputs; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 75 - return outputs; [INFO] [stdout] 75 + outputs [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | return &self.weights; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return &self.weights; [INFO] [stdout] 79 + &self.weights [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | return self.bias; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return self.bias; [INFO] [stdout] 83 + self.bias [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/csv.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - return df; [INFO] [stdout] 27 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> src/dataframe/csv.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | let row_limit = if let Some(limit) = row_limit { [INFO] [stdout] | _____________________^ [INFO] [stdout] 16 | | limit [INFO] [stdout] 17 | | } else { [INFO] [stdout] 18 | | 1000000 [INFO] [stdout] 19 | | }; [INFO] [stdout] | |_____^ help: replace with: `row_limit.unwrap_or(1000000)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/dataframe/csv.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | if value == "" { [INFO] [stdout] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `value.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/dataframe/csv.rs:83:45 [INFO] [stdout] | [INFO] [stdout] 83 | let (_, values) = df.get_column(&column_name); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `column_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/dataframe/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod dataframe; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `DataFrame` [INFO] [stdout] --> src/dataframe/dataframe.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | / pub fn new() -> Self { [INFO] [stdout] 15 | | let mut df = Self { [INFO] [stdout] 16 | | index_to_column: HashMap::new(), [INFO] [stdout] 17 | | columns: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 21 | | return df; [INFO] [stdout] 22 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 13 + impl Default for DataFrame { [INFO] [stdout] 14 + fn default() -> Self { [INFO] [stdout] 15 + Self::new() [INFO] [stdout] 16 + } [INFO] [stdout] 17 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - return df; [INFO] [stdout] 21 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | return "ids"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - return "ids"; [INFO] [stdout] 25 + "ids" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/dataframe/dataframe.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | values: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 31 ~ values: &[DataTypeValue], [INFO] [stdout] 32 | dtype: &DataType, [INFO] [stdout] ... [INFO] [stdout] 45 | column_name.to_string(), [INFO] [stdout] 46 ~ (header_index, dtype.clone(), values.to_owned()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | return &values[row_index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return &values[row_index]; [INFO] [stdout] 85 + &values[row_index] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | return (dtype, values); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 111 - return (dtype, values); [INFO] [stdout] 111 + (dtype, values) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | return (dtype, values); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return (dtype, values); [INFO] [stdout] 116 + (dtype, values) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | return (column_name, dtype, values); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - return (column_name, dtype, values); [INFO] [stdout] 125 + (column_name, dtype, values) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/dataframe/dataframe.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | / match value { [INFO] [stdout] 166 | | DataTypeValue::Float(inner) => { [INFO] [stdout] 167 | | *value = DataTypeValue::String(inner.to_string()); [INFO] [stdout] ... | [INFO] [stdout] 170 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 165 ~ if let DataTypeValue::Float(inner) = value { [INFO] [stdout] 166 + *value = DataTypeValue::String(inner.to_string()); [INFO] [stdout] 167 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 192 - return df; [INFO] [stdout] 192 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return df; [INFO] [stdout] 218 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 236 - return df; [INFO] [stdout] 236 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/dataframe/dataframe.rs:221:39 [INFO] [stdout] | [INFO] [stdout] 221 | pub fn get_rows_as_df(&self, ids: &Vec) -> DataFrame { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 221 - pub fn get_rows_as_df(&self, ids: &Vec) -> DataFrame { [INFO] [stdout] 221 + pub fn get_rows_as_df(&self, ids: &[usize]) -> DataFrame { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/dataframe/dataframe.rs:228:51 [INFO] [stdout] | [INFO] [stdout] 228 | let (dtype, values) = self.get_column(&column_name); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `column_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | return frequencies; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 259 - return frequencies; [INFO] [stdout] 259 + frequencies [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/dataframe/dataframe.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | frequencies.sort_by(|(_, a), (_, b)| a.cmp(b)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 258 - frequencies.sort_by(|(_, a), (_, b)| a.cmp(b)); [INFO] [stdout] 258 + frequencies.sort_by_key(|(_, a)| *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | return results; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 272 - return results; [INFO] [stdout] 272 + results [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:292:9 [INFO] [stdout] | [INFO] [stdout] 292 | return bins; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 292 - return bins; [INFO] [stdout] 292 + bins [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | return data_hashmap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 305 - return data_hashmap; [INFO] [stdout] 305 + data_hashmap [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:344:9 [INFO] [stdout] | [INFO] [stdout] 344 | return Matrix::to_matrix(&output_matrix); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 344 - return Matrix::to_matrix(&output_matrix); [INFO] [stdout] 344 + Matrix::to_matrix(&output_matrix) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:358:13 [INFO] [stdout] | [INFO] [stdout] 358 | return (values[values.len() / 2] + values[(values.len() - 1) / 2]) / 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 358 - return (values[values.len() / 2] + values[(values.len() - 1) / 2]) / 2.0; [INFO] [stdout] 358 + (values[values.len() / 2] + values[(values.len() - 1) / 2]) / 2.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | return values[values.len() / 2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 360 - return values[values.len() / 2]; [INFO] [stdout] 360 + values[values.len() / 2] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/dataframe/dataframe.rs:357:12 [INFO] [stdout] | [INFO] [stdout] 357 | if values.len() % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace with: `values.len().is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:379:9 [INFO] [stdout] | [INFO] [stdout] 379 | return mean; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 379 - return mean; [INFO] [stdout] 379 + mean [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/dataframe/dataframe.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | / match value { [INFO] [stdout] 372 | | DataTypeValue::Float(inner) => { [INFO] [stdout] 373 | | sum += *inner; [INFO] [stdout] ... | [INFO] [stdout] 376 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 371 ~ if let DataTypeValue::Float(inner) = value { [INFO] [stdout] 372 + sum += *inner; [INFO] [stdout] 373 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:402:9 [INFO] [stdout] | [INFO] [stdout] 402 | return std; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 402 - return std; [INFO] [stdout] 402 + std [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/dataframe/dataframe.rs:394:13 [INFO] [stdout] | [INFO] [stdout] 394 | / match value { [INFO] [stdout] 395 | | DataTypeValue::Float(inner) => { [INFO] [stdout] 396 | | sum += (*inner - mean).powf(2.0); [INFO] [stdout] ... | [INFO] [stdout] 399 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 394 ~ if let DataTypeValue::Float(inner) = value { [INFO] [stdout] 395 + sum += (*inner - mean).powf(2.0); [INFO] [stdout] 396 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:417:9 [INFO] [stdout] | [INFO] [stdout] 417 | return column_names; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 417 - return column_names; [INFO] [stdout] 417 + column_names [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.filter_map(..)` can be written more simply using `.filter(..)` [INFO] [stdout] --> src/dataframe/dataframe.rs:409:14 [INFO] [stdout] | [INFO] [stdout] 409 | .filter_map(|column_name| { [INFO] [stdout] | ______________^ [INFO] [stdout] 410 | | let (dtype, _) = self.get_column(column_name); [INFO] [stdout] 411 | | match dtype { [INFO] [stdout] 412 | | DataType::String => Some(column_name), [INFO] [stdout] ... | [INFO] [stdout] 415 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stdout] = note: `#[warn(clippy::unnecessary_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | return column_names; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 432 - return column_names; [INFO] [stdout] 432 + column_names [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.filter_map(..)` can be written more simply using `.filter(..)` [INFO] [stdout] --> src/dataframe/dataframe.rs:424:14 [INFO] [stdout] | [INFO] [stdout] 424 | .filter_map(|column_name| { [INFO] [stdout] | ______________^ [INFO] [stdout] 425 | | let (dtype, _) = self.get_column(column_name); [INFO] [stdout] 426 | | match dtype { [INFO] [stdout] 427 | | DataType::Float => Some(column_name), [INFO] [stdout] ... | [INFO] [stdout] 430 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataFrame` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/dataframe/dataframe.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] = note: `#[warn(clippy::len_without_is_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:448:9 [INFO] [stdout] | [INFO] [stdout] 448 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 448 - return df; [INFO] [stdout] 448 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/dataframe/dataframe.rs:486:60 [INFO] [stdout] | [INFO] [stdout] 486 | DataType::Float => data.iter().all(|value| match value { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 487 | | DataTypeValue::Float(_) => true, [INFO] [stdout] 488 | | DataTypeValue::Null => true, [INFO] [stdout] 489 | | _ => false, [INFO] [stdout] 490 | | }), [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 486 - DataType::Float => data.iter().all(|value| match value { [INFO] [stdout] 487 - DataTypeValue::Float(_) => true, [INFO] [stdout] 488 - DataTypeValue::Null => true, [INFO] [stdout] 489 - _ => false, [INFO] [stdout] 490 - }), [INFO] [stdout] 486 + DataType::Float => data.iter().all(|value| matches!(value, DataTypeValue::Float(_) | DataTypeValue::Null)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/dataframe/dataframe.rs:491:61 [INFO] [stdout] | [INFO] [stdout] 491 | DataType::String => data.iter().all(|value| match value { [INFO] [stdout] | _____________________________________________________________^ [INFO] [stdout] 492 | | DataTypeValue::String(_) => true, [INFO] [stdout] 493 | | DataTypeValue::Null => true, [INFO] [stdout] 494 | | _ => false, [INFO] [stdout] 495 | | }), [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 491 - DataType::String => data.iter().all(|value| match value { [INFO] [stdout] 492 - DataTypeValue::String(_) => true, [INFO] [stdout] 493 - DataTypeValue::Null => true, [INFO] [stdout] 494 - _ => false, [INFO] [stdout] 495 - }), [INFO] [stdout] 491 + DataType::String => data.iter().all(|value| matches!(value, DataTypeValue::String(_) | DataTypeValue::Null)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `residual` is never used [INFO] [stdout] --> src/algorithms/exponential_regression/utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn residual(x: f32, y: f32, c: f32, k: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `strategy` is never read [INFO] [stdout] --> src/pipeline/imputers/imputer.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Imputer { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 12 | strategy: ImputerStrategy, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/algorithms/exponential_regression/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod exponential_regression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `ExponentialRegression` [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> Self { [INFO] [stdout] 12 | | return Self { c: 0.0, k: 0.0 }; [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 10 + impl Default for ExponentialRegression { [INFO] [stdout] 11 + fn default() -> Self { [INFO] [stdout] 12 + Self::new() [INFO] [stdout] 13 + } [INFO] [stdout] 14 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | return Self { c: 0.0, k: 0.0 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 12 - return Self { c: 0.0, k: 0.0 }; [INFO] [stdout] 12 + Self { c: 0.0, k: 0.0 } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/dataframe/dataframe.rs:579:17 [INFO] [stdout] | [INFO] [stdout] 579 | assert!(column_values.len() == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `column_values.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:15:33 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn fit(&mut self, data: &Vec, labels: &Vec, k: f32, c: f32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 15 - pub fn fit(&mut self, data: &Vec, labels: &Vec, k: f32, c: f32) { [INFO] [stdout] 15 + pub fn fit(&mut self, data: &[f32], labels: &Vec, k: f32, c: f32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting float literal to `f32` is unnecessary [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:20:36 [INFO] [stdout] | [INFO] [stdout] 20 | let converging_tolerance = (10.0 as f32).powf(-9.0); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `10.0_f32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/algorithms/exponential_regression/exponential_regression.rs:62:33 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn predict(&self, data: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 62 - pub fn predict(&self, data: &Vec) -> Vec { [INFO] [stdout] 62 + pub fn predict(&self, data: &[f32]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/algorithms/linear_regression/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod linear_regression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | / return Self { [INFO] [stdout] 13 | | weights: Vec::new(), [INFO] [stdout] 14 | | bias: 0.0, [INFO] [stdout] 15 | | ridge_value, [INFO] [stdout] 16 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 12 ~ Self { [INFO] [stdout] 13 + weights: Vec::new(), [INFO] [stdout] 14 + bias: 0.0, [INFO] [stdout] 15 + ridge_value, [INFO] [stdout] 16 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:660:48 [INFO] [stdout] | [INFO] [stdout] 660 | means.insert("longitude".to_string(), -122.24500); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] = note: `#[warn(clippy::excessive_precision)]` on by default [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 660 - means.insert("longitude".to_string(), -122.24500); [INFO] [stdout] 660 + means.insert("longitude".to_string(), -122.245); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:661:46 [INFO] [stdout] | [INFO] [stdout] 661 | means.insert("latitude".to_string(), 37.85000); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 661 - means.insert("latitude".to_string(), 37.85000); [INFO] [stdout] 661 + means.insert("latitude".to_string(), 37.85); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:662:56 [INFO] [stdout] | [INFO] [stdout] 662 | means.insert("housing_median_age".to_string(), 46.80000); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 662 - means.insert("housing_median_age".to_string(), 46.80000); [INFO] [stdout] 662 + means.insert("housing_median_age".to_string(), 46.8); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:663:49 [INFO] [stdout] | [INFO] [stdout] 663 | means.insert("total_rooms".to_string(), 2500.90000); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 663 - means.insert("total_rooms".to_string(), 2500.90000); [INFO] [stdout] 663 + means.insert("total_rooms".to_string(), 2_500.9); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:664:52 [INFO] [stdout] | [INFO] [stdout] 664 | means.insert("total_bedrooms".to_string(), 470.10000); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 664 - means.insert("total_bedrooms".to_string(), 470.10000); [INFO] [stdout] 664 + means.insert("total_bedrooms".to_string(), 470.1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:665:48 [INFO] [stdout] | [INFO] [stdout] 665 | means.insert("population".to_string(), 976.30000); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 665 - means.insert("population".to_string(), 976.30000); [INFO] [stdout] 665 + means.insert("population".to_string(), 976.3); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:666:48 [INFO] [stdout] | [INFO] [stdout] 666 | means.insert("households".to_string(), 458.20000); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 666 - means.insert("households".to_string(), 458.20000); [INFO] [stdout] 666 + means.insert("households".to_string(), 458.2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | return outputs; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 75 - return outputs; [INFO] [stdout] 75 + outputs [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | return &self.weights; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return &self.weights; [INFO] [stdout] 79 + &self.weights [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | return self.bias; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return self.bias; [INFO] [stdout] 83 + self.bias [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:685:48 [INFO] [stdout] | [INFO] [stdout] 685 | stds.insert("total_rooms".to_string(), 1858.210456); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 685 - stds.insert("total_rooms".to_string(), 1858.210456); [INFO] [stdout] 685 + stds.insert("total_rooms".to_string(), 1_858.210_4); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:686:51 [INFO] [stdout] | [INFO] [stdout] 686 | stds.insert("total_bedrooms".to_string(), 315.910483); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 686 - stds.insert("total_bedrooms".to_string(), 315.910483); [INFO] [stdout] 686 + stds.insert("total_bedrooms".to_string(), 315.910_5); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:687:47 [INFO] [stdout] | [INFO] [stdout] 687 | stds.insert("population".to_string(), 648.036702); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 687 - stds.insert("population".to_string(), 648.036702); [INFO] [stdout] 687 + stds.insert("population".to_string(), 648.036_7); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:688:47 [INFO] [stdout] | [INFO] [stdout] 688 | stds.insert("households".to_string(), 323.469662); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 688 - stds.insert("households".to_string(), 323.469662); [INFO] [stdout] 688 + stds.insert("households".to_string(), 323.469_67); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:690:55 [INFO] [stdout] | [INFO] [stdout] 690 | stds.insert("median_house_value".to_string(), 68355.310287); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 690 - stds.insert("median_house_value".to_string(), 68355.310287); [INFO] [stdout] 690 + stds.insert("median_house_value".to_string(), 68_355.31); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/csv.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - return df; [INFO] [stdout] 27 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:702:50 [INFO] [stdout] | [INFO] [stdout] 702 | medians.insert("longitude".to_string(), -122.2500); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 702 - medians.insert("longitude".to_string(), -122.2500); [INFO] [stdout] 702 + medians.insert("longitude".to_string(), -122.25); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:706:54 [INFO] [stdout] | [INFO] [stdout] 706 | medians.insert("total_bedrooms".to_string(), 384.5000); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 706 - medians.insert("total_bedrooms".to_string(), 384.5000); [INFO] [stdout] 706 + medians.insert("total_bedrooms".to_string(), 384.5); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:707:50 [INFO] [stdout] | [INFO] [stdout] 707 | medians.insert("population".to_string(), 829.5000); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 707 - medians.insert("population".to_string(), 829.5000); [INFO] [stdout] 707 + medians.insert("population".to_string(), 829.5); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/dataframe/dataframe.rs:708:50 [INFO] [stdout] | [INFO] [stdout] 708 | medians.insert("households".to_string(), 386.5000); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 708 - medians.insert("households".to_string(), 386.5000); [INFO] [stdout] 708 + medians.insert("households".to_string(), 386.5); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> src/dataframe/csv.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | let row_limit = if let Some(limit) = row_limit { [INFO] [stdout] | _____________________^ [INFO] [stdout] 16 | | limit [INFO] [stdout] 17 | | } else { [INFO] [stdout] 18 | | 1000000 [INFO] [stdout] 19 | | }; [INFO] [stdout] | |_____^ help: replace with: `row_limit.unwrap_or(1000000)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/dataframe/csv.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | if value == "" { [INFO] [stdout] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `value.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/dataframe/dataframe.rs:724:9 [INFO] [stdout] | [INFO] [stdout] 724 | bins.sort_by(|(_, _, a), (_, _, b)| a.cmp(b)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 724 - bins.sort_by(|(_, _, a), (_, _, b)| a.cmp(b)); [INFO] [stdout] 724 + bins.sort_by_key(|(_, _, a)| *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/dataframe/dataframe.rs:731:20 [INFO] [stdout] | [INFO] [stdout] 731 | if !(a_value >= b_value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(a_value < b_value)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/dataframe/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod dataframe; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `DataFrame` [INFO] [stdout] --> src/dataframe/dataframe.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | / pub fn new() -> Self { [INFO] [stdout] 15 | | let mut df = Self { [INFO] [stdout] 16 | | index_to_column: HashMap::new(), [INFO] [stdout] 17 | | columns: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 21 | | return df; [INFO] [stdout] 22 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 13 + impl Default for DataFrame { [INFO] [stdout] 14 + fn default() -> Self { [INFO] [stdout] 15 + Self::new() [INFO] [stdout] 16 + } [INFO] [stdout] 17 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - return df; [INFO] [stdout] 21 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | return "ids"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - return "ids"; [INFO] [stdout] 25 + "ids" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/dataframe/dataframe.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | values: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 31 ~ values: &[DataTypeValue], [INFO] [stdout] 32 | dtype: &DataType, [INFO] [stdout] ... [INFO] [stdout] 45 | column_name.to_string(), [INFO] [stdout] 46 ~ (header_index, dtype.clone(), values.to_owned()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | return &values[row_index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return &values[row_index]; [INFO] [stdout] 85 + &values[row_index] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | return (dtype, values); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 111 - return (dtype, values); [INFO] [stdout] 111 + (dtype, values) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/datatype.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 96 - return true; [INFO] [stdout] 96 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | return (dtype, values); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return (dtype, values); [INFO] [stdout] 116 + (dtype, values) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/datatype.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return false; [INFO] [stdout] 98 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | return (column_name, dtype, values); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - return (column_name, dtype, values); [INFO] [stdout] 125 + (column_name, dtype, values) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/dataframe/datatype.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | / match self { [INFO] [stdout] 67 | | DataTypeValue::String(inner_a) => match other { [INFO] [stdout] 68 | | DataTypeValue::String(inner_b) => { [INFO] [stdout] 69 | | return inner_a == inner_b; [INFO] [stdout] ... | [INFO] [stdout] 75 | | _ => {} [INFO] [stdout] 76 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 66 ~ if let DataTypeValue::String(inner_a) = self { match other { [INFO] [stdout] 67 + DataTypeValue::String(inner_b) => { [INFO] [stdout] 68 + return inner_a == inner_b; [INFO] [stdout] 69 + } [INFO] [stdout] 70 + _ => { [INFO] [stdout] 71 + return false; [INFO] [stdout] 72 + } [INFO] [stdout] 73 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/dataframe/datatype.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | / if (current - other).abs() <= 0.0001 { [INFO] [stdout] 96 | | return true; [INFO] [stdout] 97 | | } else { [INFO] [stdout] 98 | | return false; [INFO] [stdout] 99 | | } [INFO] [stdout] | |_________^ help: you can reduce it to: `return (current - other).abs() <= 0.0001` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/inference/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod inference; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/inference/inference.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | return sum / labels.len() as f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 9 - return sum / labels.len() as f32; [INFO] [stdout] 9 + sum / labels.len() as f32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/dataframe/dataframe.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | / match value { [INFO] [stdout] 166 | | DataTypeValue::Float(inner) => { [INFO] [stdout] 167 | | *value = DataTypeValue::String(inner.to_string()); [INFO] [stdout] ... | [INFO] [stdout] 170 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 165 ~ if let DataTypeValue::Float(inner) = value { [INFO] [stdout] 166 + *value = DataTypeValue::String(inner.to_string()); [INFO] [stdout] 167 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 192 - return df; [INFO] [stdout] 192 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return df; [INFO] [stdout] 218 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/linear_algebra/matrices.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(matrix: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 9 ~ pub fn new(matrix: &[RowVector]) -> Self { [INFO] [stdout] 10 | Self { [INFO] [stdout] 11 ~ matrix: matrix.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/linear_algebra/matrices.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn to_matrix(multidim_vec: &Vec>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 15 - pub fn to_matrix(multidim_vec: &Vec>) -> Self { [INFO] [stdout] 15 + pub fn to_matrix(multidim_vec: &[Vec]) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 236 - return df; [INFO] [stdout] 236 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/linear_algebra/matrices.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | .map(|vec_| RowVector::new(vec_)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `RowVector::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/dataframe/dataframe.rs:221:39 [INFO] [stdout] | [INFO] [stdout] 221 | pub fn get_rows_as_df(&self, ids: &Vec) -> DataFrame { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 221 - pub fn get_rows_as_df(&self, ids: &Vec) -> DataFrame { [INFO] [stdout] 221 + pub fn get_rows_as_df(&self, ids: &[usize]) -> DataFrame { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/linear_algebra/matrices.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | return Matrix::new(&output_matrix); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return Matrix::new(&output_matrix); [INFO] [stdout] 34 + Matrix::new(&output_matrix) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/dataframe/dataframe.rs:228:51 [INFO] [stdout] | [INFO] [stdout] 228 | let (dtype, values) = self.get_column(&column_name); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `column_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `m` [INFO] [stdout] --> src/linear_algebra/matrices.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | for j in 0..m.len() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 29 - for j in 0..m.len() { [INFO] [stdout] 29 + for in &m { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/linear_algebra/matrices.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | return Matrix::new(&output_matrix); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 50 - return Matrix::new(&output_matrix); [INFO] [stdout] 50 + Matrix::new(&output_matrix) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | return frequencies; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 259 - return frequencies; [INFO] [stdout] 259 + frequencies [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/dataframe/dataframe.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | frequencies.sort_by(|(_, a), (_, b)| a.cmp(b)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 258 - frequencies.sort_by(|(_, a), (_, b)| a.cmp(b)); [INFO] [stdout] 258 + frequencies.sort_by_key(|(_, a)| *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | return results; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 272 - return results; [INFO] [stdout] 272 + results [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:292:9 [INFO] [stdout] | [INFO] [stdout] 292 | return bins; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 292 - return bins; [INFO] [stdout] 292 + bins [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Matrix` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/linear_algebra/matrices.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/linear_algebra/matrices.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | return Matrix::new(&i_matrix); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return Matrix::new(&i_matrix); [INFO] [stdout] 71 + Matrix::new(&i_matrix) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/linear_algebra/matrices.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | return Matrix::new(&identity_m); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 103 - return Matrix::new(&identity_m); [INFO] [stdout] 103 + Matrix::new(&identity_m) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | return data_hashmap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 305 - return data_hashmap; [INFO] [stdout] 305 + data_hashmap [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:344:9 [INFO] [stdout] | [INFO] [stdout] 344 | return Matrix::to_matrix(&output_matrix); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 344 - return Matrix::to_matrix(&output_matrix); [INFO] [stdout] 344 + Matrix::to_matrix(&output_matrix) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/linear_algebra/matrices.rs:106:28 [INFO] [stdout] | [INFO] [stdout] 106 | fn swap_rows(&self, m: &mut Vec, row1: usize, row2: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 106 - fn swap_rows(&self, m: &mut Vec, row1: usize, row2: usize) { [INFO] [stdout] 106 + fn swap_rows(&self, m: &mut [RowVector], row1: usize, row2: usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:358:13 [INFO] [stdout] | [INFO] [stdout] 358 | return (values[values.len() / 2] + values[(values.len() - 1) / 2]) / 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 358 - return (values[values.len() / 2] + values[(values.len() - 1) / 2]) / 2.0; [INFO] [stdout] 358 + (values[values.len() / 2] + values[(values.len() - 1) / 2]) / 2.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | return values[values.len() / 2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 360 - return values[values.len() / 2]; [INFO] [stdout] 360 + values[values.len() / 2] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/dataframe/dataframe.rs:357:12 [INFO] [stdout] | [INFO] [stdout] 357 | if values.len() % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace with: `values.len().is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:379:9 [INFO] [stdout] | [INFO] [stdout] 379 | return mean; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 379 - return mean; [INFO] [stdout] 379 + mean [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/dataframe/dataframe.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | / match value { [INFO] [stdout] 372 | | DataTypeValue::Float(inner) => { [INFO] [stdout] 373 | | sum += *inner; [INFO] [stdout] ... | [INFO] [stdout] 376 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 371 ~ if let DataTypeValue::Float(inner) = value { [INFO] [stdout] 372 + sum += *inner; [INFO] [stdout] 373 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:402:9 [INFO] [stdout] | [INFO] [stdout] 402 | return std; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 402 - return std; [INFO] [stdout] 402 + std [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/dataframe/dataframe.rs:394:13 [INFO] [stdout] | [INFO] [stdout] 394 | / match value { [INFO] [stdout] 395 | | DataTypeValue::Float(inner) => { [INFO] [stdout] 396 | | sum += (*inner - mean).powf(2.0); [INFO] [stdout] ... | [INFO] [stdout] 399 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 394 ~ if let DataTypeValue::Float(inner) = value { [INFO] [stdout] 395 + sum += (*inner - mean).powf(2.0); [INFO] [stdout] 396 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:417:9 [INFO] [stdout] | [INFO] [stdout] 417 | return column_names; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 417 - return column_names; [INFO] [stdout] 417 + column_names [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.filter_map(..)` can be written more simply using `.filter(..)` [INFO] [stdout] --> src/dataframe/dataframe.rs:409:14 [INFO] [stdout] | [INFO] [stdout] 409 | .filter_map(|column_name| { [INFO] [stdout] | ______________^ [INFO] [stdout] 410 | | let (dtype, _) = self.get_column(column_name); [INFO] [stdout] 411 | | match dtype { [INFO] [stdout] 412 | | DataType::String => Some(column_name), [INFO] [stdout] ... | [INFO] [stdout] 415 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stdout] = note: `#[warn(clippy::unnecessary_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/dataframe.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | return column_names; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 432 - return column_names; [INFO] [stdout] 432 + column_names [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.filter_map(..)` can be written more simply using `.filter(..)` [INFO] [stdout] --> src/dataframe/dataframe.rs:424:14 [INFO] [stdout] | [INFO] [stdout] 424 | .filter_map(|column_name| { [INFO] [stdout] | ______________^ [INFO] [stdout] 425 | | let (dtype, _) = self.get_column(column_name); [INFO] [stdout] 426 | | match dtype { [INFO] [stdout] 427 | | DataType::Float => Some(column_name), [INFO] [stdout] ... | [INFO] [stdout] 430 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting float literal to `f32` is unnecessary [INFO] [stdout] --> src/linear_algebra/matrices.rs:202:41 [INFO] [stdout] | [INFO] [stdout] 202 | RowVector::new(&vec![-7.0 / 3.0 as f32, 2.0, -1.0 / 3.0]), [INFO] [stdout] | ^^^^^^^^^^ help: try: `3.0_f32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataFrame` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/dataframe/dataframe.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] = note: `#[warn(clippy::len_without_is_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/datatype.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 96 - return true; [INFO] [stdout] 96 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/dataframe/datatype.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return false; [INFO] [stdout] 98 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/dataframe/datatype.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | / match self { [INFO] [stdout] 67 | | DataTypeValue::String(inner_a) => match other { [INFO] [stdout] 68 | | DataTypeValue::String(inner_b) => { [INFO] [stdout] 69 | | return inner_a == inner_b; [INFO] [stdout] ... | [INFO] [stdout] 75 | | _ => {} [INFO] [stdout] 76 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 66 ~ if let DataTypeValue::String(inner_a) = self { match other { [INFO] [stdout] 67 + DataTypeValue::String(inner_b) => { [INFO] [stdout] 68 + return inner_a == inner_b; [INFO] [stdout] 69 + } [INFO] [stdout] 70 + _ => { [INFO] [stdout] 71 + return false; [INFO] [stdout] 72 + } [INFO] [stdout] 73 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/linear_algebra/vectors.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(vector: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 9 ~ pub fn new(vector: &[f32]) -> Self { [INFO] [stdout] 10 | Self { [INFO] [stdout] 11 ~ vector: vector.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/dataframe/datatype.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | / if (current - other).abs() <= 0.0001 { [INFO] [stdout] 96 | | return true; [INFO] [stdout] 97 | | } else { [INFO] [stdout] 98 | | return false; [INFO] [stdout] 99 | | } [INFO] [stdout] | |_________^ help: you can reduce it to: `return (current - other).abs() <= 0.0001` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RowVector` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/linear_algebra/vectors.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/inference/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod inference; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/inference/inference.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | return sum / labels.len() as f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 9 - return sum / labels.len() as f32; [INFO] [stdout] 9 + sum / labels.len() as f32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f32` which implements the `Copy` trait [INFO] [stdout] --> src/linear_algebra/vectors.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | self.vector[i].clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.vector[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | return categories; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 55 - return categories; [INFO] [stdout] 55 + categories [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | values: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 18 - values: &Vec, [INFO] [stdout] 18 + values: &[DataTypeValue], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/linear_algebra/matrices.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(matrix: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 9 ~ pub fn new(matrix: &[RowVector]) -> Self { [INFO] [stdout] 10 | Self { [INFO] [stdout] 11 ~ matrix: matrix.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | / if *inner != null_placeholder { [INFO] [stdout] 48 | | if !categories.contains_key(inner.as_str()) { [INFO] [stdout] 49 | | let mut cat_values = vec![DataTypeValue::Float(0.0); i]; [INFO] [stdout] 50 | | cat_values.push(DataTypeValue::Float(1.0)); [INFO] [stdout] ... | [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 47 ~ if *inner != null_placeholder [INFO] [stdout] 48 ~ && !categories.contains_key(inner.as_str()) { [INFO] [stdout] 49 | let mut cat_values = vec![DataTypeValue::Float(0.0); i]; [INFO] [stdout] 50 | cat_values.push(DataTypeValue::Float(1.0)); [INFO] [stdout] 51 | categories.insert(inner.clone(), cat_values); [INFO] [stdout] 52 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/linear_algebra/matrices.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn to_matrix(multidim_vec: &Vec>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 15 - pub fn to_matrix(multidim_vec: &Vec>) -> Self { [INFO] [stdout] 15 + pub fn to_matrix(multidim_vec: &[Vec]) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/linear_algebra/matrices.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | .map(|vec_| RowVector::new(vec_)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `RowVector::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | return df_one_hot_encoded; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 81 - return df_one_hot_encoded; [INFO] [stdout] 81 + df_one_hot_encoded [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/linear_algebra/matrices.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | return Matrix::new(&output_matrix); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return Matrix::new(&output_matrix); [INFO] [stdout] 34 + Matrix::new(&output_matrix) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:64:34 [INFO] [stdout] | [INFO] [stdout] 64 | let mut categories = categorical_values [INFO] [stdout] | __________________________________^ [INFO] [stdout] 65 | | .iter() [INFO] [stdout] 66 | | .map(|(category, _)| category.clone()) [INFO] [stdout] | |______________________________________________________^ help: try: `categorical_values.keys().map(|category| category.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `m` [INFO] [stdout] --> src/linear_algebra/matrices.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | for j in 0..m.len() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 29 - for j in 0..m.len() { [INFO] [stdout] 29 + for in &m { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/linear_algebra/matrices.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | return Matrix::new(&output_matrix); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 50 - return Matrix::new(&output_matrix); [INFO] [stdout] 50 + Matrix::new(&output_matrix) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Matrix` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/linear_algebra/matrices.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/linear_algebra/matrices.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | return Matrix::new(&i_matrix); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return Matrix::new(&i_matrix); [INFO] [stdout] 71 + Matrix::new(&i_matrix) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:118:59 [INFO] [stdout] | [INFO] [stdout] 118 | .map(|category| df_one_hot_encoded.get_column(&category)) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `category` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 - return true; [INFO] [stdout] 137 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/linear_algebra/matrices.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | return Matrix::new(&identity_m); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 103 - return Matrix::new(&identity_m); [INFO] [stdout] 103 + Matrix::new(&identity_m) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/imputers/imputer.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 56 - return df; [INFO] [stdout] 56 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/imputers/imputer.rs:26:44 [INFO] [stdout] | [INFO] [stdout] 26 | let df_column_names: Vec = df [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 27 | | .columns() [INFO] [stdout] 28 | | .into_iter() [INFO] [stdout] 29 | | .filter(|df_column_name| { [INFO] [stdout] 30 | | *df_column_name != DataFrame::id_column() && column_names.contains(*df_column_name) [INFO] [stdout] 31 | | }) [INFO] [stdout] 32 | | .map(|column_name| column_name.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 26 ~ let df_column_names: Vec = df [INFO] [stdout] 27 + .columns() [INFO] [stdout] 28 + .into_iter() [INFO] [stdout] 29 + .filter(|df_column_name| { [INFO] [stdout] 30 + *df_column_name != DataFrame::id_column() && column_names.contains(*df_column_name) [INFO] [stdout] 31 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/linear_algebra/matrices.rs:106:28 [INFO] [stdout] | [INFO] [stdout] 106 | fn swap_rows(&self, m: &mut Vec, row1: usize, row2: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 106 - fn swap_rows(&self, m: &mut Vec, row1: usize, row2: usize) { [INFO] [stdout] 106 + fn swap_rows(&self, m: &mut [RowVector], row1: usize, row2: usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/linear_algebra/vectors.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(vector: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 9 ~ pub fn new(vector: &[f32]) -> Self { [INFO] [stdout] 10 | Self { [INFO] [stdout] 11 ~ vector: vector.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RowVector` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/linear_algebra/vectors.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f32` which implements the `Copy` trait [INFO] [stdout] --> src/linear_algebra/vectors.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | self.vector[i].clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.vector[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/imputers/imputer.rs:72:44 [INFO] [stdout] | [INFO] [stdout] 72 | let numeric_columns: Vec = df [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 73 | | .numeric_columns() [INFO] [stdout] 74 | | .into_iter() [INFO] [stdout] 75 | | .map(|column| column.clone()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 72 ~ let numeric_columns: Vec = df [INFO] [stdout] 73 + .numeric_columns() [INFO] [stdout] 74 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | return categories; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 55 - return categories; [INFO] [stdout] 55 + categories [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | values: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 18 - values: &Vec, [INFO] [stdout] 18 + values: &[DataTypeValue], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/pipeline/imputers/imputer.rs:81:18 [INFO] [stdout] | [INFO] [stdout] 81 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/pipeline/mod.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | pub mod pipeline; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | return Self { transformers }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 11 - return Self { transformers }; [INFO] [stdout] 11 + Self { transformers } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - return df; [INFO] [stdout] 21 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | return Self { transformers }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return Self { transformers }; [INFO] [stdout] 31 + Self { transformers } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | / if *inner != null_placeholder { [INFO] [stdout] 48 | | if !categories.contains_key(inner.as_str()) { [INFO] [stdout] 49 | | let mut cat_values = vec![DataTypeValue::Float(0.0); i]; [INFO] [stdout] 50 | | cat_values.push(DataTypeValue::Float(1.0)); [INFO] [stdout] ... | [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 47 ~ if *inner != null_placeholder [INFO] [stdout] 48 ~ && !categories.contains_key(inner.as_str()) { [INFO] [stdout] 49 | let mut cat_values = vec![DataTypeValue::Float(0.0); i]; [INFO] [stdout] 50 | cat_values.push(DataTypeValue::Float(1.0)); [INFO] [stdout] 51 | categories.insert(inner.clone(), cat_values); [INFO] [stdout] 52 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - return df; [INFO] [stdout] 41 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | return df_one_hot_encoded; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 81 - return df_one_hot_encoded; [INFO] [stdout] 81 + df_one_hot_encoded [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | return output_matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 75 - return output_matrix; [INFO] [stdout] 75 + output_matrix [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/pipeline.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | let categorical_columns = df [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 59 | | .categorical_columns() [INFO] [stdout] 60 | | .into_iter() [INFO] [stdout] 61 | | .map(|column_name| column_name.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 58 ~ let categorical_columns = df [INFO] [stdout] 59 + .categorical_columns() [INFO] [stdout] 60 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/pipeline/encoders/one_hot_encoder.rs:64:34 [INFO] [stdout] | [INFO] [stdout] 64 | let mut categories = categorical_values [INFO] [stdout] | __________________________________^ [INFO] [stdout] 65 | | .iter() [INFO] [stdout] 66 | | .map(|(category, _)| category.clone()) [INFO] [stdout] | |______________________________________________________^ help: try: `categorical_values.keys().map(|category| category.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/pipeline.rs:66:31 [INFO] [stdout] | [INFO] [stdout] 66 | let numeric_columns = df [INFO] [stdout] | _______________________________^ [INFO] [stdout] 67 | | .numeric_columns() [INFO] [stdout] 68 | | .into_iter() [INFO] [stdout] 69 | | .map(|column_name| column_name.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 66 ~ let numeric_columns = df [INFO] [stdout] 67 + .numeric_columns() [INFO] [stdout] 68 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/imputers/imputer.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 56 - return df; [INFO] [stdout] 56 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/imputers/imputer.rs:26:44 [INFO] [stdout] | [INFO] [stdout] 26 | let df_column_names: Vec = df [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 27 | | .columns() [INFO] [stdout] 28 | | .into_iter() [INFO] [stdout] 29 | | .filter(|df_column_name| { [INFO] [stdout] 30 | | *df_column_name != DataFrame::id_column() && column_names.contains(*df_column_name) [INFO] [stdout] 31 | | }) [INFO] [stdout] 32 | | .map(|column_name| column_name.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 26 ~ let df_column_names: Vec = df [INFO] [stdout] 27 + .columns() [INFO] [stdout] 28 + .into_iter() [INFO] [stdout] 29 + .filter(|df_column_name| { [INFO] [stdout] 30 + *df_column_name != DataFrame::id_column() && column_names.contains(*df_column_name) [INFO] [stdout] 31 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/pipeline/polynomial_features/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod polynomial_features; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/polynomial_features/polynomial_features.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return df_with_polynomial_features; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return df_with_polynomial_features; [INFO] [stdout] 48 + df_with_polynomial_features [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/pipeline/mod.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | pub mod pipeline; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | return Self { transformers }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 11 - return Self { transformers }; [INFO] [stdout] 11 + Self { transformers } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - return df; [INFO] [stdout] 21 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | return Self { transformers }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return Self { transformers }; [INFO] [stdout] 31 + Self { transformers } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - return df; [INFO] [stdout] 41 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/polynomial_features/polynomial_features.rs:63:44 [INFO] [stdout] | [INFO] [stdout] 63 | let numeric_columns: Vec = numeric_columns [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 64 | | .into_iter() [INFO] [stdout] 65 | | .map(|column| column.clone()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 63 ~ let numeric_columns: Vec = numeric_columns [INFO] [stdout] 64 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/polynomial_features/polynomial_features.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return true; [INFO] [stdout] 85 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/pipeline.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | return output_matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 75 - return output_matrix; [INFO] [stdout] 75 + output_matrix [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/pipeline.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | let categorical_columns = df [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 59 | | .categorical_columns() [INFO] [stdout] 60 | | .into_iter() [INFO] [stdout] 61 | | .map(|column_name| column_name.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 58 ~ let categorical_columns = df [INFO] [stdout] 59 + .categorical_columns() [INFO] [stdout] 60 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/pipeline.rs:66:31 [INFO] [stdout] | [INFO] [stdout] 66 | let numeric_columns = df [INFO] [stdout] | _______________________________^ [INFO] [stdout] 67 | | .numeric_columns() [INFO] [stdout] 68 | | .into_iter() [INFO] [stdout] 69 | | .map(|column_name| column_name.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 66 ~ let numeric_columns = df [INFO] [stdout] 67 + .numeric_columns() [INFO] [stdout] 68 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/pipeline/polynomial_features/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod polynomial_features; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/polynomial_features/polynomial_features.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return df_with_polynomial_features; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return df_with_polynomial_features; [INFO] [stdout] 48 + df_with_polynomial_features [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `StandardScalar` [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub fn new() -> Self { [INFO] [stdout] 10 | | Self [INFO] [stdout] 11 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 8 + impl Default for StandardScalar { [INFO] [stdout] 9 + fn default() -> Self { [INFO] [stdout] 10 + Self::new() [INFO] [stdout] 11 + } [INFO] [stdout] 12 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return df; [INFO] [stdout] 40 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:16:44 [INFO] [stdout] | [INFO] [stdout] 16 | let df_column_names: Vec = df [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 17 | | .columns() [INFO] [stdout] 18 | | .into_iter() [INFO] [stdout] 19 | | .filter(|df_column_name| { [INFO] [stdout] 20 | | *df_column_name != DataFrame::id_column() && column_names.contains(*df_column_name) [INFO] [stdout] 21 | | }) [INFO] [stdout] 22 | | .map(|column_name| column_name.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 16 ~ let df_column_names: Vec = df [INFO] [stdout] 17 + .columns() [INFO] [stdout] 18 + .into_iter() [INFO] [stdout] 19 + .filter(|df_column_name| { [INFO] [stdout] 20 + *df_column_name != DataFrame::id_column() && column_names.contains(*df_column_name) [INFO] [stdout] 21 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/pipeline/transformers/transformer.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | fn transform(&self, df: &DataFrame, column_names: &Vec) -> DataFrame; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/sampling/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod sampling; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/sampling/sampling.rs:11:47 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new(test_size: f32, stratified_by: &Vec<(String, usize)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 11 ~ pub fn new(test_size: f32, stratified_by: &[(String, usize)]) -> Self { [INFO] [stdout] 12 | if test_size < 0.0 || test_size > 1.0 { [INFO] [stdout] ... [INFO] [stdout] 22 | test_size, [INFO] [stdout] 23 ~ stratified_by: stratified_by.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/sampling/sampling.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | if test_size < 0.0 || test_size > 1.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(0.0..=1.0).contains(&test_size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/sampling/sampling.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | if stratified_by.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `stratified_by.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sampling/sampling.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return bin_permutations; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return bin_permutations; [INFO] [stdout] 54 + bin_permutations [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/sampling/sampling.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | if bin_permutations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `bin_permutations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sampling/sampling.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | return id_bin_permutations; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - return id_bin_permutations; [INFO] [stdout] 74 + id_bin_permutations [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sampling/sampling.rs:62:52 [INFO] [stdout] | [INFO] [stdout] 62 | .map(|(column_name, num_bins)| df.bins(&column_name, *num_bins)) [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `column_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sampling/sampling.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | return (train_indices, test_indices); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return (train_indices, test_indices); [INFO] [stdout] 101 + (train_indices, test_indices) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/dataframe/datatype.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | let values: Vec> = vec![self, other] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[self, other]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `StandardScalar` [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub fn new() -> Self { [INFO] [stdout] 10 | | Self [INFO] [stdout] 11 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 8 + impl Default for StandardScalar { [INFO] [stdout] 9 + fn default() -> Self { [INFO] [stdout] 10 + Self::new() [INFO] [stdout] 11 + } [INFO] [stdout] 12 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return df; [INFO] [stdout] 40 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:16:44 [INFO] [stdout] | [INFO] [stdout] 16 | let df_column_names: Vec = df [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 17 | | .columns() [INFO] [stdout] 18 | | .into_iter() [INFO] [stdout] 19 | | .filter(|df_column_name| { [INFO] [stdout] 20 | | *df_column_name != DataFrame::id_column() && column_names.contains(*df_column_name) [INFO] [stdout] 21 | | }) [INFO] [stdout] 22 | | .map(|column_name| column_name.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 16 ~ let df_column_names: Vec = df [INFO] [stdout] 17 + .columns() [INFO] [stdout] 18 + .into_iter() [INFO] [stdout] 19 + .filter(|df_column_name| { [INFO] [stdout] 20 + *df_column_name != DataFrame::id_column() && column_names.contains(*df_column_name) [INFO] [stdout] 21 + }).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let columns = df [INFO] [stdout] | _______________________^ [INFO] [stdout] 59 | | .columns() [INFO] [stdout] 60 | | .into_iter() [INFO] [stdout] 61 | | .map(|column| column.clone()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 58 ~ let columns = df [INFO] [stdout] 59 + .columns() [INFO] [stdout] 60 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - return true; [INFO] [stdout] 90 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/pipeline/transformers/transformer.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | fn transform(&self, df: &DataFrame, column_names: &Vec) -> DataFrame; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/sampling/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod sampling; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/sampling/sampling.rs:11:47 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new(test_size: f32, stratified_by: &Vec<(String, usize)>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 11 ~ pub fn new(test_size: f32, stratified_by: &[(String, usize)]) -> Self { [INFO] [stdout] 12 | if test_size < 0.0 || test_size > 1.0 { [INFO] [stdout] ... [INFO] [stdout] 22 | test_size, [INFO] [stdout] 23 ~ stratified_by: stratified_by.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/sampling/sampling.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | if test_size < 0.0 || test_size > 1.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(0.0..=1.0).contains(&test_size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/sampling/sampling.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | if stratified_by.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `stratified_by.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sampling/sampling.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return bin_permutations; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return bin_permutations; [INFO] [stdout] 54 + bin_permutations [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/sampling/sampling.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | if bin_permutations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `bin_permutations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sampling/sampling.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | return id_bin_permutations; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - return id_bin_permutations; [INFO] [stdout] 74 + id_bin_permutations [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sampling/sampling.rs:62:52 [INFO] [stdout] | [INFO] [stdout] 62 | .map(|(column_name, num_bins)| df.bins(&column_name, *num_bins)) [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `column_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sampling/sampling.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | return (train_indices, test_indices); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return (train_indices, test_indices); [INFO] [stdout] 101 + (train_indices, test_indices) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sampling/sampling.rs:116:79 [INFO] [stdout] | [INFO] [stdout] 116 | let stratified_shuffle_split = StratifiedShuffleSplit::new(test_size, &stratified_by); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `stratified_by` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/sampling/sampling.rs:140:35 [INFO] [stdout] | [INFO] [stdout] 140 | id_hashset.insert(index.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/dataframe/dataframe.rs:563:22 [INFO] [stdout] | [INFO] [stdout] 563 | let values = vec!["near ocean", "far from ocean"] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["near ocean", "far from ocean"]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/dataframe/datatype.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | let values: Vec> = vec![self, other] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[self, other]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/dataframe/datatype.rs:77:40 [INFO] [stdout] | [INFO] [stdout] 77 | let values: Vec> = vec![self, other] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[self, other]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X` should have a snake case name [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let X = Matrix::new( [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X_transpose` should have a snake case name [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let X_transpose = X.transpose(); [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_transpose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X_output` should have a snake case name [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let mut X_output = X.multiply(&X_transpose); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X_output_inverse` should have a snake case name [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let X_output_inverse = X_output.inverse(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_output_inverse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/dataframe/datatype.rs:77:40 [INFO] [stdout] | [INFO] [stdout] 77 | let values: Vec> = vec![self, other] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[self, other]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X` should have a snake case name [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let X = Matrix::new( [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X_transpose` should have a snake case name [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let X_transpose = X.transpose(); [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_transpose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X_output` should have a snake case name [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let mut X_output = X.multiply(&X_transpose); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X_output_inverse` should have a snake case name [INFO] [stdout] --> src/algorithms/linear_regression/linear_regression.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let X_output_inverse = X_output.inverse(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_output_inverse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> src/pipeline/scalars/standard_scalar.rs:71:33 [INFO] [stdout] | [INFO] [stdout] 71 | .map(|column| column.clone().clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `column_names` [INFO] [stdout] --> src/main.rs:23:41 [INFO] [stdout] | [INFO] [stdout] 23 | fn transform(&self, df: &DataFrame, column_names: &Vec) -> DataFrame { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_column_names` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `CombinedAttributesAdder` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / pub fn new() -> Self { [INFO] [stdout] 18 | | Self [INFO] [stdout] 19 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 16 + impl Default for CombinedAttributesAdder { [INFO] [stdout] 17 + fn default() -> Self { [INFO] [stdout] 18 + Self::new() [INFO] [stdout] 19 + } [INFO] [stdout] 20 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 43 - return df; [INFO] [stdout] 43 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/main.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | let columns: Vec = train_features [INFO] [stdout] | ________________________________^ [INFO] [stdout] 62 | | .numeric_columns() [INFO] [stdout] 63 | | .into_iter() [INFO] [stdout] 64 | | .map(|column| column.clone()) [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 61 ~ let columns: Vec = train_features [INFO] [stdout] 62 + .numeric_columns() [INFO] [stdout] 63 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/main.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/main.rs:103:14 [INFO] [stdout] | [INFO] [stdout] 103 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | rmse(&train_predictions.vector(), &train_labels), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `train_predictions.vector()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:109:14 [INFO] [stdout] | [INFO] [stdout] 109 | rmse(&test_predictions.vector(), &test_labels), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `test_predictions.vector()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `column_names` [INFO] [stdout] --> src/main.rs:23:41 [INFO] [stdout] | [INFO] [stdout] 23 | fn transform(&self, df: &DataFrame, column_names: &Vec) -> DataFrame { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_column_names` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `CombinedAttributesAdder` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / pub fn new() -> Self { [INFO] [stdout] 18 | | Self [INFO] [stdout] 19 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 16 + impl Default for CombinedAttributesAdder { [INFO] [stdout] 17 + fn default() -> Self { [INFO] [stdout] 18 + Self::new() [INFO] [stdout] 19 + } [INFO] [stdout] 20 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | return df; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 43 - return df; [INFO] [stdout] 43 + df [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/main.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | let columns: Vec = train_features [INFO] [stdout] | ________________________________^ [INFO] [stdout] 62 | | .numeric_columns() [INFO] [stdout] 63 | | .into_iter() [INFO] [stdout] 64 | | .map(|column| column.clone()) [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 61 ~ let columns: Vec = train_features [INFO] [stdout] 62 + .numeric_columns() [INFO] [stdout] 63 + .into_iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/main.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/main.rs:103:14 [INFO] [stdout] | [INFO] [stdout] 103 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | rmse(&train_predictions.vector(), &train_labels), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `train_predictions.vector()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:109:14 [INFO] [stdout] | [INFO] [stdout] 109 | rmse(&test_predictions.vector(), &test_labels), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `test_predictions.vector()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> tests/test_linear_regression.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> tests/test_linear_regression.rs:60:14 [INFO] [stdout] | [INFO] [stdout] 60 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_linear_regression.rs:67:14 [INFO] [stdout] | [INFO] [stdout] 67 | rmse(&train_predictions.vector(), &train_labels), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `train_predictions.vector()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_linear_regression.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | rmse(&test_predictions.vector(), &test_labels), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `test_predictions.vector()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.02s [INFO] running `Command { std: "docker" "inspect" "9f232b35bf82836fb2ba8ba658345d0d217a31cd433ac9e72c3c4db4d73f33cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f232b35bf82836fb2ba8ba658345d0d217a31cd433ac9e72c3c4db4d73f33cf", kill_on_drop: false }` [INFO] [stdout] 9f232b35bf82836fb2ba8ba658345d0d217a31cd433ac9e72c3c4db4d73f33cf