[INFO] cloning repository https://github.com/nvasudevan/ml-smart
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nvasudevan/ml-smart" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnvasudevan%2Fml-smart", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnvasudevan%2Fml-smart'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7495448d4ec9dcc972e27bf745c68328971f0271
[INFO] testing nvasudevan/ml-smart against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnvasudevan%2Fml-smart" "/workspace/builds/worker-13/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/nvasudevan/ml-smart on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/nvasudevan/ml-smart
[INFO] finished tweaking git repo https://github.com/nvasudevan/ml-smart
[INFO] tweaked toml for git repo https://github.com/nvasudevan/ml-smart written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] crate git repo https://github.com/nvasudevan/ml-smart already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a659012979ce4751e05ff8de8977195f2a9221d3dc1e2e7eea6dbad219a3a051
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a659012979ce4751e05ff8de8977195f2a9221d3dc1e2e7eea6dbad219a3a051", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a659012979ce4751e05ff8de8977195f2a9221d3dc1e2e7eea6dbad219a3a051", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a659012979ce4751e05ff8de8977195f2a9221d3dc1e2e7eea6dbad219a3a051", kill_on_drop: false }`
[INFO] [stdout] a659012979ce4751e05ff8de8977195f2a9221d3dc1e2e7eea6dbad219a3a051
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 938f52eec5c3a4a835a687b67ac8c44230a1938b6475589b4e9453bfc4895687
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "938f52eec5c3a4a835a687b67ac8c44230a1938b6475589b4e9453bfc4895687", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling num-bigint v0.3.2
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling regex-automata v0.1.9
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling term v0.5.2
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-complex v0.3.1
[INFO] [stderr]    Compiling rand_distr v0.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling num v0.3.1
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling bstr v0.2.16
[INFO] [stderr]    Compiling smartcore v0.2.0
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling prettytable-rs v0.8.0
[INFO] [stderr]    Compiling ml-smart v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `MLResult`, `show`
[INFO] [stdout]  --> src/main.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::results::{MLResult, show};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prettytable::Table`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use prettytable::Table;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::results::MLResult`
[INFO] [stdout]  --> src/dataset/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::results::MLResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::ensemble::random_forest_classifier::RandomForestClassifier`
[INFO] [stdout]  --> src/flags/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use smartcore::ensemble::random_forest_classifier::RandomForestClassifier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `knn_classifier::KNNClassifier`
[INFO] [stdout]   --> src/flags/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     knn_classifier::KNNClassifier,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::tree::decision_tree_classifier::DecisionTreeClassifier`
[INFO] [stdout]   --> src/flags/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use smartcore::tree::decision_tree_classifier::DecisionTreeClassifier;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataset::flag::Flag`
[INFO] [stdout]   --> src/flags/random_forest.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::dataset::flag::Flag;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::flags::validate_predict`
[INFO] [stdout]   --> src/flags/random_forest.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::flags::validate_predict;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `euclidian::Euclidian`, `hamming::Hamming`, `manhattan::Manhattan`
[INFO] [stdout]  --> src/flags/knn_classifier.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     euclidian::Euclidian,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     hamming::Hamming,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     manhattan::Manhattan,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::neighbors::knn_regressor::KNNRegressor`
[INFO] [stdout]   --> src/flags/knn_classifier.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use smartcore::neighbors::knn_regressor::KNNRegressor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flags::knn_regression`
[INFO] [stdout]   --> src/flags/knn_classifier.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     flags::knn_regression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataset::flag::Flag`
[INFO] [stdout]   --> src/flags/decision_tree_classifier.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::dataset::flag::Flag;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::flags::validate_predict`
[INFO] [stdout]   --> src/flags/decision_tree_classifier.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::flags::validate_predict;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KMeansParameters`, `KMeans`
[INFO] [stdout]  --> src/flags/kmeans.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use smartcore::cluster::kmeans::{KMeans, KMeansParameters};
[INFO] [stdout]   |                                  ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digits`
[INFO] [stdout]  --> src/flags/kmeans.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use smartcore::dataset::{Dataset, digits};
[INFO] [stdout]   |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `accuracy`, `completeness_score`, `homogeneity_score`, `mean_absolute_error`
[INFO] [stdout]  --> src/flags/kmeans.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use smartcore::metrics::{accuracy, mean_absolute_error, completeness_score, homogeneity_score};
[INFO] [stdout]   |                          ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataset::DatasetParseError`
[INFO] [stdout]  --> src/flags/kmeans.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::dataset::DatasetParseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MLResult`
[INFO] [stdout]  --> src/flags/kmeans.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::results::{MLResult, best_k, KMeansResult};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DBSCANParameters`, `DBSCAN`
[INFO] [stdout]  --> src/flags/dbscan.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use smartcore::cluster::dbscan::{DBSCAN, DBSCANParameters};
[INFO] [stdout]   |                                  ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::linalg::naive::dense_matrix::DenseMatrix`
[INFO] [stdout]  --> src/flags/dbscan.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use smartcore::linalg::naive::dense_matrix::DenseMatrix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::math::distance::Distances`
[INFO] [stdout]  --> src/flags/dbscan.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use smartcore::math::distance::Distances;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `accuracy`, `mean_absolute_error`
[INFO] [stdout]  --> src/flags/dbscan.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use smartcore::metrics::{accuracy, mean_absolute_error};
[INFO] [stdout]   |                          ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::model_selection::train_test_split`
[INFO] [stdout]  --> src/flags/dbscan.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use smartcore::model_selection::train_test_split;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algo_params_as_str`
[INFO] [stdout]   --> src/flags/dbscan.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{algo_params_as_str, KNNDistance};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::linalg::BaseMatrix`
[INFO] [stdout]   --> src/flags/dbscan.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use smartcore::linalg::BaseMatrix;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/digits.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Formatter`
[INFO] [stdout]  --> src/digits.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Formatter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/digits.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KMeansParameters`, `KMeans`
[INFO] [stdout]  --> src/digits.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use smartcore::cluster::kmeans::{KMeans, KMeansParameters};
[INFO] [stdout]   |                                  ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dataset`
[INFO] [stdout]  --> src/digits.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use smartcore::dataset::{Dataset, digits};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `completeness_score`, `homogeneity_score`, `v_measure_score`
[INFO] [stdout]  --> src/digits.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 | use smartcore::metrics::{completeness_score, homogeneity_score, v_measure_score};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iris_results`
[INFO] [stdout]   --> src/main.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let iris_results = iris::run()
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iris_results`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag_recs`
[INFO] [stdout]    --> src/flags/mod.rs:177:10
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let (flag_recs, ds) = flag::load_dataset_tgt_religion(FLAG_DATASET)?;
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flag_recs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag_recs`
[INFO] [stdout]    --> src/flags/mod.rs:197:10
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let (flag_recs, ds) = flag::load_dataset_tgt_language(FLAG_DATASET)?;
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flag_recs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opt_params`
[INFO] [stdout]   --> src/flags/random_forest.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let opt_params = RandomForestClassifierParameters {
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opt_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/flags/knn_classifier.rs:169:33
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn run_algorithm(&mut self, weight: KNNWeightFunction) -> Result<(), DatasetParseError> {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/flags/dbscan.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 let params = DBScanParams::new(0.5, dist, algo);
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/flags/mod.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let mut results = Vec::<MLResult>::new();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/flags/knn_classifier.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 let mut params = KNNClassifierParameters::default()
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/flags/decision_tree_classifier.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut params = DecisionTreeClassifierParameters::default()
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/flags/dbscan.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let mut dbscan_run = DBScanRun::new(ds);
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/iris/mod.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let mut results = Vec::<MLResult>::new();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_classify`
[INFO] [stdout]   --> src/boston.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn knn_classify(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_regression`
[INFO] [stdout]   --> src/boston.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn knn_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `linear_regression`
[INFO] [stdout]   --> src/boston.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn linear_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `logistic_regression`
[INFO] [stdout]   --> src/boston.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn logistic_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `gaussianNB`
[INFO] [stdout]    --> src/boston.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `categoricalNB`
[INFO] [stdout]    --> src/boston.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multinomialNB`
[INFO] [stdout]    --> src/boston.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]    --> src/boston.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub(crate) fn run() -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `WINE_DATASET_SAMPLES_SIZE`
[INFO] [stdout]  --> src/dataset/wine.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | const WINE_DATASET_SAMPLES_SIZE: usize = 178;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `WINE_DATASET_NO_FEATURES`
[INFO] [stdout]  --> src/dataset/wine.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | const WINE_DATASET_NO_FEATURES: usize = 13;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `features`
[INFO] [stdout]   --> src/dataset/wine.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn features(&self) -> [f32;13] {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `target`
[INFO] [stdout]   --> src/dataset/wine.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn target(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_data_file`
[INFO] [stdout]   --> src/dataset/wine.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn parse_data_file(data_file: &str) -> Result<Vec<WineRecord>, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `load_dataset`
[INFO] [stdout]    --> src/dataset/wine.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) fn load_dataset(data_file: &str) -> Result<Dataset<f32, f32>, DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `features`
[INFO] [stdout]   --> src/dataset/wine_quality.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn features(&self) -> [f32; 11] {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `target`
[INFO] [stdout]   --> src/dataset/wine_quality.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn target(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_data_file`
[INFO] [stdout]   --> src/dataset/wine_quality.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn parse_data_file(data_file: &str) -> Result<(Vec<String>, Vec<WineQuality>), DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `load_dataset`
[INFO] [stdout]   --> src/dataset/wine_quality.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn load_dataset(data_file: &str) -> Result<Dataset<f32, f32>, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `load_red_dataset`
[INFO] [stdout]    --> src/dataset/wine_quality.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub(crate) fn load_red_dataset() -> Result<Dataset<f32, f32>, DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `load_white_dataset`
[INFO] [stdout]    --> src/dataset/wine_quality.rs:134:15
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub(crate) fn load_white_dataset() -> Result<Dataset<f32, f32>, DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `FEATURE_TGT_RELIGION`
[INFO] [stdout]   --> src/dataset/flag.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub(crate) const FEATURE_TGT_RELIGION: [&str; 22] = [
[INFO] [stdout] 13 | |     "landmass", "language", "bars", "stripes", "colours", "red",
[INFO] [stdout] 14 | |     "green", "blue", "gold", "white",
[INFO] [stdout] 15 | |     "black", "orange", "mainhue", "circles",
[INFO] [stdout] 16 | |     "crosses", "saltires", "sunstars", "crescent",
[INFO] [stdout] 17 | |     "triangle", "icon", "topleft", "botright"
[INFO] [stdout] 18 | | ];
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `TGT_RELIGION`
[INFO] [stdout]   --> src/dataset/flag.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const TGT_RELIGION: [&str; 1] = ["religion"];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `FEATURE_TGT_LANGUAGE`
[INFO] [stdout]   --> src/dataset/flag.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub(crate) const FEATURE_TGT_LANGUAGE: [&str; 22] = [
[INFO] [stdout] 23 | |     "landmass", "religion", "bars", "stripes", "colours", "red",
[INFO] [stdout] 24 | |     "green", "blue", "gold", "white",
[INFO] [stdout] 25 | |     "black", "orange", "mainhue", "circles",
[INFO] [stdout] 26 | |     "crosses", "saltires", "sunstars", "crescent",
[INFO] [stdout] 27 | |     "triangle", "icon", "topleft", "botright"
[INFO] [stdout] 28 | | ];
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `TGT_LANGUAGE`
[INFO] [stdout]   --> src/dataset/flag.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(crate) const TGT_LANGUAGE: [&str; 1] = ["language"];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `features_tgt_religion`
[INFO] [stdout]    --> src/dataset/flag.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn features_tgt_religion(&self) -> [f32; 22] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `tgt_religion`
[INFO] [stdout]    --> src/dataset/flag.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn tgt_religion(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `features_tgt_language`
[INFO] [stdout]    --> src/dataset/flag.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn features_tgt_language(&self) -> [f32; 22] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `tgt_language`
[INFO] [stdout]    --> src/dataset/flag.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 |     fn tgt_language(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `country`
[INFO] [stdout]    --> src/dataset/flag.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn country(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_data_file`
[INFO] [stdout]    --> src/dataset/flag.rs:220:4
[INFO] [stdout]     |
[INFO] [stdout] 220 | fn parse_data_file(data_file: &str) -> Result<Vec<Flag>, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `load_dataset_tgt_religion`
[INFO] [stdout]    --> src/dataset/flag.rs:269:15
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub(crate) fn load_dataset_tgt_religion(data_file: &str) -> Result<(Vec<Flag>, Dataset<f32, f32>), DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `load_dataset_tgt_language`
[INFO] [stdout]    --> src/dataset/flag.rs:302:15
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub(crate) fn load_dataset_tgt_language(data_file: &str) -> Result<(Vec<Flag>, Dataset<f32, f32>), DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `FLAG_DATASET`
[INFO] [stdout]   --> src/dataset/mod.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) const FLAG_DATASET: &str = "./datasets/flags/flag.data";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `WINE_DATASET`
[INFO] [stdout]   --> src/dataset/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const WINE_DATASET: &str = "./datasets/wine/class/wine.data";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `WINE_RED_QUALITY_DATASET`
[INFO] [stdout]   --> src/dataset/mod.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) const WINE_RED_QUALITY_DATASET: &str = "./datasets/wine/quality/winequality-red.csv";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `WINE_WHITE_QUALITY_DATASET`
[INFO] [stdout]   --> src/dataset/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) const WINE_WHITE_QUALITY_DATASET: &str = "./datasets/wine/quality/winequality-white.csv";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `TrainTestDataset`
[INFO] [stdout]   --> src/dataset/mod.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct TrainTestDataset<'a> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/dataset/mod.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub(crate) fn new(ds: &'a Dataset<f32, f32>) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_classify`
[INFO] [stdout]   --> src/wine.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn knn_classify(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_regression`
[INFO] [stdout]   --> src/wine.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn knn_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `linear_regression`
[INFO] [stdout]   --> src/wine.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn linear_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `logistic_regression`
[INFO] [stdout]   --> src/wine.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn logistic_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `gaussianNB`
[INFO] [stdout]    --> src/wine.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `categoricalNB`
[INFO] [stdout]    --> src/wine.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multinomialNB`
[INFO] [stdout]    --> src/wine.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `tree_classifier`
[INFO] [stdout]    --> src/wine.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn tree_classifier(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `random_forest_classifier`
[INFO] [stdout]    --> src/wine.rs:217:4
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn random_forest_classifier(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]    --> src/wine.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub(crate) fn run() -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_classify`
[INFO] [stdout]   --> src/wine_quality.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn knn_classify(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_regression`
[INFO] [stdout]   --> src/wine_quality.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn knn_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `logistic_regression`
[INFO] [stdout]   --> src/wine_quality.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn logistic_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `linear_regression`
[INFO] [stdout]   --> src/wine_quality.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn linear_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `gaussianNB`
[INFO] [stdout]    --> src/wine_quality.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `categoricalNB`
[INFO] [stdout]    --> src/wine_quality.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multinomialNB`
[INFO] [stdout]    --> src/wine_quality.rs:164:4
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run_red`
[INFO] [stdout]    --> src/wine_quality.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub(crate) fn run_red() -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run_white`
[INFO] [stdout]    --> src/wine_quality.rs:207:15
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub(crate) fn run_white() -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `mae`
[INFO] [stdout]  --> src/results.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     mae: f32,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `mse`
[INFO] [stdout]  --> src/results.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     mse: f32,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `name`
[INFO] [stdout]   --> src/results.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) fn name(&self) -> String {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_name`
[INFO] [stdout]   --> src/results.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub(crate) fn set_name(&mut self, name: String) {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `acc`
[INFO] [stdout]   --> src/results.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) fn acc(&self) -> f32 {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mae`
[INFO] [stdout]   --> src/results.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub(crate) fn mae(&self) -> f32 {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mse`
[INFO] [stdout]   --> src/results.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub(crate) fn mse(&self) -> f32 {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `show`
[INFO] [stdout]   --> src/results.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) fn show(results: Vec<MLResult>) {
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `random_forest_params_as_str`
[INFO] [stdout]   --> src/flags/random_forest.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn random_forest_params_as_str(params: &RandomForestClassifierParameters) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `train_and_test`
[INFO] [stdout]   --> src/flags/random_forest.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn train_and_test(ds: &Dataset<f32, f32>, params: RandomForestClassifierParameters)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `tweak_no_trees`
[INFO] [stdout]   --> src/flags/random_forest.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn tweak_no_trees(ds: &Dataset<f32, f32>, criterion: &SplitCriterion)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]   --> src/flags/random_forest.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub(crate) fn run(ds: &Dataset<f32, f32>) -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `KNNClassifierRun`
[INFO] [stdout]   --> src/flags/knn_classifier.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct KNNClassifierRun<'a> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/flags/knn_classifier.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn new(ds: &'a Dataset<f32, f32>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_result`
[INFO] [stdout]   --> src/flags/knn_classifier.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn add_result(&mut self, res: MLResult) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `predict`
[INFO] [stdout]   --> src/flags/knn_classifier.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn predict(&mut self,
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `train_and_test`
[INFO] [stdout]    --> src/flags/knn_classifier.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn train_and_test(&mut self, distance: KNNDistance, algorithm: &KNNAlgorithmName)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run_distance`
[INFO] [stdout]    --> src/flags/knn_classifier.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn run_distance(&mut self, algorithm: KNNAlgorithmName) -> Result<(), DatasetParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run_algorithm`
[INFO] [stdout]    --> src/flags/knn_classifier.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn run_algorithm(&mut self, weight: KNNWeightFunction) -> Result<(), DatasetParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run_weight`
[INFO] [stdout]    --> src/flags/knn_classifier.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn run_weight(&mut self) -> Result<(), DatasetParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]    --> src/flags/knn_classifier.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn run(ds: &Dataset<f32, f32>) -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `params_as_str`
[INFO] [stdout]   --> src/flags/decision_tree_classifier.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn params_as_str(params: &DecisionTreeClassifierParameters) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `train_and_test`
[INFO] [stdout]   --> src/flags/decision_tree_classifier.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn train_and_test(ds: &Dataset<f32, f32>, criterion: &SplitCriterion)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]   --> src/flags/decision_tree_classifier.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub(crate) fn run(ds: &Dataset<f32, f32>) -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `MAX_ITERATIONS`
[INFO] [stdout]   --> src/flags/kmeans.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | const MAX_ITERATIONS: [usize;6] = [50, 75, 100, 125, 150, 175];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]   --> src/flags/kmeans.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) fn run(ds: &Dataset<f32,f32>) {
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/flags/dbscan.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn new(eps: f32, distance: &'a KNNDistance, algorithm: &'a KNNAlgorithmName) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `inc_eps`
[INFO] [stdout]   --> src/flags/dbscan.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn inc_eps(&mut self, inc: f32) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `DBScanRun`
[INFO] [stdout]   --> src/flags/dbscan.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct DBScanRun<'a> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/flags/dbscan.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn new(ds: &'a Dataset<f32, f32>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_result`
[INFO] [stdout]   --> src/flags/dbscan.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn add_result(&mut self, res: MLResult) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run`
[INFO] [stdout]    --> src/flags/dbscan.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn run(&mut self) -> Result<(), DatasetParseError> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]    --> src/flags/dbscan.rs:166:15
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub(crate) fn run(ds: &Dataset<f32, f32>) -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `validate_predict`
[INFO] [stdout]   --> src/flags/mod.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn validate_predict(ds: &Dataset<f32, f32>, p: &Vec<f32>, flag_recs: &Vec<Flag>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_regression`
[INFO] [stdout]   --> src/flags/mod.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn knn_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `logistic_regression`
[INFO] [stdout]   --> src/flags/mod.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn logistic_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `gaussianNB`
[INFO] [stdout]   --> src/flags/mod.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `categoricalNB`
[INFO] [stdout]    --> src/flags/mod.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multinomialNB`
[INFO] [stdout]    --> src/flags/mod.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run_predict_religion`
[INFO] [stdout]    --> src/flags/mod.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub(crate) fn run_predict_religion() -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run_predict_language`
[INFO] [stdout]    --> src/flags/mod.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub(crate) fn run_predict_language() -> Result<Vec<MLResult>, DatasetParseError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]   --> src/digits.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn run() {
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_classify`
[INFO] [stdout]   --> src/iris/mod.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn knn_classify(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `knn_regression`
[INFO] [stdout]   --> src/iris/mod.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn knn_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `linear_regression`
[INFO] [stdout]   --> src/iris/mod.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn linear_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `logistic_regression`
[INFO] [stdout]   --> src/iris/mod.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn logistic_regression(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `gaussianNB`
[INFO] [stdout]   --> src/iris/mod.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `categoricalNB`
[INFO] [stdout]    --> src/iris/mod.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multinomialNB`
[INFO] [stdout]    --> src/iris/mod.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `tree_classifier`
[INFO] [stdout]    --> src/iris/mod.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn tree_classifier(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `random_forest_classifier`
[INFO] [stdout]    --> src/iris/mod.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn random_forest_classifier(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Euclidean`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Euclidean,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Hamming`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Hamming,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Manhattan`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Manhattan,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `TRAINING_TEST_SIZE_RATIO`
[INFO] [stdout]   --> src/main.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) const TRAINING_TEST_SIZE_RATIO: f32 = 0.7; // train=30%; test=70%
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `MAX_NO_CHANGES`
[INFO] [stdout]   --> src/main.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub(crate) const MAX_NO_CHANGES: usize = 10;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `algo_params_as_str`
[INFO] [stdout]   --> src/main.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn algo_params_as_str(distance: &KNNDistance,
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gaussianNB` should have a snake case name
[INFO] [stdout]    --> src/boston.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to snake case: `gaussian_nb`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `categoricalNB` should have a snake case name
[INFO] [stdout]    --> src/boston.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `categorical_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multinomialNB` should have a snake case name
[INFO] [stdout]    --> src/boston.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `multinomial_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pH` should have a snake case name
[INFO] [stdout]   --> src/dataset/wine_quality.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pH: f32,
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `p_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pH` should have a snake case name
[INFO] [stdout]   --> src/dataset/wine_quality.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let pH = attrs[8].parse::<f32>()?;
[INFO] [stdout]    |                     ^^ help: convert the identifier to snake case: `p_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gaussianNB` should have a snake case name
[INFO] [stdout]    --> src/wine.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to snake case: `gaussian_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `categoricalNB` should have a snake case name
[INFO] [stdout]    --> src/wine.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `categorical_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multinomialNB` should have a snake case name
[INFO] [stdout]    --> src/wine.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `multinomial_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gaussianNB` should have a snake case name
[INFO] [stdout]    --> src/wine_quality.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to snake case: `gaussian_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `categoricalNB` should have a snake case name
[INFO] [stdout]    --> src/wine_quality.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `categorical_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multinomialNB` should have a snake case name
[INFO] [stdout]    --> src/wine_quality.rs:164:4
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `multinomial_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gaussianNB` should have a snake case name
[INFO] [stdout]   --> src/flags/mod.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^ help: convert the identifier to snake case: `gaussian_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `categoricalNB` should have a snake case name
[INFO] [stdout]    --> src/flags/mod.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `categorical_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multinomialNB` should have a snake case name
[INFO] [stdout]    --> src/flags/mod.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `multinomial_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gaussianNB` should have a snake case name
[INFO] [stdout]   --> src/iris/mod.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn gaussianNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^ help: convert the identifier to snake case: `gaussian_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `categoricalNB` should have a snake case name
[INFO] [stdout]    --> src/iris/mod.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn categoricalNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `categorical_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multinomialNB` should have a snake case name
[INFO] [stdout]    --> src/iris/mod.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn multinomialNB(ds: &Dataset<f32, f32>) -> Result<MLResult, DatasetParseError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `multinomial_nb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 173 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "938f52eec5c3a4a835a687b67ac8c44230a1938b6475589b4e9453bfc4895687", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "938f52eec5c3a4a835a687b67ac8c44230a1938b6475589b4e9453bfc4895687", kill_on_drop: false }`
[INFO] [stdout] 938f52eec5c3a4a835a687b67ac8c44230a1938b6475589b4e9453bfc4895687
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 177f8f6b9925150ea672c4c274b610ba597aa66d968f18b73c07f25ce684ced1
[INFO] running `Command { std: "docker" "start" "-a" "177f8f6b9925150ea672c4c274b610ba597aa66d968f18b73c07f25ce684ced1", kill_on_drop: false }`
[INFO] [stderr]    Compiling ml-smart v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `MLResult`, `show`
[INFO] [stdout]  --> src/main.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::results::{MLResult, show};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prettytable::Table`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use prettytable::Table;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::results::MLResult`
[INFO] [stdout]  --> src/dataset/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::results::MLResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dataset`
[INFO] [stdout]    --> src/dataset/wine.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |     use super::{Dataset, load_dataset};
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::ensemble::random_forest_classifier::RandomForestClassifier`
[INFO] [stdout]  --> src/flags/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use smartcore::ensemble::random_forest_classifier::RandomForestClassifier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `knn_classifier::KNNClassifier`
[INFO] [stdout]   --> src/flags/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     knn_classifier::KNNClassifier,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::tree::decision_tree_classifier::DecisionTreeClassifier`
[INFO] [stdout]   --> src/flags/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use smartcore::tree::decision_tree_classifier::DecisionTreeClassifier;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataset::flag::Flag`
[INFO] [stdout]   --> src/flags/random_forest.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::dataset::flag::Flag;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::flags::validate_predict`
[INFO] [stdout]   --> src/flags/random_forest.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::flags::validate_predict;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `euclidian::Euclidian`, `hamming::Hamming`, `manhattan::Manhattan`
[INFO] [stdout]  --> src/flags/knn_classifier.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     euclidian::Euclidian,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     hamming::Hamming,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     manhattan::Manhattan,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::neighbors::knn_regressor::KNNRegressor`
[INFO] [stdout]   --> src/flags/knn_classifier.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use smartcore::neighbors::knn_regressor::KNNRegressor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flags::knn_regression`
[INFO] [stdout]   --> src/flags/knn_classifier.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     flags::knn_regression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataset::flag::Flag`
[INFO] [stdout]   --> src/flags/decision_tree_classifier.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::dataset::flag::Flag;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::flags::validate_predict`
[INFO] [stdout]   --> src/flags/decision_tree_classifier.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::flags::validate_predict;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KMeansParameters`, `KMeans`
[INFO] [stdout]  --> src/flags/kmeans.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use smartcore::cluster::kmeans::{KMeans, KMeansParameters};
[INFO] [stdout]   |                                  ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digits`
[INFO] [stdout]  --> src/flags/kmeans.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use smartcore::dataset::{Dataset, digits};
[INFO] [stdout]   |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `accuracy`, `completeness_score`, `homogeneity_score`, `mean_absolute_error`
[INFO] [stdout]  --> src/flags/kmeans.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use smartcore::metrics::{accuracy, mean_absolute_error, completeness_score, homogeneity_score};
[INFO] [stdout]   |                          ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataset::DatasetParseError`
[INFO] [stdout]  --> src/flags/kmeans.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::dataset::DatasetParseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MLResult`
[INFO] [stdout]  --> src/flags/kmeans.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::results::{MLResult, best_k, KMeansResult};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DBSCANParameters`, `DBSCAN`
[INFO] [stdout]  --> src/flags/dbscan.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use smartcore::cluster::dbscan::{DBSCAN, DBSCANParameters};
[INFO] [stdout]   |                                  ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::linalg::naive::dense_matrix::DenseMatrix`
[INFO] [stdout]  --> src/flags/dbscan.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use smartcore::linalg::naive::dense_matrix::DenseMatrix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::math::distance::Distances`
[INFO] [stdout]  --> src/flags/dbscan.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use smartcore::math::distance::Distances;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `accuracy`, `mean_absolute_error`
[INFO] [stdout]  --> src/flags/dbscan.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use smartcore::metrics::{accuracy, mean_absolute_error};
[INFO] [stdout]   |                          ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::model_selection::train_test_split`
[INFO] [stdout]  --> src/flags/dbscan.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use smartcore::model_selection::train_test_split;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `algo_params_as_str`
[INFO] [stdout]   --> src/flags/dbscan.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{algo_params_as_str, KNNDistance};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smartcore::linalg::BaseMatrix`
[INFO] [stdout]   --> src/flags/dbscan.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use smartcore::linalg::BaseMatrix;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/digits.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Formatter`
[INFO] [stdout]  --> src/digits.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Formatter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/digits.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KMeansParameters`, `KMeans`
[INFO] [stdout]  --> src/digits.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use smartcore::cluster::kmeans::{KMeans, KMeansParameters};
[INFO] [stdout]   |                                  ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dataset`
[INFO] [stdout]  --> src/digits.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use smartcore::dataset::{Dataset, digits};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `completeness_score`, `homogeneity_score`, `v_measure_score`
[INFO] [stdout]  --> src/digits.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 | use smartcore::metrics::{completeness_score, homogeneity_score, v_measure_score};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `data` on type `(Vec<Flag>, Dataset<f32, f32>)`
[INFO] [stdout]    --> src/dataset/flag.rs:347:23
[INFO] [stdout]     |
[INFO] [stdout] 347 |         assert_eq!(ds.data.len(), FLAG_DATASET_SAMPLES_SIZE * FLAG_DATASET_NO_FEATURES);
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `target` on type `(Vec<Flag>, Dataset<f32, f32>)`
[INFO] [stdout]    --> src/dataset/flag.rs:348:23
[INFO] [stdout]     |
[INFO] [stdout] 348 |         assert_eq!(ds.target.len(), FLAG_DATASET_SAMPLES_SIZE);
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `data` on type `(Vec<Flag>, Dataset<f32, f32>)`
[INFO] [stdout]    --> src/dataset/flag.rs:351:23
[INFO] [stdout]     |
[INFO] [stdout] 351 |         assert_eq!(ds.data[0], 0.0);
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `data` on type `(Vec<Flag>, Dataset<f32, f32>)`
[INFO] [stdout]    --> src/dataset/flag.rs:353:23
[INFO] [stdout]     |
[INFO] [stdout] 353 |         assert_eq!(ds.data[(FLAG_DATASET_SAMPLES_SIZE - 1) * FLAG_DATASET_NO_FEATURES], 0.0);
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0609`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ml-smart`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "177f8f6b9925150ea672c4c274b610ba597aa66d968f18b73c07f25ce684ced1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "177f8f6b9925150ea672c4c274b610ba597aa66d968f18b73c07f25ce684ced1", kill_on_drop: false }`
[INFO] [stdout] 177f8f6b9925150ea672c4c274b610ba597aa66d968f18b73c07f25ce684ced1
