[INFO] updating cached repository https://github.com/LambdaAK/SimpleML
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }`
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 16e2758447be231c39180893ad27307f7268b8a7
[INFO] testing LambdaAK/SimpleML/16e2758447be231c39180893ad27307f7268b8a7 against beta-2026-01-20 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLambdaAK%2FSimpleML" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/LambdaAK/SimpleML
[INFO] finished tweaking git repo https://github.com/LambdaAK/SimpleML
[INFO] tweaked toml for git repo https://github.com/LambdaAK/SimpleML written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/LambdaAK/SimpleML on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/LambdaAK/SimpleML 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" "+beta-2026-01-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 948aaf584a7f185f3d7cf3bdc54ff5ebae2c3a79849656e7bb88ebb3191eae22
[INFO] running `Command { std: "docker" "start" "-a" "948aaf584a7f185f3d7cf3bdc54ff5ebae2c3a79849656e7bb88ebb3191eae22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "948aaf584a7f185f3d7cf3bdc54ff5ebae2c3a79849656e7bb88ebb3191eae22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "948aaf584a7f185f3d7cf3bdc54ff5ebae2c3a79849656e7bb88ebb3191eae22", kill_on_drop: false }`
[INFO] [stdout] 948aaf584a7f185f3d7cf3bdc54ff5ebae2c3a79849656e7bb88ebb3191eae22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "RUSTDOCFLAGS=--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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f6122b6e1f0c666db8e10b3e482285dec31141b3099e2119e4b8ae52e546a6ef
[INFO] running `Command { std: "docker" "start" "-a" "f6122b6e1f0c666db8e10b3e482285dec31141b3099e2119e4b8ae52e546a6ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.72
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ml-library v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `matrix`
[INFO] [stdout]  --> src/matrix.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | macro_rules! matrix {
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logistic_regression::LogisticRegression`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use logistic_regression::LogisticRegression;
[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: `lr::LinearRegression`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use lr::LinearRegression;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::Expr`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use math::Expr;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Kernel`
[INFO] [stdout]  --> src/main.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use matrix::{ColVec, Kernel};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::matrix::Matrix`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::matrix::Matrix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::perceptron::Perceptron`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::perceptron::Perceptron;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/KNN.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]   --> src/main.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `matrix`
[INFO] [stdout]   --> src/main.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | macro_rules! matrix {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `row_vec`
[INFO] [stdout]   --> src/main.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 | macro_rules! row_vec {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `col_vec`
[INFO] [stdout]   --> src/main.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 | macro_rules! col_vec {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_rows`
[INFO] [stdout]   --> src/perceptron.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let num_rows: usize = x.rows();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_rows`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/math.rs:444:23
[INFO] [stdout]     |
[INFO] [stdout] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/math.rs:444:26
[INFO] [stdout]     |
[INFO] [stdout] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/math.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_rows`
[INFO] [stdout]   --> src/SVM.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let num_rows: usize = x.rows();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_cols`
[INFO] [stdout]   --> src/SVM.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let num_cols: usize = x.cols();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `all_same` is assigned to, but never used
[INFO] [stdout]    --> src/DecisionTree.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut all_same = true;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_all_same` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `all_same` is never read
[INFO] [stdout]    --> src/DecisionTree.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         all_same = false;
[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: struct `Kernel` is never constructed
[INFO] [stdout]   --> src/matrix.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Kernel {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `eval` are never used
[INFO] [stdout]   --> src/matrix.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl Kernel {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 83 |     pub fn new(kernel: Box<dyn Fn(&ColVec, &ColVec) -> f64>) -> Kernel {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn eval(&self, x: &ColVec, y: &ColVec) -> f64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `linear`, `polynomial`, and `rbf` are never used
[INFO] [stdout]    --> src/matrix.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl Kernel {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout]  95 |     pub fn linear() -> Kernel {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn polynomial(degree: i32) -> Kernel {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn rbf(sigma: f64) -> Kernel {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EigenSpace` is never constructed
[INFO] [stdout]    --> src/matrix.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct EigenSpace {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Perceptron` is never constructed
[INFO] [stdout]  --> src/perceptron.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Perceptron {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `train`, and `predict` are never used
[INFO] [stdout]    --> src/perceptron.rs:22:10
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Perceptron {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  22 |   pub fn new(x: Matrix, y: Matrix) -> Perceptron {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |   fn train(&mut self, x: Matrix, y: Matrix, max_epochs: usize) {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |   pub fn predict(&self, x: &Matrix) -> Matrix {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n` is never used
[INFO] [stdout]    --> src/math.rs:633:8
[INFO] [stdout]     |
[INFO] [stdout] 633 | pub fn n(n: f64) -> Expr {
[INFO] [stdout]     |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `e` is never used
[INFO] [stdout]    --> src/math.rs:637:8
[INFO] [stdout]     |
[INFO] [stdout] 637 | pub fn e() -> Expr {
[INFO] [stdout]     |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pi` is never used
[INFO] [stdout]    --> src/math.rs:641:8
[INFO] [stdout]     |
[INFO] [stdout] 641 | pub fn pi() -> Expr {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ln` is never used
[INFO] [stdout]    --> src/math.rs:645:8
[INFO] [stdout]     |
[INFO] [stdout] 645 | pub fn ln(x: Expr) -> Expr {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relu` is never used
[INFO] [stdout]    --> src/math.rs:649:8
[INFO] [stdout]     |
[INFO] [stdout] 649 | pub fn relu(x: Expr) -> Expr {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relu_prime` is never used
[INFO] [stdout]    --> src/math.rs:653:8
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub fn relu_prime(x: Expr) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max` is never used
[INFO] [stdout]    --> src/math.rs:657:8
[INFO] [stdout]     |
[INFO] [stdout] 657 | pub fn max(x: Expr, y: Expr) -> Expr {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var` is never used
[INFO] [stdout]    --> src/math.rs:661:8
[INFO] [stdout]     |
[INFO] [stdout] 661 | pub fn var(v: &str) -> Expr {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/token.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_to_fun` is never used
[INFO] [stdout]   --> src/token.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn str_to_fun(s: &str) -> Option<FunctionToken> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_to_const` is never used
[INFO] [stdout]   --> src/token.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn str_to_const(s: &str) -> Option<ConstantToken> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUNCTION_NAMES` is never used
[INFO] [stdout]   --> src/token.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const FUNCTION_NAMES: [&str; 2] = ["ln", "relu"];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FunctionToken` is never used
[INFO] [stdout]   --> src/token.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum FunctionToken {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_single_token` is never used
[INFO] [stdout]    --> src/token.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn lex_single_token(input: &[char]) -> (Token, &[char]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_tokens` is never used
[INFO] [stdout]    --> src/token.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn lex_tokens(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `function_token_to_fun` is never used
[INFO] [stdout]  --> src/parser.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn function_token_to_fun(token: &FunctionToken) -> UnaryFun {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l5` is never used
[INFO] [stdout]   --> src/parser.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn parse_l5 (tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l4` is never used
[INFO] [stdout]   --> src/parser.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn parse_l4(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l3` is never used
[INFO] [stdout]   --> src/parser.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn parse_l3(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l2` is never used
[INFO] [stdout]   --> src/parser.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn parse_l2(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l1` is never used
[INFO] [stdout]   --> src/parser.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn parse_l1 (tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KNN` is never constructed
[INFO] [stdout]  --> src/KNN.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct KNN {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sort_labels_by_floats`, and `predict` are never used
[INFO] [stdout]   --> src/KNN.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl KNN {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn new(k: i32, x: Matrix, y: Matrix) -> KNN {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |   fn sort_labels_by_floats(labels: Vec<f64>, distances: Vec<f64>) -> Vec<f64> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinearRegression` is never constructed
[INFO] [stdout]  --> src/lr.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct LinearRegression {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_closed`, `new_optim`, and `predict` are never used
[INFO] [stdout]    --> src/lr.rs:19:10
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl LinearRegression {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  19 |   pub fn new_closed(x: Matrix, y: Matrix) -> LinearRegression {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |   pub fn new_optim(x: Matrix, y: Matrix, lr: f64, iter: i32) -> LinearRegression {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Optim` is never constructed
[INFO] [stdout]  --> src/optim.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Optim {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `optimize` are never used
[INFO] [stdout]   --> src/optim.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Optim {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |   pub fn new(learning_rate: f64, max_iter: i32) -> Optim {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub fn optimize(&self, f: &Expr) -> ColVec {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogisticRegression` is never constructed
[INFO] [stdout]  --> src/logistic_regression.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct LogisticRegression {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compute_loss_function`, `new`, `sigmoid`, and `predict` are never used
[INFO] [stdout]    --> src/logistic_regression.rs:11:6
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl LogisticRegression {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  11 |   fn compute_loss_function(x: Matrix, y: Matrix, lambda: f64) -> Expr {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |   pub fn new(x: Matrix, y: Matrix, lambda: f64) -> LogisticRegression {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |   fn sigmoid(z: f64) -> f64 {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SVM` is never constructed
[INFO] [stdout]  --> src/SVM.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SVM {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_loss_function` is never used
[INFO] [stdout]   --> src/SVM.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SVM {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 11 |   pub fn compute_loss_function(x: Matrix, y: Matrix, C: f64) -> Expr {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `predict` are never used
[INFO] [stdout]    --> src/SVM.rs:63:10
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl SVM {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  62 |
[INFO] [stdout]  63 |   pub fn new (x: Matrix, y: Matrix, C: f64) -> SVM {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KernelPerceptron` is never constructed
[INFO] [stdout]  --> src/KernelPerceptron.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct KernelPerceptron {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `predict` are never used
[INFO] [stdout]   --> src/KernelPerceptron.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl KernelPerceptron {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 12 |   pub fn new(x: Matrix, y: ColVec, kernel: Kernel) -> KernelPerceptron {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   pub fn predict(&self, x: ColVec) -> f64 {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `KNN` should have a snake case name
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | mod KNN;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `knn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `SVM` should have a snake case name
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | mod SVM;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `svm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `NN` should have a snake case name
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | mod NN;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `nn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `KernelPerceptron` should have a snake case name
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | mod KernelPerceptron;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `kernel_perceptron`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DecisionTree` should have a snake case name
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | mod DecisionTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `decision_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]   --> src/SVM.rs:11:54
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub fn compute_loss_function(x: Matrix, y: Matrix, C: f64) -> Expr {
[INFO] [stdout]    |                                                      ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]   --> src/SVM.rs:63:37
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn new (x: Matrix, y: Matrix, C: f64) -> SVM {
[INFO] [stdout]    |                                     ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.66s
[INFO] running `Command { std: "docker" "inspect" "f6122b6e1f0c666db8e10b3e482285dec31141b3099e2119e4b8ae52e546a6ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6122b6e1f0c666db8e10b3e482285dec31141b3099e2119e4b8ae52e546a6ef", kill_on_drop: false }`
[INFO] [stdout] f6122b6e1f0c666db8e10b3e482285dec31141b3099e2119e4b8ae52e546a6ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "RUSTDOCFLAGS=--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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 64fca661cf8b8f344f5ba61c03509216d100bff3947fd0cd527833673dc1d3c8
[INFO] running `Command { std: "docker" "start" "-a" "64fca661cf8b8f344f5ba61c03509216d100bff3947fd0cd527833673dc1d3c8", kill_on_drop: false }`
[INFO] [stderr]    Compiling ml-library v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `logistic_regression::LogisticRegression`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use logistic_regression::LogisticRegression;
[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: `lr::LinearRegression`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use lr::LinearRegression;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::Expr`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use math::Expr;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Kernel`
[INFO] [stdout]  --> src/main.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use matrix::{ColVec, Kernel};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::matrix::Matrix`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::matrix::Matrix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::perceptron::Perceptron`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::perceptron::Perceptron;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/KNN.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]   --> src/main.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `matrix`
[INFO] [stdout]   --> src/main.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | macro_rules! matrix {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `row_vec`
[INFO] [stdout]   --> src/main.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 | macro_rules! row_vec {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `col_vec`
[INFO] [stdout]   --> src/main.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 | macro_rules! col_vec {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_rows`
[INFO] [stdout]   --> src/perceptron.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let num_rows: usize = x.rows();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_rows`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/math.rs:444:23
[INFO] [stdout]     |
[INFO] [stdout] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/math.rs:444:26
[INFO] [stdout]     |
[INFO] [stdout] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/math.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_rows`
[INFO] [stdout]   --> src/SVM.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let num_rows: usize = x.rows();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_cols`
[INFO] [stdout]   --> src/SVM.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let num_cols: usize = x.cols();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `all_same` is assigned to, but never used
[INFO] [stdout]    --> src/DecisionTree.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut all_same = true;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_all_same` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `all_same` is never read
[INFO] [stdout]    --> src/DecisionTree.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         all_same = false;
[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: struct `Kernel` is never constructed
[INFO] [stdout]   --> src/matrix.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Kernel {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `eval` are never used
[INFO] [stdout]   --> src/matrix.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl Kernel {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 83 |     pub fn new(kernel: Box<dyn Fn(&ColVec, &ColVec) -> f64>) -> Kernel {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn eval(&self, x: &ColVec, y: &ColVec) -> f64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `linear`, `polynomial`, and `rbf` are never used
[INFO] [stdout]    --> src/matrix.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl Kernel {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout]  95 |     pub fn linear() -> Kernel {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn polynomial(degree: i32) -> Kernel {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn rbf(sigma: f64) -> Kernel {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EigenSpace` is never constructed
[INFO] [stdout]    --> src/matrix.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct EigenSpace {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Perceptron` is never constructed
[INFO] [stdout]  --> src/perceptron.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Perceptron {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `train`, and `predict` are never used
[INFO] [stdout]    --> src/perceptron.rs:22:10
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Perceptron {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  22 |   pub fn new(x: Matrix, y: Matrix) -> Perceptron {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |   fn train(&mut self, x: Matrix, y: Matrix, max_epochs: usize) {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |   pub fn predict(&self, x: &Matrix) -> Matrix {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n` is never used
[INFO] [stdout]    --> src/math.rs:633:8
[INFO] [stdout]     |
[INFO] [stdout] 633 | pub fn n(n: f64) -> Expr {
[INFO] [stdout]     |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `e` is never used
[INFO] [stdout]    --> src/math.rs:637:8
[INFO] [stdout]     |
[INFO] [stdout] 637 | pub fn e() -> Expr {
[INFO] [stdout]     |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pi` is never used
[INFO] [stdout]    --> src/math.rs:641:8
[INFO] [stdout]     |
[INFO] [stdout] 641 | pub fn pi() -> Expr {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ln` is never used
[INFO] [stdout]    --> src/math.rs:645:8
[INFO] [stdout]     |
[INFO] [stdout] 645 | pub fn ln(x: Expr) -> Expr {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relu` is never used
[INFO] [stdout]    --> src/math.rs:649:8
[INFO] [stdout]     |
[INFO] [stdout] 649 | pub fn relu(x: Expr) -> Expr {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relu_prime` is never used
[INFO] [stdout]    --> src/math.rs:653:8
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub fn relu_prime(x: Expr) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max` is never used
[INFO] [stdout]    --> src/math.rs:657:8
[INFO] [stdout]     |
[INFO] [stdout] 657 | pub fn max(x: Expr, y: Expr) -> Expr {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var` is never used
[INFO] [stdout]    --> src/math.rs:661:8
[INFO] [stdout]     |
[INFO] [stdout] 661 | pub fn var(v: &str) -> Expr {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/token.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_to_fun` is never used
[INFO] [stdout]   --> src/token.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn str_to_fun(s: &str) -> Option<FunctionToken> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_to_const` is never used
[INFO] [stdout]   --> src/token.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn str_to_const(s: &str) -> Option<ConstantToken> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUNCTION_NAMES` is never used
[INFO] [stdout]   --> src/token.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const FUNCTION_NAMES: [&str; 2] = ["ln", "relu"];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FunctionToken` is never used
[INFO] [stdout]   --> src/token.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum FunctionToken {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_single_token` is never used
[INFO] [stdout]    --> src/token.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn lex_single_token(input: &[char]) -> (Token, &[char]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_tokens` is never used
[INFO] [stdout]    --> src/token.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn lex_tokens(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `function_token_to_fun` is never used
[INFO] [stdout]  --> src/parser.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn function_token_to_fun(token: &FunctionToken) -> UnaryFun {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l5` is never used
[INFO] [stdout]   --> src/parser.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn parse_l5 (tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l4` is never used
[INFO] [stdout]   --> src/parser.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn parse_l4(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l3` is never used
[INFO] [stdout]   --> src/parser.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn parse_l3(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l2` is never used
[INFO] [stdout]   --> src/parser.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn parse_l2(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_l1` is never used
[INFO] [stdout]   --> src/parser.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn parse_l1 (tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KNN` is never constructed
[INFO] [stdout]  --> src/KNN.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct KNN {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sort_labels_by_floats`, and `predict` are never used
[INFO] [stdout]   --> src/KNN.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl KNN {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn new(k: i32, x: Matrix, y: Matrix) -> KNN {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |   fn sort_labels_by_floats(labels: Vec<f64>, distances: Vec<f64>) -> Vec<f64> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinearRegression` is never constructed
[INFO] [stdout]  --> src/lr.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct LinearRegression {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_closed`, `new_optim`, and `predict` are never used
[INFO] [stdout]    --> src/lr.rs:19:10
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl LinearRegression {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  19 |   pub fn new_closed(x: Matrix, y: Matrix) -> LinearRegression {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |   pub fn new_optim(x: Matrix, y: Matrix, lr: f64, iter: i32) -> LinearRegression {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Optim` is never constructed
[INFO] [stdout]  --> src/optim.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Optim {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `optimize` are never used
[INFO] [stdout]   --> src/optim.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Optim {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |   pub fn new(learning_rate: f64, max_iter: i32) -> Optim {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub fn optimize(&self, f: &Expr) -> ColVec {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogisticRegression` is never constructed
[INFO] [stdout]  --> src/logistic_regression.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct LogisticRegression {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compute_loss_function`, `new`, `sigmoid`, and `predict` are never used
[INFO] [stdout]    --> src/logistic_regression.rs:11:6
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl LogisticRegression {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  11 |   fn compute_loss_function(x: Matrix, y: Matrix, lambda: f64) -> Expr {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |   pub fn new(x: Matrix, y: Matrix, lambda: f64) -> LogisticRegression {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |   fn sigmoid(z: f64) -> f64 {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SVM` is never constructed
[INFO] [stdout]  --> src/SVM.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SVM {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_loss_function` is never used
[INFO] [stdout]   --> src/SVM.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SVM {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 11 |   pub fn compute_loss_function(x: Matrix, y: Matrix, C: f64) -> Expr {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `predict` are never used
[INFO] [stdout]    --> src/SVM.rs:63:10
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl SVM {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  62 |
[INFO] [stdout]  63 |   pub fn new (x: Matrix, y: Matrix, C: f64) -> SVM {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KernelPerceptron` is never constructed
[INFO] [stdout]  --> src/KernelPerceptron.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct KernelPerceptron {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `predict` are never used
[INFO] [stdout]   --> src/KernelPerceptron.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl KernelPerceptron {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 12 |   pub fn new(x: Matrix, y: ColVec, kernel: Kernel) -> KernelPerceptron {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   pub fn predict(&self, x: ColVec) -> f64 {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `KNN` should have a snake case name
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | mod KNN;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `knn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `SVM` should have a snake case name
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | mod SVM;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `svm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `NN` should have a snake case name
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | mod NN;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `nn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `KernelPerceptron` should have a snake case name
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | mod KernelPerceptron;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `kernel_perceptron`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DecisionTree` should have a snake case name
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | mod DecisionTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `decision_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]   --> src/SVM.rs:11:54
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub fn compute_loss_function(x: Matrix, y: Matrix, C: f64) -> Expr {
[INFO] [stdout]    |                                                      ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]   --> src/SVM.rs:63:37
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn new (x: Matrix, y: Matrix, C: f64) -> SVM {
[INFO] [stdout]    |                                     ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.83s
[INFO] running `Command { std: "docker" "inspect" "64fca661cf8b8f344f5ba61c03509216d100bff3947fd0cd527833673dc1d3c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64fca661cf8b8f344f5ba61c03509216d100bff3947fd0cd527833673dc1d3c8", kill_on_drop: false }`
[INFO] [stdout] 64fca661cf8b8f344f5ba61c03509216d100bff3947fd0cd527833673dc1d3c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "RUSTDOCFLAGS=--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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ce61fc85d2f45f261d98a19ef90256afe49f74eed207c5f41b7fe7d6d7d696a0
[INFO] running `Command { std: "docker" "start" "-a" "ce61fc85d2f45f261d98a19ef90256afe49f74eed207c5f41b7fe7d6d7d696a0", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `logistic_regression::LogisticRegression`
[INFO] [stderr]  --> src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use logistic_regression::LogisticRegression;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `lr::LinearRegression`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use lr::LinearRegression;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `math::Expr`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use math::Expr;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Kernel`
[INFO] [stderr]  --> src/main.rs:5:22
[INFO] [stderr]   |
[INFO] [stderr] 5 | use matrix::{ColVec, Kernel};
[INFO] [stderr]   |                      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::matrix::Matrix`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::matrix::Matrix;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::perceptron::Perceptron`
[INFO] [stderr]   --> src/main.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::perceptron::Perceptron;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> src/KNN.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stderr]   --> src/main.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stderr]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `matrix`
[INFO] [stderr]   --> src/main.rs:25:14
[INFO] [stderr]    |
[INFO] [stderr] 25 | macro_rules! matrix {
[INFO] [stderr]    |              ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `row_vec`
[INFO] [stderr]   --> src/main.rs:44:14
[INFO] [stderr]    |
[INFO] [stderr] 44 | macro_rules! row_vec {
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `col_vec`
[INFO] [stderr]   --> src/main.rs:61:14
[INFO] [stderr]    |
[INFO] [stderr] 61 | macro_rules! col_vec {
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num_rows`
[INFO] [stderr]   --> src/perceptron.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |     let num_rows: usize = x.rows();
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_rows`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]    --> src/math.rs:444:23
[INFO] [stderr]     |
[INFO] [stderr] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/math.rs:444:26
[INFO] [stderr]     |
[INFO] [stderr] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stderr]     |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]    --> src/math.rs:444:29
[INFO] [stderr]     |
[INFO] [stderr] 444 |       Expr::BinaryApp(f, a, b) => {
[INFO] [stderr]     |                             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num_rows`
[INFO] [stderr]   --> src/SVM.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 |     let num_rows: usize = x.rows();
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_rows`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num_cols`
[INFO] [stderr]   --> src/SVM.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |     let num_cols: usize = x.cols();
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_cols`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `all_same` is assigned to, but never used
[INFO] [stderr]    --> src/DecisionTree.rs:101:9
[INFO] [stderr]     |
[INFO] [stderr] 101 |     let mut all_same = true;
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_all_same` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `all_same` is never read
[INFO] [stderr]    --> src/DecisionTree.rs:105:9
[INFO] [stderr]     |
[INFO] [stderr] 105 |         all_same = false;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Kernel` is never constructed
[INFO] [stderr]   --> src/matrix.rs:78:12
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub struct Kernel {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `eval` are never used
[INFO] [stderr]   --> src/matrix.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 82 | impl Kernel {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr] 83 |     pub fn new(kernel: Box<dyn Fn(&ColVec, &ColVec) -> f64>) -> Kernel {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 89 |     pub fn eval(&self, x: &ColVec, y: &ColVec) -> f64 {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `linear`, `polynomial`, and `rbf` are never used
[INFO] [stderr]    --> src/matrix.rs:95:12
[INFO] [stderr]     |
[INFO] [stderr]  94 | impl Kernel {
[INFO] [stderr]     | ----------- associated functions in this implementation
[INFO] [stderr]  95 |     pub fn linear() -> Kernel {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  99 |     pub fn polynomial(degree: i32) -> Kernel {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     pub fn rbf(sigma: f64) -> Kernel {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EigenSpace` is never constructed
[INFO] [stderr]    --> src/matrix.rs:279:12
[INFO] [stderr]     |
[INFO] [stderr] 279 | pub struct EigenSpace {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Perceptron` is never constructed
[INFO] [stderr]  --> src/perceptron.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Perceptron {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `train`, and `predict` are never used
[INFO] [stderr]    --> src/perceptron.rs:22:10
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl Perceptron {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  22 |   pub fn new(x: Matrix, y: Matrix) -> Perceptron {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] ...
[INFO] [stderr]  58 |   fn train(&mut self, x: Matrix, y: Matrix, max_epochs: usize) {
[INFO] [stderr]     |      ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 110 |   pub fn predict(&self, x: &Matrix) -> Matrix {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `n` is never used
[INFO] [stderr]    --> src/math.rs:633:8
[INFO] [stderr]     |
[INFO] [stderr] 633 | pub fn n(n: f64) -> Expr {
[INFO] [stderr]     |        ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `e` is never used
[INFO] [stderr]    --> src/math.rs:637:8
[INFO] [stderr]     |
[INFO] [stderr] 637 | pub fn e() -> Expr {
[INFO] [stderr]     |        ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pi` is never used
[INFO] [stderr]    --> src/math.rs:641:8
[INFO] [stderr]     |
[INFO] [stderr] 641 | pub fn pi() -> Expr {
[INFO] [stderr]     |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ln` is never used
[INFO] [stderr]    --> src/math.rs:645:8
[INFO] [stderr]     |
[INFO] [stderr] 645 | pub fn ln(x: Expr) -> Expr {
[INFO] [stderr]     |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `relu` is never used
[INFO] [stderr]    --> src/math.rs:649:8
[INFO] [stderr]     |
[INFO] [stderr] 649 | pub fn relu(x: Expr) -> Expr {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `relu_prime` is never used
[INFO] [stderr]    --> src/math.rs:653:8
[INFO] [stderr]     |
[INFO] [stderr] 653 | pub fn relu_prime(x: Expr) -> Expr {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `max` is never used
[INFO] [stderr]    --> src/math.rs:657:8
[INFO] [stderr]     |
[INFO] [stderr] 657 | pub fn max(x: Expr, y: Expr) -> Expr {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `var` is never used
[INFO] [stderr]    --> src/math.rs:661:8
[INFO] [stderr]     |
[INFO] [stderr] 661 | pub fn var(v: &str) -> Expr {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Token` is never used
[INFO] [stderr]  --> src/token.rs:2:10
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum Token {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `str_to_fun` is never used
[INFO] [stderr]   --> src/token.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn str_to_fun(s: &str) -> Option<FunctionToken> {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `str_to_const` is never used
[INFO] [stderr]   --> src/token.rs:25:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn str_to_const(s: &str) -> Option<ConstantToken> {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FUNCTION_NAMES` is never used
[INFO] [stderr]   --> src/token.rs:33:7
[INFO] [stderr]    |
[INFO] [stderr] 33 | const FUNCTION_NAMES: [&str; 2] = ["ln", "relu"];
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FunctionToken` is never used
[INFO] [stderr]   --> src/token.rs:35:10
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub enum FunctionToken {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `lex_single_token` is never used
[INFO] [stderr]    --> src/token.rs:112:8
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub fn lex_single_token(input: &[char]) -> (Token, &[char]) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `lex_tokens` is never used
[INFO] [stderr]    --> src/token.rs:171:8
[INFO] [stderr]     |
[INFO] [stderr] 171 | pub fn lex_tokens(input: &str) -> Vec<Token> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `function_token_to_fun` is never used
[INFO] [stderr]  --> src/parser.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn function_token_to_fun(token: &FunctionToken) -> UnaryFun {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_l5` is never used
[INFO] [stderr]   --> src/parser.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn parse_l5 (tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_l4` is never used
[INFO] [stderr]   --> src/parser.rs:34:4
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn parse_l4(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_l3` is never used
[INFO] [stderr]   --> src/parser.rs:57:4
[INFO] [stderr]    |
[INFO] [stderr] 57 | fn parse_l3(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_l2` is never used
[INFO] [stderr]   --> src/parser.rs:74:4
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn parse_l2(tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_l1` is never used
[INFO] [stderr]   --> src/parser.rs:93:4
[INFO] [stderr]    |
[INFO] [stderr] 93 | fn parse_l1 (tokens: &[Token]) -> (Expr, &[Token]) {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KNN` is never constructed
[INFO] [stderr]  --> src/KNN.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct KNN {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `sort_labels_by_floats`, and `predict` are never used
[INFO] [stderr]   --> src/KNN.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl KNN {
[INFO] [stderr]    | -------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 23 |   pub fn new(k: i32, x: Matrix, y: Matrix) -> KNN {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |   fn sort_labels_by_floats(labels: Vec<f64>, distances: Vec<f64>) -> Vec<f64> {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stderr]    |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LinearRegression` is never constructed
[INFO] [stderr]  --> src/lr.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct LinearRegression {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_closed`, `new_optim`, and `predict` are never used
[INFO] [stderr]    --> src/lr.rs:19:10
[INFO] [stderr]     |
[INFO] [stderr]  13 | impl LinearRegression {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  19 |   pub fn new_closed(x: Matrix, y: Matrix) -> LinearRegression {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  71 |   pub fn new_optim(x: Matrix, y: Matrix, lr: f64, iter: i32) -> LinearRegression {
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 142 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Optim` is never constructed
[INFO] [stderr]  --> src/optim.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Optim {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `optimize` are never used
[INFO] [stderr]   --> src/optim.rs:20:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Optim {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 20 |   pub fn new(learning_rate: f64, max_iter: i32) -> Optim {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |   pub fn optimize(&self, f: &Expr) -> ColVec {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LogisticRegression` is never constructed
[INFO] [stderr]  --> src/logistic_regression.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct LogisticRegression {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `compute_loss_function`, `new`, `sigmoid`, and `predict` are never used
[INFO] [stderr]    --> src/logistic_regression.rs:11:6
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl LogisticRegression {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr]  11 |   fn compute_loss_function(x: Matrix, y: Matrix, lambda: f64) -> Expr {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  79 |   pub fn new(x: Matrix, y: Matrix, lambda: f64) -> LogisticRegression {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 109 |   fn sigmoid(z: f64) -> f64 {
[INFO] [stderr]     |      ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SVM` is never constructed
[INFO] [stderr]  --> src/SVM.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct SVM {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `compute_loss_function` is never used
[INFO] [stderr]   --> src/SVM.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl SVM {
[INFO] [stderr]    | -------- associated function in this implementation
[INFO] [stderr] 11 |   pub fn compute_loss_function(x: Matrix, y: Matrix, C: f64) -> Expr {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `predict` are never used
[INFO] [stderr]    --> src/SVM.rs:63:10
[INFO] [stderr]     |
[INFO] [stderr]  61 | impl SVM {
[INFO] [stderr]     | -------- associated items in this implementation
[INFO] [stderr]  62 |
[INFO] [stderr]  63 |   pub fn new (x: Matrix, y: Matrix, C: f64) -> SVM {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |   pub fn predict(&self, x: Matrix) -> f64 {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KernelPerceptron` is never constructed
[INFO] [stderr]  --> src/KernelPerceptron.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct KernelPerceptron {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `predict` are never used
[INFO] [stderr]   --> src/KernelPerceptron.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl KernelPerceptron {
[INFO] [stderr]    | --------------------- associated items in this implementation
[INFO] [stderr] 12 |   pub fn new(x: Matrix, y: ColVec, kernel: Kernel) -> KernelPerceptron {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 |   pub fn predict(&self, x: ColVec) -> f64 {
[INFO] [stderr]    |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: module `KNN` should have a snake case name
[INFO] [stderr]   --> src/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | mod KNN;
[INFO] [stderr]    |     ^^^ help: convert the identifier to snake case: `knn`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: module `SVM` should have a snake case name
[INFO] [stderr]   --> src/main.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | mod SVM;
[INFO] [stderr]    |     ^^^ help: convert the identifier to snake case: `svm`
[INFO] [stderr] 
[INFO] [stderr] warning: module `NN` should have a snake case name
[INFO] [stderr]   --> src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | mod NN;
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case: `nn`
[INFO] [stderr] 
[INFO] [stderr] warning: module `KernelPerceptron` should have a snake case name
[INFO] [stderr]   --> src/main.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | mod KernelPerceptron;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `kernel_perceptron`
[INFO] [stderr] 
[INFO] [stderr] warning: module `DecisionTree` should have a snake case name
[INFO] [stderr]   --> src/main.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | mod DecisionTree;
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `decision_tree`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C` should have a snake case name
[INFO] [stderr]   --> src/SVM.rs:11:54
[INFO] [stderr]    |
[INFO] [stderr] 11 |   pub fn compute_loss_function(x: Matrix, y: Matrix, C: f64) -> Expr {
[INFO] [stderr]    |                                                      ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C` should have a snake case name
[INFO] [stderr]   --> src/SVM.rs:63:37
[INFO] [stderr]    |
[INFO] [stderr] 63 |   pub fn new (x: Matrix, y: Matrix, C: f64) -> SVM {
[INFO] [stderr]    |                                     ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stderr] 
[INFO] [stderr] warning: `ml-library` (bin "ml-library" test) generated 66 warnings (run `cargo fix --bin "ml-library" -p ml-library --tests` to apply 14 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ml_library-ecf070e9dc4a4a1f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test matrix::tests::test_matrix_addition ... ok
[INFO] [stdout] test matrix::tests::id ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.39s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ce61fc85d2f45f261d98a19ef90256afe49f74eed207c5f41b7fe7d6d7d696a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce61fc85d2f45f261d98a19ef90256afe49f74eed207c5f41b7fe7d6d7d696a0", kill_on_drop: false }`
[INFO] [stdout] ce61fc85d2f45f261d98a19ef90256afe49f74eed207c5f41b7fe7d6d7d696a0
