[INFO] fetching crate RustedSciThe 0.1.1...
[INFO] checking RustedSciThe-0.1.1 against try#47af3d0de9d26c7deba4cfb203b710cc3f764e91 for pr-130443
[INFO] extracting crate RustedSciThe 0.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate RustedSciThe 0.1.1 on toolchain 47af3d0de9d26c7deba4cfb203b710cc3f764e91
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate RustedSciThe 0.1.1
[INFO] finished tweaking crates.io crate RustedSciThe 0.1.1
[INFO] tweaked toml for crates.io crate RustedSciThe 0.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate crates.io crate RustedSciThe 0.1.1 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" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b7db2dc19cef2f87c62a3c958fd0360d965cb1ffdbe611ef833be541909a9a20
[INFO] running `Command { std: "docker" "start" "-a" "b7db2dc19cef2f87c62a3c958fd0360d965cb1ffdbe611ef833be541909a9a20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7db2dc19cef2f87c62a3c958fd0360d965cb1ffdbe611ef833be541909a9a20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7db2dc19cef2f87c62a3c958fd0360d965cb1ffdbe611ef833be541909a9a20", kill_on_drop: false }`
[INFO] [stdout] b7db2dc19cef2f87c62a3c958fd0360d965cb1ffdbe611ef833be541909a9a20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 14acef910db046a778dd3082b6db71c04262fc501483445d0031b0b7e3b0a444
[INFO] running `Command { std: "docker" "start" "-a" "14acef910db046a778dd3082b6db71c04262fc501483445d0031b0b7e3b0a444", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]     Checking bytemuck v1.17.1
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling cc v1.1.18
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking safe_arch v0.7.2
[INFO] [stderr]     Checking libloading v0.8.5
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking flate2 v1.0.33
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking wide v0.7.28
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling pathfinder_simd v0.5.4
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]    Compiling font-kit v0.14.2
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]    Compiling syn v2.0.76
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking alga v0.9.3
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking simba v0.6.0
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]     Checking plotters-bitmap v0.3.7
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking sprs v0.11.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking nalgebra v0.29.0
[INFO] [stderr]     Checking nalgebra v0.33.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking nalgebra-sparse v0.5.0
[INFO] [stderr]     Checking RustedSciThe v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the usage of Script Group `Cyrillic` in this crate consists solely of mixed script confusables
[INFO] [stdout]   --> src/numerical/BE.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     initial_сonditions: Vec<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the usage includes 'с' (U+0441)
[INFO] [stdout]    = note: please recheck to make sure their usages are indeed what you want
[INFO] [stdout]    = note: `#[warn(mixed_script_confusables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/symbolic/symbolic_engine.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops`
[INFO] [stdout]   --> src/symbolic/symbolic_engine.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | use std::ops;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::E`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f64::consts::E;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unbox`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::symbolic::utils::{unbox};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::coordinates::X`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nalgebra::coordinates::X;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matrix1`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nalgebra::{DMatrix, DVector, Matrix1};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_sparse::convert`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nalgebra_sparse::convert;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:419:101
[INFO] [stdout]     |
[INFO] [stdout] 419 |                  arg.as_str(),variable_str.iter().map(|s| s.as_str()).collect::<Vec<_>>().clone()) {;
[INFO] [stdout]     |                                                                                                     ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/numerical/NR.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/numerical/NR.rs:178:65
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let result = self.get_result().clone().unwrap().clone();;
[INFO] [stdout]     |                                                                 ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/numerical/BE.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | /         /// constructing equations
[INFO] [stdout] 70 | |         /// y_k = y_k-1 - h * f(t_k+1, y_k+1)
[INFO] [stdout] 71 | |         /// equation = y_k - y_k-1 - h * f(t_k+1, y_k+1)
[INFO] [stdout]    | |________________________________________________________^
[INFO] [stdout] 72 |           let y_k = self.y.clone();
[INFO] [stdout]    |           ------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/numerical/BDF.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/numerical/BDF.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dim` and `Matrix`
[INFO] [stdout]  --> src/numerical/BDF.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | use na::{DMatrix, DVector,  LU, Dyn, Dim,  Matrix};
[INFO] [stdout]   |                                      ^^^   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsMat` and `CsVec`
[INFO] [stdout]  --> src/numerical/BDF.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sprs::{CsMat, CsVec};
[INFO] [stdout]   |            ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::alloc::System`
[INFO] [stdout]   --> src/numerical/BDF.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::alloc::System;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::EPSILON`
[INFO] [stdout]   --> src/numerical/BDF.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::f64::EPSILON;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DerefMut`
[INFO] [stdout]   --> src/numerical/BDF.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ops::DerefMut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/numerical/BDF.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::symbolic::symbolic_functions::Jacobian`
[INFO] [stdout]   --> src/numerical/BDF.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::symbolic::symbolic_functions::Jacobian;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_jac`
[INFO] [stdout]   --> src/numerical/BDF.rs:21:107
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::numerical::common::{validate_first_step, validate_max_step, select_initial_step, validate_tol, num_jac, 
[INFO] [stdout]    |                                                                                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/numerical/BDF.rs:803:44
[INFO] [stdout]     |
[INFO] [stdout] 803 |                    let eye:DMatrix<f64> =  ( DMatrix::identity(self.n, self.n )  );
[INFO] [stdout]     |                                            ^^                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 803 -                    let eye:DMatrix<f64> =  ( DMatrix::identity(self.n, self.n )  );
[INFO] [stdout] 803 +                    let eye:DMatrix<f64> =  DMatrix::identity(self.n, self.n );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `zero`
[INFO] [stdout]  --> src/numerical/BDF_utils.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra::{zero, DMatrix, DVector};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/numerical/BDF_utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsMat` and `CsVec`
[INFO] [stdout]  --> src/numerical/BDF_utils.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sprs::{CsMat, CsVec};
[INFO] [stdout]   |            ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::numerical::common::is_sparse`
[INFO] [stdout]  --> src/numerical/BDF_utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::numerical::common::is_sparse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `enumerate`
[INFO] [stdout]  --> src/numerical/common.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::{enumerate, Position};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::Scale`
[INFO] [stdout]  --> src/numerical/common.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::Scale;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_sparse::na::Matrix`
[INFO] [stdout]  --> src/numerical/common.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra_sparse::na::Matrix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Eq`
[INFO] [stdout]  --> src/numerical/common.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{PartialEq, PartialOrd, Eq, Ord};
[INFO] [stdout]   |                                       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CooMatrix`
[INFO] [stdout]  --> src/numerical/common.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nalgebra_sparse::{CooMatrix, CsrMatrix};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DivAssign`
[INFO] [stdout]   --> src/numerical/common.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::DivAssign;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_complex::Complex`
[INFO] [stdout]   --> src/numerical/common.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use num_complex::Complex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/numerical/common.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     if (y0.nrows() != 1&&check_if_is_dvector(&y0)==false) {
[INFO] [stdout]    |        ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     if (y0.nrows() != 1&&check_if_is_dvector(&y0)==false) {
[INFO] [stdout] 80 +     if y0.nrows() != 1&&check_if_is_dvector(&y0)==false {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/numerical/common.rs:491:77
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let fun_new_vec_i:   Vec<f64> = fun_new_i.data.as_vec().to_owned(); ///!!!!!!!!
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 492 |         let diff_vec_i: Vec<f64> =   ( fun_new_vec_i.clone() ).iter().zip( f.data.as_vec().to_owned() ).map(|(fi, f)| fi - f).collect();
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dim`, `Dyn`, `LU`, and `Matrix`
[INFO] [stdout]  --> src/numerical/BDF_api.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use na::{DMatrix, DVector,  LU, Dyn, Dim,  Matrix};
[INFO] [stdout]   |                             ^^  ^^^  ^^^   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/numerical/BDF_api.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 NumberOrVec::Number((self.rtol)),
[INFO] [stdout]     |                                     ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -                 NumberOrVec::Number((self.rtol)),
[INFO] [stdout] 118 +                 NumberOrVec::Number(self.rtol),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/numerical/BDF_api.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 NumberOrVec::Number((self.atol)),
[INFO] [stdout]     |                                     ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 119 -                 NumberOrVec::Number((self.atol)),
[INFO] [stdout] 119 +                 NumberOrVec::Number(self.atol),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DMatrix`, `DVector`, and `Matrix`
[INFO] [stdout]  --> src/main.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nalgebra::{DMatrix, DVector, Matrix};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the usage of Script Group `Cyrillic` in this crate consists solely of mixed script confusables
[INFO] [stdout]   --> src/numerical/BE.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     initial_сonditions: Vec<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the usage includes 'с' (U+0441)
[INFO] [stdout]    = note: please recheck to make sure their usages are indeed what you want
[INFO] [stdout]    = note: `#[warn(mixed_script_confusables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/symbolic/symbolic_engine.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops`
[INFO] [stdout]   --> src/symbolic/symbolic_engine.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | use std::ops;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:767:62
[INFO] [stdout]     |
[INFO] [stdout] 767 |       let expected_result = C.clone() * Expr::pow(x.clone(), (C.clone() - C1.clone())) * C1.clone();
[INFO] [stdout]     |                                                              ^                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 767 -       let expected_result = C.clone() * Expr::pow(x.clone(), (C.clone() - C1.clone())) * C1.clone();
[INFO] [stdout] 767 +       let expected_result = C.clone() * Expr::pow(x.clone(), C.clone() - C1.clone()) * C1.clone();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:837:61
[INFO] [stdout]     |
[INFO] [stdout] 837 |         let df_dx_expected_result = C.clone()* Expr::pow(x, (C-C1.clone()))*C1 + Expr::exp(y.clone())*C0 ;
[INFO] [stdout]     |                                                             ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 837 -         let df_dx_expected_result = C.clone()* Expr::pow(x, (C-C1.clone()))*C1 + Expr::exp(y.clone())*C0 ;
[INFO] [stdout] 837 +         let df_dx_expected_result = C.clone()* Expr::pow(x, C-C1.clone())*C1 + Expr::exp(y.clone())*C0 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::E`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f64::consts::E;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unbox`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::symbolic::utils::{unbox};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::coordinates::X`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nalgebra::coordinates::X;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matrix1`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nalgebra::{DMatrix, DVector, Matrix1};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_sparse::convert`
[INFO] [stdout]  --> src/symbolic/symbolic_functions.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nalgebra_sparse::convert;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:419:101
[INFO] [stdout]     |
[INFO] [stdout] 419 |                  arg.as_str(),variable_str.iter().map(|s| s.as_str()).collect::<Vec<_>>().clone()) {;
[INFO] [stdout]     |                                                                                                     ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/numerical/NR.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/numerical/NR.rs:178:65
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let result = self.get_result().clone().unwrap().clone();;
[INFO] [stdout]     |                                                                 ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/numerical/BE.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | /         /// constructing equations
[INFO] [stdout] 70 | |         /// y_k = y_k-1 - h * f(t_k+1, y_k+1)
[INFO] [stdout] 71 | |         /// equation = y_k - y_k-1 - h * f(t_k+1, y_k+1)
[INFO] [stdout]    | |________________________________________________________^
[INFO] [stdout] 72 |           let y_k = self.y.clone();
[INFO] [stdout]    |           ------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/numerical/BDF.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/numerical/BDF.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dim` and `Matrix`
[INFO] [stdout]  --> src/numerical/BDF.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | use na::{DMatrix, DVector,  LU, Dyn, Dim,  Matrix};
[INFO] [stdout]   |                                      ^^^   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsMat` and `CsVec`
[INFO] [stdout]  --> src/numerical/BDF.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sprs::{CsMat, CsVec};
[INFO] [stdout]   |            ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::alloc::System`
[INFO] [stdout]   --> src/numerical/BDF.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::alloc::System;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::EPSILON`
[INFO] [stdout]   --> src/numerical/BDF.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::f64::EPSILON;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DerefMut`
[INFO] [stdout]   --> src/numerical/BDF.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ops::DerefMut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/numerical/BDF.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::symbolic::symbolic_functions::Jacobian`
[INFO] [stdout]   --> src/numerical/BDF.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::symbolic::symbolic_functions::Jacobian;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_jac`
[INFO] [stdout]   --> src/numerical/BDF.rs:21:107
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::numerical::common::{validate_first_step, validate_max_step, select_initial_step, validate_tol, num_jac, 
[INFO] [stdout]    |                                                                                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/numerical/BDF.rs:803:44
[INFO] [stdout]     |
[INFO] [stdout] 803 |                    let eye:DMatrix<f64> =  ( DMatrix::identity(self.n, self.n )  );
[INFO] [stdout]     |                                            ^^                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 803 -                    let eye:DMatrix<f64> =  ( DMatrix::identity(self.n, self.n )  );
[INFO] [stdout] 803 +                    let eye:DMatrix<f64> =  DMatrix::identity(self.n, self.n );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `zero`
[INFO] [stdout]  --> src/numerical/BDF_utils.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra::{zero, DMatrix, DVector};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/numerical/BDF_utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsMat` and `CsVec`
[INFO] [stdout]  --> src/numerical/BDF_utils.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sprs::{CsMat, CsVec};
[INFO] [stdout]   |            ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::numerical::common::is_sparse`
[INFO] [stdout]  --> src/numerical/BDF_utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::numerical::common::is_sparse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `enumerate`
[INFO] [stdout]  --> src/numerical/common.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::{enumerate, Position};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::Scale`
[INFO] [stdout]  --> src/numerical/common.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::Scale;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_sparse::na::Matrix`
[INFO] [stdout]  --> src/numerical/common.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra_sparse::na::Matrix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Eq`
[INFO] [stdout]  --> src/numerical/common.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{PartialEq, PartialOrd, Eq, Ord};
[INFO] [stdout]   |                                       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CooMatrix`
[INFO] [stdout]  --> src/numerical/common.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nalgebra_sparse::{CooMatrix, CsrMatrix};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DivAssign`
[INFO] [stdout]   --> src/numerical/common.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::DivAssign;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_complex::Complex`
[INFO] [stdout]   --> src/numerical/common.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use num_complex::Complex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/numerical/common.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     if (y0.nrows() != 1&&check_if_is_dvector(&y0)==false) {
[INFO] [stdout]    |        ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     if (y0.nrows() != 1&&check_if_is_dvector(&y0)==false) {
[INFO] [stdout] 80 +     if y0.nrows() != 1&&check_if_is_dvector(&y0)==false {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/numerical/common.rs:491:77
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let fun_new_vec_i:   Vec<f64> = fun_new_i.data.as_vec().to_owned(); ///!!!!!!!!
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 492 |         let diff_vec_i: Vec<f64> =   ( fun_new_vec_i.clone() ).iter().zip( f.data.as_vec().to_owned() ).map(|(fi, f)| fi - f).collect();
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dim`, `Dyn`, `LU`, and `Matrix`
[INFO] [stdout]  --> src/numerical/BDF_api.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use na::{DMatrix, DVector,  LU, Dyn, Dim,  Matrix};
[INFO] [stdout]   |                             ^^  ^^^  ^^^   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/numerical/BDF_api.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 NumberOrVec::Number((self.rtol)),
[INFO] [stdout]     |                                     ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -                 NumberOrVec::Number((self.rtol)),
[INFO] [stdout] 118 +                 NumberOrVec::Number(self.rtol),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/numerical/BDF_api.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 NumberOrVec::Number((self.atol)),
[INFO] [stdout]     |                                     ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 119 -                 NumberOrVec::Number((self.atol)),
[INFO] [stdout] 119 +                 NumberOrVec::Number(self.atol),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DMatrix`, `DVector`, and `Matrix`
[INFO] [stdout]  --> src/main.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nalgebra::{DMatrix, DVector, Matrix};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Float`
[INFO] [stdout]  --> src/numerical/BDF.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use num_traits::Float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ord`
[INFO] [stdout]  --> src/numerical/common.rs:8:43
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{PartialEq, PartialOrd, Eq, Ord};
[INFO] [stdout]   |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut vec_trimmed: Vec<String> = symbols.split(',').map(|s| s.trim().to_string()).collect();
[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/symbolic/symbolic_engine.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let mut vector_of_symbolic_vars: Vec<Expr> = vec_trimmed.iter()
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs_vars`
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:561:21
[INFO] [stdout]     |
[INFO] [stdout] 561 |                 let lhs_vars = lhs.all_arguments_are_variables();
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_vars`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:719:14
[INFO] [stdout]     |
[INFO] [stdout] 719 |          let mut f = self.lambdify( x);
[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/symbolic/symbolic_engine.rs:736:9
[INFO] [stdout]     |
[INFO] [stdout] 736 |     let mut f = self.lambdify_owned ( x);
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positions_sorted`
[INFO] [stdout]   --> src/symbolic/utils.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut positions_sorted: Vec<usize> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions_sorted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/symbolic/utils.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut positions_sorted: Vec<usize> = Vec::new();
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:96:54
[INFO] [stdout]    |
[INFO] [stdout] 96 |             function_jacobian_IVP_DMatrix: Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0)),
[INFO] [stdout]    |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:96:63
[INFO] [stdout]    |
[INFO] [stdout] 96 |             function_jacobian_IVP_DMatrix: Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0)),
[INFO] [stdout]    |                                                               ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:97:57
[INFO] [stdout]    |
[INFO] [stdout] 97 |             lambdified_functions_IVP_DVector: Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0)),
[INFO] [stdout]    |                                                         ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:97:66
[INFO] [stdout]    |
[INFO] [stdout] 97 |             lambdified_functions_IVP_DVector: Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0)),
[INFO] [stdout]    |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:113:60
[INFO] [stdout]     |
[INFO] [stdout] 113 |          let mut function_jacobian_IVP_DMatrix = Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0));
[INFO] [stdout]     |                                                            ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:113:69
[INFO] [stdout]     |
[INFO] [stdout] 113 |          let mut function_jacobian_IVP_DMatrix = Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0));
[INFO] [stdout]     |                                                                     ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:114:62
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut lambdified_functions_IVP_DVector = Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0));
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:114:71
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut lambdified_functions_IVP_DVector = Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0));
[INFO] [stdout]     |                                                                       ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut lambdified_functions = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Float`
[INFO] [stdout]  --> src/numerical/BDF.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use num_traits::Float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut evaluated_functions_DVector = Vec::new().into();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ord`
[INFO] [stdout]  --> src/numerical/common.rs:8:43
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{PartialEq, PartialOrd, Eq, Ord};
[INFO] [stdout]   |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut evaluated_functions= Vec::new();
[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/symbolic/symbolic_functions.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut variable_string = Vec::new();
[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/symbolic/symbolic_functions.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut evaluated_jacobian =  Vec::new();
[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/symbolic/symbolic_functions.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut evaluated_jacobian_DMatrix =  DMatrix::from_row_slice( 2, 2, &vec![0.0, 0.0, 0.0, 0.0],);
[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/symbolic/symbolic_functions.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut function_jacobian_IVP = Vec::new();
[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/symbolic/symbolic_functions.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut lambdified_functions_IVP = Vec::new();
[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/symbolic/symbolic_functions.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 |          let mut function_jacobian_IVP_DMatrix = Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0));
[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/symbolic/symbolic_functions.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut lambdified_functions_IVP_DVector = Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0));
[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/symbolic/symbolic_functions.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let mut vec_trimmed: Vec<String> = symbols.split(',').map(|s| s.trim().to_string()).collect();
[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/symbolic/symbolic_functions.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut vec_trimmed: Vec<String> = varvec.iter().map(|s| s.trim().to_string()).collect();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:199:24
[INFO] [stdout]     |
[INFO] [stdout] 199 |                     if let partial = Expr::diff(&self.vector_of_functions[i].clone(), &variable_string_vec[j]) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:237:28
[INFO] [stdout]     |
[INFO] [stdout] 237 |                         if let partial_func = Expr::lambdify_owned(jac[i][j].clone(), variable_str.clone()) {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:306:16
[INFO] [stdout]     |
[INFO] [stdout] 306 |             if let func = Expr::lambdify(func, variable_str.clone())   {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:321:16
[INFO] [stdout]     |
[INFO] [stdout] 321 |             if let func = Expr::lambdify_owned(func, variable_str.clone())   {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:368:20
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 if let partial_func = Expr::lambdify_IVP_owned(jac[i][j].clone(), arg,variable_str.clone()) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:418:20
[INFO] [stdout]     |
[INFO] [stdout] 418 |                   if let partial_func = Expr::lambdify_IVP_owned(jac[i][j].clone(),
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 419 | |                  arg.as_str(),variable_str.iter().map(|s| s.as_str()).collect::<Vec<_>>().clone()) {;
[INFO] [stdout]     | |__________________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:476:12
[INFO] [stdout]     |
[INFO] [stdout] 476 |         if let func = Expr::lambdify_IVP_owned(func,arg , variable_str.clone())   {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:493:16
[INFO] [stdout]     |
[INFO] [stdout] 493 |               if let func = Expr::lambdify_IVP_owned(func.to_owned(),arg.as_str() 
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 494 | |             , variable_str.iter().map(|s| s.as_str()).collect::<Vec<_>>().clone())   {
[INFO] [stdout]     | |__________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut vec_trimmed: Vec<String> = symbols.split(',').map(|s| s.trim().to_string()).collect();
[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/symbolic/symbolic_engine.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let mut vector_of_symbolic_vars: Vec<Expr> = vec_trimmed.iter()
[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/numerical/NR.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut Jacobian_instance = &mut self.jacobian;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/numerical/NR.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |         let mut res:Vec<f64> = Vec::new();
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/numerical/BDF.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut result = cumulative_product_along_columns(&m);
[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/numerical/BDF.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let mut temp = ru.transpose() * D.rows(0, order + 1);
[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/numerical/BDF.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     mut solve_lu: &mut Box<dyn FnMut(&LU<f64, Dyn, Dyn>, &DVector<f64>) -> DVector<f64>>,//&dyn Fn(&CsMat<f64>, &DVector<f64>) -> DVector...
[INFO] [stdout]     |     ----^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs_vars`
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:561:21
[INFO] [stdout]     |
[INFO] [stdout] 561 |                 let lhs_vars = lhs.all_arguments_are_variables();
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_vars`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/numerical/BDF.rs:315:28
[INFO] [stdout]     |
[INFO] [stdout] 315 |             fun: Box::new(|t, y| y.clone()),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lu`
[INFO] [stdout]    --> src/numerical/BDF.rs:335:34
[INFO] [stdout]     |
[INFO] [stdout] 335 |             solve_lu:  Box::new(|lu: &LU<f64, Dyn, Dyn>, dv: &DVector<f64>| {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_step`
[INFO] [stdout]    --> src/numerical/BDF.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         max_step: f64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:719:14
[INFO] [stdout]     |
[INFO] [stdout] 719 |          let mut f = self.lambdify( x);
[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/symbolic/symbolic_engine.rs:736:9
[INFO] [stdout]     |
[INFO] [stdout] 736 |     let mut f = self.lambdify_owned ( x);
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `degree`
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:763:13
[INFO] [stdout]     |
[INFO] [stdout] 763 |         let degree = Box::new(Expr::Const(1.0));
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_degree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:792:14
[INFO] [stdout]     |
[INFO] [stdout] 792 |         let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/symbolic/symbolic_engine.rs:792:20
[INFO] [stdout]     |
[INFO] [stdout] 792 |         let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/symbolic/symbolic_engine.rs:792:28
[INFO] [stdout]     |
[INFO] [stdout] 792 |         let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/symbolic/symbolic_engine.rs:794:13
[INFO] [stdout]     |
[INFO] [stdout] 794 |         let mut symbolic_expression =  a + Expr::exp(b * c);
[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/symbolic/symbolic_engine.rs:795:13
[INFO] [stdout]     |
[INFO] [stdout] 795 |         let mut expression_with_const =  symbolic_expression.set_variable("a", 1.0);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `norm`
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:823:14
[INFO] [stdout]     |
[INFO] [stdout] 823 |         let (norm, res) = f.compare_num1D("x", start, end, num_values, max_norm);
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_closure`
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:864:13
[INFO] [stdout]     |
[INFO] [stdout] 864 |         let fn_closure = f.lambdify1D();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_closure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sparsity_`
[INFO] [stdout]    --> src/numerical/BDF.rs:583:13
[INFO] [stdout]     |
[INFO] [stdout] 583 |         let sparsity_ = 0.0;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sparsity_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_sparsity`
[INFO] [stdout]    --> src/numerical/BDF.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 622 |             let new_sparsity: Option<(DMatrix<f64>, Vec<usize>)> = if let Some(sparsity) = sparsity {
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_sparsity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> src/numerical/BDF.rs:757:17
[INFO] [stdout]     |
[INFO] [stdout] 757 |         let mut conv = false;
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `J`
[INFO] [stdout]    --> src/numerical/BDF.rs:831:25
[INFO] [stdout]     |
[INFO] [stdout] 831 |                     let J = (self.jac.as_mut().unwrap())(t_new, &y_predict);
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_J`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positions_sorted`
[INFO] [stdout]   --> src/symbolic/utils.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut positions_sorted: Vec<usize> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions_sorted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/symbolic/utils.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut positions_sorted: Vec<usize> = Vec::new();
[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/numerical/BDF.rs:746:13
[INFO] [stdout]     |
[INFO] [stdout] 746 |         let mut J = self.J.clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:96:54
[INFO] [stdout]    |
[INFO] [stdout] 96 |             function_jacobian_IVP_DMatrix: Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0)),
[INFO] [stdout]    |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/numerical/BDF.rs:757:13
[INFO] [stdout]     |
[INFO] [stdout] 757 |         let mut conv = false;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:96:63
[INFO] [stdout]    |
[INFO] [stdout] 96 |             function_jacobian_IVP_DMatrix: Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0)),
[INFO] [stdout]    |                                                               ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:97:57
[INFO] [stdout]    |
[INFO] [stdout] 97 |             lambdified_functions_IVP_DVector: Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0)),
[INFO] [stdout]    |                                                         ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:97:66
[INFO] [stdout]    |
[INFO] [stdout] 97 |             lambdified_functions_IVP_DVector: Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0)),
[INFO] [stdout]    |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |         OrderEnum::Scalar(o) => {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:113:60
[INFO] [stdout]     |
[INFO] [stdout] 113 |          let mut function_jacobian_IVP_DMatrix = Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0));
[INFO] [stdout]     |                                                            ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:113:69
[INFO] [stdout]     |
[INFO] [stdout] 113 |          let mut function_jacobian_IVP_DMatrix = Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0));
[INFO] [stdout]     |                                                                     ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xx`
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:114:62
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut lambdified_functions_IVP_DVector = Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0));
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_xx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:114:71
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut lambdified_functions_IVP_DVector = Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0));
[INFO] [stdout]     |                                                                       ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut lambdified_functions = Vec::new();
[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/symbolic/symbolic_functions.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut evaluated_functions_DVector = Vec::new().into();
[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/symbolic/symbolic_functions.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut evaluated_functions= Vec::new();
[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/symbolic/symbolic_functions.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut variable_string = Vec::new();
[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/symbolic/symbolic_functions.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut evaluated_jacobian =  Vec::new();
[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/symbolic/symbolic_functions.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut evaluated_jacobian_DMatrix =  DMatrix::from_row_slice( 2, 2, &vec![0.0, 0.0, 0.0, 0.0],);
[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/symbolic/symbolic_functions.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut function_jacobian_IVP = Vec::new();
[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/symbolic/symbolic_functions.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut lambdified_functions_IVP = Vec::new();
[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/symbolic/symbolic_functions.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 |          let mut function_jacobian_IVP_DMatrix = Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0));
[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/symbolic/symbolic_functions.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut lambdified_functions_IVP_DVector = Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0));
[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/numerical/BDF_utils.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut A = A.clone();
[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/symbolic/symbolic_functions.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let mut vec_trimmed: Vec<String> = symbols.split(',').map(|s| s.trim().to_string()).collect();
[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/symbolic/symbolic_functions.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut vec_trimmed: Vec<String> = varvec.iter().map(|s| s.trim().to_string()).collect();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:199:24
[INFO] [stdout]     |
[INFO] [stdout] 199 |                     if let partial = Expr::diff(&self.vector_of_functions[i].clone(), &variable_string_vec[j]) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:237:28
[INFO] [stdout]     |
[INFO] [stdout] 237 |                         if let partial_func = Expr::lambdify_owned(jac[i][j].clone(), variable_str.clone()) {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:306:16
[INFO] [stdout]     |
[INFO] [stdout] 306 |             if let func = Expr::lambdify(func, variable_str.clone())   {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:321:16
[INFO] [stdout]     |
[INFO] [stdout] 321 |             if let func = Expr::lambdify_owned(func, variable_str.clone())   {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:368:20
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 if let partial_func = Expr::lambdify_IVP_owned(jac[i][j].clone(), arg,variable_str.clone()) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:418:20
[INFO] [stdout]     |
[INFO] [stdout] 418 |                   if let partial_func = Expr::lambdify_IVP_owned(jac[i][j].clone(),
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 419 | |                  arg.as_str(),variable_str.iter().map(|s| s.as_str()).collect::<Vec<_>>().clone()) {;
[INFO] [stdout]     | |__________________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]   --> src/numerical/common.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |     if let Some(obj) = obj.downcast_ref::<DVector<f64>>() {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:476:12
[INFO] [stdout]     |
[INFO] [stdout] 476 |         if let func = Expr::lambdify_IVP_owned(func,arg , variable_str.clone())   {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:493:16
[INFO] [stdout]     |
[INFO] [stdout] 493 |               if let func = Expr::lambdify_IVP_owned(func.to_owned(),arg.as_str() 
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 494 | |             , variable_str.iter().map(|s| s.as_str()).collect::<Vec<_>>().clone())   {
[INFO] [stdout]     | |__________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/numerical/common.rs:291:59
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn validate_tol(rtol: NumberOrVec, atol: NumberOrVec, n: usize) -> Result<(NumberOrVec, NumberOrVec), &'static str> {
[INFO] [stdout]     |                                                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structure`
[INFO] [stdout]    --> src/numerical/common.rs:430:36
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let (J, factor) = if let Some((structure, groups)) = sparsity {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `groups`
[INFO] [stdout]    --> src/numerical/common.rs:430:47
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let (J, factor) = if let Some((structure, groups)) = sparsity {
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_groups`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/numerical/common.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut h_ = DVector::zeros(n);
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h_vecs`
[INFO] [stdout]    --> src/numerical/common.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |     let h_vecs = DMatrix::from_diagonal(h);
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_vecs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f_new`
[INFO] [stdout]    --> src/numerical/common.rs:563:14
[INFO] [stdout]     |
[INFO] [stdout] 563 |         let (f_new, diff_new) = create_f_diff(y_new,t, fun, f);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/numerical/NR.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut Jacobian_instance = &mut self.jacobian;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/numerical/NR.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |         let mut res:Vec<f64> = Vec::new();
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/numerical/common.rs:483:8
[INFO] [stdout]     |
[INFO] [stdout] 483 |    let mut y_new:DMatrix<f64> = DMatrix::from_fn(n, n, |i, j|    (y[j] + h[i]) );
[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/numerical/common.rs:545:9
[INFO] [stdout]     |
[INFO] [stdout] 545 |     let mut scale = DMatrix::from_vec(n,1, scale_vec.clone());
[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/numerical/common.rs:559:13
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let mut h_vecs = DMatrix::from_diagonal(&h_new);
[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/numerical/common.rs:560:13
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let mut h_vecs = h_vecs.select_columns(&ind);
[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/numerical/common.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut y_new:DMatrix<f64> = DMatrix::from_fn(n, n, |i, j|    (y[j] + h_vecs[i]) );
[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/numerical/common.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let mut diff =  DMatrix::from_vec( n, n, diff_vec);
[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/numerical/BDF.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut result = cumulative_product_along_columns(&m);
[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/numerical/BDF.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let mut temp = ru.transpose() * D.rows(0, order + 1);
[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/numerical/BDF.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     mut solve_lu: &mut Box<dyn FnMut(&LU<f64, Dyn, Dyn>, &DVector<f64>) -> DVector<f64>>,//&dyn Fn(&CsMat<f64>, &DVector<f64>) -> DVector...
[INFO] [stdout]     |     ----^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/numerical/BDF_api.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             BE => Solvers::BE(BE::new()),
[INFO] [stdout]    |             -- matches any value
[INFO] [stdout] 21 |             BDF => Solvers::BDF(BDF::new()),
[INFO] [stdout]    |             ^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/numerical/BDF_api.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             BE => Solvers::BE(BE::new()),
[INFO] [stdout]    |             -- matches any value
[INFO] [stdout] 21 |             BDF => Solvers::BDF(BDF::new()),
[INFO] [stdout] 22 |             _ => panic!("Unknown solver name"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `BE`
[INFO] [stdout]   --> src/numerical/BDF_api.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             BE => Solvers::BE(BE::new()),
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_BE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `BDF`
[INFO] [stdout]   --> src/numerical/BDF_api.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             BDF => Solvers::BDF(BDF::new()),
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_BDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/numerical/BDF.rs:315:28
[INFO] [stdout]     |
[INFO] [stdout] 315 |             fun: Box::new(|t, y| y.clone()),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lu`
[INFO] [stdout]    --> src/numerical/BDF.rs:335:34
[INFO] [stdout]     |
[INFO] [stdout] 335 |             solve_lu:  Box::new(|lu: &LU<f64, Dyn, Dyn>, dv: &DVector<f64>| {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_step`
[INFO] [stdout]    --> src/numerical/BDF.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         max_step: f64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/numerical/BDF_api.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let status:String = "running".to_string();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/numerical/BDF_api.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut i:i64 = 0;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/numerical/BDF_api.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let status: i8 = 0;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `integr_status` is never read
[INFO] [stdout]    --> src/numerical/BDF_api.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |             integr_status = Some(-1);
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/numerical/ODE_api.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut i: i64 = 0;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `integr_status` is never read
[INFO] [stdout]    --> src/numerical/ODE_api.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 integr_status = Some(-1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sparsity_`
[INFO] [stdout]    --> src/numerical/BDF.rs:583:13
[INFO] [stdout]     |
[INFO] [stdout] 583 |         let sparsity_ = 0.0;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sparsity_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_sparsity`
[INFO] [stdout]    --> src/numerical/BDF.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 622 |             let new_sparsity: Option<(DMatrix<f64>, Vec<usize>)> = if let Some(sparsity) = sparsity {
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_sparsity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> src/numerical/BDF.rs:757:17
[INFO] [stdout]     |
[INFO] [stdout] 757 |         let mut conv = false;
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `J`
[INFO] [stdout]    --> src/numerical/BDF.rs:831:25
[INFO] [stdout]     |
[INFO] [stdout] 831 |                     let J = (self.jac.as_mut().unwrap())(t_new, &y_predict);
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_J`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/numerical/BDF.rs:746:13
[INFO] [stdout]     |
[INFO] [stdout] 746 |         let mut J = self.J.clone();
[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/numerical/BDF.rs:757:13
[INFO] [stdout]     |
[INFO] [stdout] 757 |         let mut conv = false;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |         OrderEnum::Scalar(o) => {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Jacobian_instance`
[INFO] [stdout]    --> src/main.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 |       let x = Expr::Var("x".to_string()); // argument
[INFO] [stdout]     |           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut A = A.clone();
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]   --> src/numerical/common.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |     if let Some(obj) = obj.downcast_ref::<DVector<f64>>() {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/main.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/main.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/main.rs:198:11
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `equations_string`, `x`, `newton`, `max_iterations`, `max_error`, and `result` are never read
[INFO] [stdout]   --> src/numerical/BE.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct BE {
[INFO] [stdout]    |            -- fields in this struct
[INFO] [stdout] 11 |     equations_string: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     x:String, // argument of the equations
[INFO] [stdout]    |     ^
[INFO] [stdout] 15 |     equations: Vec<Expr>, //vector of equations in symbolic form
[INFO] [stdout] 16 |     newton: NR,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     max_iterations: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     max_error: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 21 |     result: Option<Vec<f64>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_lu_f` is never used
[INFO] [stdout]    --> src/numerical/BDF.rs:473:15
[INFO] [stdout]     |
[INFO] [stdout] 473 |            fn solve_lu_f(LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>) -> DVector<f64> {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_lu_f` is never used
[INFO] [stdout]    --> src/numerical/BDF.rs:496:19
[INFO] [stdout]     |
[INFO] [stdout] 496 |                fn solve_lu_f(LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>) -> DVector<f64> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Vector` and `Scalar` are never constructed
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum OrderEnum {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 48 |     None,
[INFO] [stdout] 49 |     Vector(Vec<usize>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 50 |     Scalar(usize),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EPS` is never used
[INFO] [stdout]  --> src/numerical/common.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const EPS: f64 = std::f64::EPSILON;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sparseCs` is never used
[INFO] [stdout]   --> src/numerical/common.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn is_sparseCs(matrix: &CsrMatrix<f64>, threshold: f64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_jac` is never used
[INFO] [stdout]    --> src/numerical/common.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn num_jac(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_DIFF_REJECT` is never used
[INFO] [stdout]    --> src/numerical/common.rs:441:7
[INFO] [stdout]     |
[INFO] [stdout] 441 | const NUM_JAC_DIFF_REJECT: f64 = 1e-6;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_FACTOR_INCREASE` is never used
[INFO] [stdout]    --> src/numerical/common.rs:442:7
[INFO] [stdout]     |
[INFO] [stdout] 442 | const NUM_JAC_FACTOR_INCREASE: f64 = 10.0;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_FACTOR_DECREASE` is never used
[INFO] [stdout]    --> src/numerical/common.rs:443:7
[INFO] [stdout]     |
[INFO] [stdout] 443 | const NUM_JAC_FACTOR_DECREASE: f64 = 0.1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_MIN_FACTOR` is never used
[INFO] [stdout]    --> src/numerical/common.rs:444:7
[INFO] [stdout]     |
[INFO] [stdout] 444 | const NUM_JAC_MIN_FACTOR: f64 = 1e-7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_DIFF_SMALL` is never used
[INFO] [stdout]    --> src/numerical/common.rs:445:7
[INFO] [stdout]     |
[INFO] [stdout] 445 | const NUM_JAC_DIFF_SMALL: f64 = 1e-6;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_DIFF_BIG` is never used
[INFO] [stdout]    --> src/numerical/common.rs:446:7
[INFO] [stdout]     |
[INFO] [stdout] 446 | const NUM_JAC_DIFF_BIG: f64 = 1e-2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jac_sparsity` is never read
[INFO] [stdout]   --> src/numerical/BDF_api.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ODEsolver {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     jac_sparsity: Option<DMatrix<f64>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jac_sparsity` is never read
[INFO] [stdout]   --> src/numerical/ODE_api.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct ODEsolver {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 71 |     jac_sparsity: Option<DMatrix<f64>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |       let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NR_instanse` should have a snake case name
[INFO] [stdout]    --> src/main.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |     let mut NR_instanse = NR::new();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `nr_instanse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NR_instanse` should have a snake case name
[INFO] [stdout]    --> src/main.rs:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 |      let mut NR_instanse = NR::new();
[INFO] [stdout]     |              ^^^^^^^^^^^ help: convert the identifier to snake case: `nr_instanse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BE_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:189:15
[INFO] [stdout]     |
[INFO] [stdout] 189 |       let mut BE_instance = BE::new();
[INFO] [stdout]     |               ^^^^^^^^^^^ help: convert the identifier to snake case: `be_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vec_of_RHS` should have a snake case name
[INFO] [stdout]    --> src/main.rs:191:11
[INFO] [stdout]     |
[INFO] [stdout] 191 |       let vec_of_RHS = vec![ "z+y".to_string(), "z".to_string()];
[INFO] [stdout]     |           ^^^^^^^^^^ help: convert the identifier to snake case: `vec_of_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ODE_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:225:15
[INFO] [stdout]     |
[INFO] [stdout] 225 |       let mut ODE_instance = ODEsolver::new(
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: convert the identifier to snake case: `ode_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     ODE_instance.save_result();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let _ = ODE_instance.save_result();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/numerical/common.rs:291:59
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn validate_tol(rtol: NumberOrVec, atol: NumberOrVec, n: usize) -> Result<(NumberOrVec, NumberOrVec), &'static str> {
[INFO] [stdout]     |                                                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Symbols` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn Symbols(symbols: &str) -> Vec<Expr> {
[INFO] [stdout]     |            ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `symbols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:334:12
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn lambdify1D(&self) -> Box<dyn Fn(f64)-> f64> {
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to snake case: `lambdify1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_vector_lambdified1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:582:12
[INFO] [stdout]     |
[INFO] [stdout] 582 |     pub fn calc_vector_lambdified1D(&self, x: &Vec<f64>) -> Vec<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calc_vector_lambdified1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify1D_from_linspace` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:590:12
[INFO] [stdout]     |
[INFO] [stdout] 590 |     pub fn lambdify1D_from_linspace(&self, start: f64, end: f64, num_values: usize) ->  Vec<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify1_d_from_linspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compare_num1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:595:12
[INFO] [stdout]     |
[INFO] [stdout] 595 |     pub fn compare_num1D(&self, var: &str, start: f64, end: f64, num_values: usize, max_norm: f64) ->( f64, bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `compare_num1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structure`
[INFO] [stdout]    --> src/numerical/common.rs:430:36
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let (J, factor) = if let Some((structure, groups)) = sparsity {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:715:11
[INFO] [stdout]     |
[INFO] [stdout] 715 |    pub fn lambdify_IVP(&self,arg:&str, vars: Vec<&str>) -> Box<dyn Fn(f64, Vec<f64>) -> f64 +'_> {
[INFO] [stdout]     |           ^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify_IVP_owned` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:732:11
[INFO] [stdout]     |
[INFO] [stdout] 732 |    pub fn lambdify_IVP_owned(self,arg:&str, vars: Vec<&str>) -> Box<dyn Fn(f64, Vec<f64>) -> f64 > {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify_ivp_owned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `groups`
[INFO] [stdout]    --> src/numerical/common.rs:430:47
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let (J, factor) = if let Some((structure, groups)) = sparsity {
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_groups`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `evaluated_functions_DVector` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub evaluated_functions_DVector:DVector<f64>, // vector of DVector of numerical results of evaluated functions 
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluated_functions_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `evaluated_jacobian_DMatrix` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub evaluated_jacobian_DMatrix: DMatrix<f64>, // vector of DMatrix of numerical results of evaluated jacobian
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluated_jacobian_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `function_jacobian_IVP` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub function_jacobian_IVP : Vec<Vec<Box<dyn Fn(f64, Vec<f64>) -> f64 >>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_jacobian_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lambdified_functions_IVP` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub lambdified_functions_IVP : Vec<Box<dyn Fn(f64, Vec<f64>) -> f64 >>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdified_functions_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `function_jacobian_IVP_DMatrix` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub function_jacobian_IVP_DMatrix:    Box<dyn Fn(f64, &DVector<f64>) -> DMatrix<f64>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_jacobian_ivp_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lambdified_functions_IVP_DVector` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub lambdified_functions_IVP_DVector: Box<dyn Fn(f64, &DVector<f64>) -> DVector<f64>>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdified_functions_ivp_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `evaluated_functions_DVector` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut evaluated_functions_DVector = Vec::new().into();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluated_functions_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `evaluated_jacobian_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut evaluated_jacobian_DMatrix =  DMatrix::from_row_slice( 2, 2, &vec![0.0, 0.0, 0.0, 0.0],);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluated_jacobian_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `function_jacobian_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut function_jacobian_IVP = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_jacobian_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lambdified_functions_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut lambdified_functions_IVP = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdified_functions_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `function_jacobian_IVP_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |          let mut function_jacobian_IVP_DMatrix = Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_jacobian_ivp_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lambdified_functions_IVP_DVector` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut lambdified_functions_IVP_DVector = Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdified_functions_ivp_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_func_jacobian_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn evaluate_func_jacobian_DMatrix(&mut self, x: Vec<f64>)  {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_func_jacobian_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_funvector_lambdified_DVector` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:343:12
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn evaluate_funvector_lambdified_DVector(&mut self, arg_values: Vec<f64>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_funvector_lambdified_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_jacobian_fun_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:356:11
[INFO] [stdout]     |
[INFO] [stdout] 356 |    pub fn calc_jacobian_fun_IVP(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calc_jacobian_fun_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `jacobian_generate_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:383:8
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub fn jacobian_generate_IVP(&mut self, arg:&str, variable_str: Vec<&str>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_generate_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_jacobian_fun_IVP_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:404:8
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub fn calc_jacobian_fun_IVP_DMatrix(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calc_jacobian_fun_ivp_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `jacobian_generate_IVP_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:433:8
[INFO] [stdout]     |
[INFO] [stdout] 433 | pub fn jacobian_generate_IVP_DMatrix(&mut self, arg:&str, variable_str: Vec<&str>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_generate_ivp_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_func_jacobian_DMatrix_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:454:8
[INFO] [stdout]     |
[INFO] [stdout] 454 | pub fn evaluate_func_jacobian_DMatrix_IVP(&mut self, arg: f64, x: Vec<f64>)  {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_func_jacobian_dmatrix_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/numerical/common.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut h_ = DVector::zeros(n);
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_func_jacobian_box_DMatrix_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:469:8
[INFO] [stdout]     |
[INFO] [stdout] 469 | pub fn evaluate_func_jacobian_box_DMatrix_IVP(&mut self, arg: f64, x: Vec<f64>)  {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_func_jacobian_box_dmatrix_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify_funcvector_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:473:8
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub fn lambdify_funcvector_IVP(&mut self,arg:&str , variable_str: Vec<&str>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify_funcvector_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vector_funvector_IVP_DVector` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:487:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | pub fn vector_funvector_IVP_DVector(&mut self, arg:&str , variable_str: Vec<&str>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vector_funvector_ivp_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:507:82
[INFO] [stdout]     |
[INFO] [stdout] 507 |     self.lambdified_functions_IVP_DVector = f(vector_of_functions.to_owned(), arg.clone().to_string()
[INFO] [stdout]     |                                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_funvector_lambdified_DVector_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:511:8
[INFO] [stdout]     |
[INFO] [stdout] 511 | pub fn evaluate_funvector_lambdified_DVector_IVP(&mut self, arg: f64, values: Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_funvector_lambdified_dvector_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_funvector_lambdified_box_DVector_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:520:8
[INFO] [stdout]     |
[INFO] [stdout] 520 | pub fn evaluate_funvector_lambdified_box_DVector_IVP(&mut self, arg: f64, values: Vec<f64>) { 
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_funvector_lambdified_box_dvector_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:526:8
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub fn generate_IVP(&mut self, eq_system: Vec<Expr>, values: Vec<String>, arg:String,) {
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_IVP_ODEsolver` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:536:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | pub fn generate_IVP_ODEsolver(&mut self, eq_system: Vec<Expr>, values: Vec<String>, arg:String,) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_ivp_odesolver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h_vecs`
[INFO] [stdout]    --> src/numerical/common.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |     let h_vecs = DMatrix::from_diagonal(h);
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_vecs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `NR` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub mod NR;
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f_new`
[INFO] [stdout]    --> src/numerical/common.rs:563:14
[INFO] [stdout]     |
[INFO] [stdout] 563 |         let (f_new, diff_new) = create_f_diff(y_new,t, fun, f);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BE` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub mod BE;
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `be`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BDF` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub mod BDF;
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `bdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BDF_utils` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:48:6
[INFO] [stdout]    |
[INFO] [stdout] 48 |  mod BDF_utils;
[INFO] [stdout]    |      ^^^^^^^^^ help: convert the identifier to snake case: `bdf_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BDF_api` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub mod BDF_api;
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `bdf_api`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ODE_api` should have a snake case name
[INFO] [stdout]    --> src/numerical.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub mod ODE_api;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `ode_api`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]   --> src/numerical/NR.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let Jacobian_instance = &mut self.jacobian;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut Jacobian_instance = &mut self.jacobian;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `solve_linear_LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn solve_linear_LU(coeffs:Vec<Vec<f64>>, constants: Vec<f64>) -> Result< Vec<f64>, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `solve_linear_lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `RHS` should have a snake case name
[INFO] [stdout]   --> src/numerical/BE.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     RHS: Vec<Expr>, //vector of right hand sides of the equations in symbolic form
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change_D` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn change_D(D: &mut DMatrix<f64>, order: usize, factor: f64) {
[INFO] [stdout]    |    ^^^^^^^^ help: convert the identifier to snake case: `change_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn change_D(D: &mut DMatrix<f64>, order: usize, factor: f64) {
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     J: DMatrix<f64>,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `I` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     I: DMatrix<f64>,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case (notice the capitalization): `i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     D: DMatrix<f64>,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     LU: Option< LU<f64, Dyn, Dyn> >,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:333:27
[INFO] [stdout]     |
[INFO] [stdout] 333 |             lu: Box::new(|J: &DMatrix<f64>| LU::new(J.clone())  ), 
[INFO] [stdout]     |                           ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |                 let mut D = DMatrix::zeros(MAX_ORDER + 3, self.y.len());
[INFO] [stdout]     |                         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:464:23
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let lu = |A: &DMatrix<f64>| {
[INFO] [stdout]     |                       ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:468:28
[INFO] [stdout]     |
[INFO] [stdout] 468 |            let solve_lu = |LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>| -> DVector<f64> {
[INFO] [stdout]     |                            ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:473:26
[INFO] [stdout]     |
[INFO] [stdout] 473 |            fn solve_lu_f(LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>) -> DVector<f64> {
[INFO] [stdout]     |                          ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:487:26
[INFO] [stdout]     |
[INFO] [stdout] 487 |                let lu = |A: &DMatrix<f64>| {
[INFO] [stdout]     |                          ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:491:32
[INFO] [stdout]     |
[INFO] [stdout] 491 |                let solve_lu = |LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>| -> DVector<f64> {
[INFO] [stdout]     |                                ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:496:30
[INFO] [stdout]     |
[INFO] [stdout] 496 |                fn solve_lu_f(LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>) -> DVector<f64> {
[INFO] [stdout]     |                              ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout] 590 |             let J = jac(t0, &y0);
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:720:17
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let mut D = self.D.clone();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:746:17
[INFO] [stdout]     |
[INFO] [stdout] 746 |         let mut J = self.J.clone();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:747:17
[INFO] [stdout]     |
[INFO] [stdout] 747 |         let mut LU = self.LU.clone();
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:831:25
[INFO] [stdout]     |
[INFO] [stdout] 831 |                     let J = (self.jac.as_mut().unwrap())(t_new, &y_predict);
[INFO] [stdout]     |                         ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D_` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:871:13
[INFO] [stdout]     |
[INFO] [stdout] 871 |         let D_ = D.clone();
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D_` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:888:17
[INFO] [stdout]     |
[INFO] [stdout] 888 |             let D_ = D.clone();
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn group_columns(A: &DMatrix<f64>, order: OrderEnum) -> Vec<usize> {
[INFO] [stdout]    |                      ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let A  = A.map(|x| if x != 0.0 { 1 } else { 0 }).cast::<i64>();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut A = A.clone();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A_` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut A_ = DMatrix::zeros( m, n);
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF_utils.rs:106:36
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn group_dense(m: usize, n: usize, A: &DMatrix<i64>) -> Vec<usize> {
[INFO] [stdout]     |                                    ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF_utils.rs:145:37
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn group_sparse(m: usize, n: usize, A: &DMatrix<i64>) -> Vec<usize> {
[INFO] [stdout]     |                                     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sparseCs` should have a snake case name
[INFO] [stdout]   --> src/numerical/common.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn is_sparseCs(matrix: &CsrMatrix<f64>, threshold: f64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^ help: convert the identifier to snake case: `is_sparse_cs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `numerical::BDF::na::Matrix::<T, D, numerical::BDF::na::Const<1>, S>::push` that must be used
[INFO] [stdout]    --> src/numerical/common.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         y_scale.push(y_scale_i);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let _ = y_scale.push(y_scale_i);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `numerical::BDF::na::Matrix::<T, D, numerical::BDF::na::Const<1>, S>::push` that must be used
[INFO] [stdout]    --> src/numerical/common.rs:424:18
[INFO] [stdout]     |
[INFO] [stdout] 424 |                  h_.push(h[i]);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 424 |                  let _ = h_.push(h[i]);
[INFO] [stdout]     |                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/common.rs:430:10
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let (J, factor) = if let Some((structure, groups)) = sparsity {
[INFO] [stdout]     |          ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BE` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_api.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             BE => Solvers::BE(BE::new()),
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `be`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BDF` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_api.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             BDF => Solvers::BDF(BDF::new()),
[INFO] [stdout]    |             ^^^ help: convert the identifier to snake case: `bdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Solver_instance` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_api.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Solver_instance: BDF,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `solver_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `New` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_api.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let New = BDF::new();
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF_api.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Solver_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF_api.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let mut Solver_instance = BDF::new();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `solver_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/numerical/common.rs:483:8
[INFO] [stdout]     |
[INFO] [stdout] 483 |    let mut y_new:DMatrix<f64> = DMatrix::from_fn(n, n, |i, j|    (y[j] + h[i]) );
[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/numerical/common.rs:545:9
[INFO] [stdout]     |
[INFO] [stdout] 545 |     let mut scale = DMatrix::from_vec(n,1, scale_vec.clone());
[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/numerical/common.rs:559:13
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let mut h_vecs = DMatrix::from_diagonal(&h_new);
[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/numerical/common.rs:560:13
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let mut h_vecs = h_vecs.select_columns(&ind);
[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/numerical/common.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut y_new:DMatrix<f64> = DMatrix::from_fn(n, n, |i, j|    (y[j] + h_vecs[i]) );
[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/numerical/common.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let mut diff =  DMatrix::from_vec( n, n, diff_vec);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 228 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/numerical/BDF_api.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             BE => Solvers::BE(BE::new()),
[INFO] [stdout]    |             -- matches any value
[INFO] [stdout] 21 |             BDF => Solvers::BDF(BDF::new()),
[INFO] [stdout]    |             ^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/numerical/BDF_api.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             BE => Solvers::BE(BE::new()),
[INFO] [stdout]    |             -- matches any value
[INFO] [stdout] 21 |             BDF => Solvers::BDF(BDF::new()),
[INFO] [stdout] 22 |             _ => panic!("Unknown solver name"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `BE`
[INFO] [stdout]   --> src/numerical/BDF_api.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             BE => Solvers::BE(BE::new()),
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_BE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `BDF`
[INFO] [stdout]   --> src/numerical/BDF_api.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             BDF => Solvers::BDF(BDF::new()),
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_BDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/numerical/BDF_api.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let status:String = "running".to_string();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/numerical/BDF_api.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut i:i64 = 0;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/numerical/BDF_api.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let status: i8 = 0;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `integr_status` is never read
[INFO] [stdout]    --> src/numerical/BDF_api.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |             integr_status = Some(-1);
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/numerical/ODE_api.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut i: i64 = 0;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `integr_status` is never read
[INFO] [stdout]    --> src/numerical/ODE_api.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 integr_status = Some(-1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Jacobian_instance`
[INFO] [stdout]    --> src/main.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 |       let x = Expr::Var("x".to_string()); // argument
[INFO] [stdout]     |           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/main.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/main.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let (mut a,mut  b, mut c) = (vector_of_symbolic_vars[0].clone(), 
[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/main.rs:198:11
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `equations_string`, `x`, `newton`, `max_iterations`, `max_error`, and `result` are never read
[INFO] [stdout]   --> src/numerical/BE.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct BE {
[INFO] [stdout]    |            -- fields in this struct
[INFO] [stdout] 11 |     equations_string: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     x:String, // argument of the equations
[INFO] [stdout]    |     ^
[INFO] [stdout] 15 |     equations: Vec<Expr>, //vector of equations in symbolic form
[INFO] [stdout] 16 |     newton: NR,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     max_iterations: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     max_error: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 21 |     result: Option<Vec<f64>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_lu_f` is never used
[INFO] [stdout]    --> src/numerical/BDF.rs:473:15
[INFO] [stdout]     |
[INFO] [stdout] 473 |            fn solve_lu_f(LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>) -> DVector<f64> {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_lu_f` is never used
[INFO] [stdout]    --> src/numerical/BDF.rs:496:19
[INFO] [stdout]     |
[INFO] [stdout] 496 |                fn solve_lu_f(LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>) -> DVector<f64> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Vector` and `Scalar` are never constructed
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum OrderEnum {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 48 |     None,
[INFO] [stdout] 49 |     Vector(Vec<usize>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 50 |     Scalar(usize),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EPS` is never used
[INFO] [stdout]  --> src/numerical/common.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const EPS: f64 = std::f64::EPSILON;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sparseCs` is never used
[INFO] [stdout]   --> src/numerical/common.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn is_sparseCs(matrix: &CsrMatrix<f64>, threshold: f64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_jac` is never used
[INFO] [stdout]    --> src/numerical/common.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn num_jac(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_DIFF_REJECT` is never used
[INFO] [stdout]    --> src/numerical/common.rs:441:7
[INFO] [stdout]     |
[INFO] [stdout] 441 | const NUM_JAC_DIFF_REJECT: f64 = 1e-6;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_FACTOR_INCREASE` is never used
[INFO] [stdout]    --> src/numerical/common.rs:442:7
[INFO] [stdout]     |
[INFO] [stdout] 442 | const NUM_JAC_FACTOR_INCREASE: f64 = 10.0;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_FACTOR_DECREASE` is never used
[INFO] [stdout]    --> src/numerical/common.rs:443:7
[INFO] [stdout]     |
[INFO] [stdout] 443 | const NUM_JAC_FACTOR_DECREASE: f64 = 0.1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_MIN_FACTOR` is never used
[INFO] [stdout]    --> src/numerical/common.rs:444:7
[INFO] [stdout]     |
[INFO] [stdout] 444 | const NUM_JAC_MIN_FACTOR: f64 = 1e-7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_DIFF_SMALL` is never used
[INFO] [stdout]    --> src/numerical/common.rs:445:7
[INFO] [stdout]     |
[INFO] [stdout] 445 | const NUM_JAC_DIFF_SMALL: f64 = 1e-6;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_JAC_DIFF_BIG` is never used
[INFO] [stdout]    --> src/numerical/common.rs:446:7
[INFO] [stdout]     |
[INFO] [stdout] 446 | const NUM_JAC_DIFF_BIG: f64 = 1e-2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jac_sparsity` is never read
[INFO] [stdout]   --> src/numerical/BDF_api.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ODEsolver {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     jac_sparsity: Option<DMatrix<f64>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jac_sparsity` is never read
[INFO] [stdout]   --> src/numerical/ODE_api.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct ODEsolver {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 71 |     jac_sparsity: Option<DMatrix<f64>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |       let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NR_instanse` should have a snake case name
[INFO] [stdout]    --> src/main.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |     let mut NR_instanse = NR::new();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `nr_instanse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NR_instanse` should have a snake case name
[INFO] [stdout]    --> src/main.rs:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 |      let mut NR_instanse = NR::new();
[INFO] [stdout]     |              ^^^^^^^^^^^ help: convert the identifier to snake case: `nr_instanse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BE_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:189:15
[INFO] [stdout]     |
[INFO] [stdout] 189 |       let mut BE_instance = BE::new();
[INFO] [stdout]     |               ^^^^^^^^^^^ help: convert the identifier to snake case: `be_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vec_of_RHS` should have a snake case name
[INFO] [stdout]    --> src/main.rs:191:11
[INFO] [stdout]     |
[INFO] [stdout] 191 |       let vec_of_RHS = vec![ "z+y".to_string(), "z".to_string()];
[INFO] [stdout]     |           ^^^^^^^^^^ help: convert the identifier to snake case: `vec_of_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ODE_instance` should have a snake case name
[INFO] [stdout]    --> src/main.rs:225:15
[INFO] [stdout]     |
[INFO] [stdout] 225 |       let mut ODE_instance = ODEsolver::new(
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: convert the identifier to snake case: `ode_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     ODE_instance.save_result();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let _ = ODE_instance.save_result();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]    --> src/symbolic/parse_expr.rs:313:17
[INFO] [stdout]     |
[INFO] [stdout] 313 |             let C = Box::new(Expr::Const(2.0));
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `z_minus_C` should have a snake case name
[INFO] [stdout]    --> src/symbolic/parse_expr.rs:315:17
[INFO] [stdout]     |
[INFO] [stdout] 315 |             let z_minus_C = Box::new(Expr::Sub(z, C));
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `z_minus_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `z_minus_C_div_e` should have a snake case name
[INFO] [stdout]    --> src/symbolic/parse_expr.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |             let z_minus_C_div_e = 
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `z_minus_c_div_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Res` should have a snake case name
[INFO] [stdout]    --> src/symbolic/parse_expr.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |             let Res = Expr::Mul(x_plus_y, z_minus_C_div_e);
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Symbols` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn Symbols(symbols: &str) -> Vec<Expr> {
[INFO] [stdout]     |            ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `symbols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:334:12
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn lambdify1D(&self) -> Box<dyn Fn(f64)-> f64> {
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to snake case: `lambdify1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_vector_lambdified1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:582:12
[INFO] [stdout]     |
[INFO] [stdout] 582 |     pub fn calc_vector_lambdified1D(&self, x: &Vec<f64>) -> Vec<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calc_vector_lambdified1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify1D_from_linspace` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:590:12
[INFO] [stdout]     |
[INFO] [stdout] 590 |     pub fn lambdify1D_from_linspace(&self, start: f64, end: f64, num_values: usize) ->  Vec<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify1_d_from_linspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compare_num1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:595:12
[INFO] [stdout]     |
[INFO] [stdout] 595 |     pub fn compare_num1D(&self, var: &str, start: f64, end: f64, num_values: usize, max_norm: f64) ->( f64, bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `compare_num1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:715:11
[INFO] [stdout]     |
[INFO] [stdout] 715 |    pub fn lambdify_IVP(&self,arg:&str, vars: Vec<&str>) -> Box<dyn Fn(f64, Vec<f64>) -> f64 +'_> {
[INFO] [stdout]     |           ^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify_IVP_owned` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:732:11
[INFO] [stdout]     |
[INFO] [stdout] 732 |    pub fn lambdify_IVP_owned(self,arg:&str, vars: Vec<&str>) -> Box<dyn Fn(f64, Vec<f64>) -> f64 > {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify_ivp_owned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:764:13
[INFO] [stdout]     |
[INFO] [stdout] 764 |         let C =Expr::Const(2.0);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C1` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:765:13
[INFO] [stdout]     |
[INFO] [stdout] 765 |         let C1 = Expr::Const(1.0);
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case (notice the capitalization): `c1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_lambdify1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:783:8
[INFO] [stdout]     |
[INFO] [stdout] 783 |     fn test_lambdify1D() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_lambdify1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:801:8
[INFO] [stdout]     |
[INFO] [stdout] 801 |     fn test_1D() {
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to snake case: `test_1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_1D_2` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:813:8
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn test_1D_2() {
[INFO] [stdout]     |        ^^^^^^^^^ help: convert the identifier to snake case: `test_1_d_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:830:13
[INFO] [stdout]     |
[INFO] [stdout] 830 |         let C = Expr::Const(3.0);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C1` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:835:13
[INFO] [stdout]     |
[INFO] [stdout] 835 |         let C1 = Expr::Const(1.0);
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case (notice the capitalization): `c1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C0` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:836:13
[INFO] [stdout]     |
[INFO] [stdout] 836 |         let C0 = Expr::Const(0.0);
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case (notice the capitalization): `c0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_calc_vector_lambdified1D` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:861:8
[INFO] [stdout]     |
[INFO] [stdout] 861 |     fn test_calc_vector_lambdified1D() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_calc_vector_lambdified1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_lambdify1D_from_linspace` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:872:8
[INFO] [stdout]     |
[INFO] [stdout] 872 |     fn test_lambdify1D_from_linspace() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_lambdify1_d_from_linspace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lambdify_IVP_test` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:905:8
[INFO] [stdout]     |
[INFO] [stdout] 905 |     fn lambdify_IVP_test() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify_ivp_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lambdify_IVP_owned_test` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_engine.rs:919:8
[INFO] [stdout]     |
[INFO] [stdout] 919 |     fn lambdify_IVP_owned_test() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify_ivp_owned_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `evaluated_functions_DVector` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub evaluated_functions_DVector:DVector<f64>, // vector of DVector of numerical results of evaluated functions 
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluated_functions_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `evaluated_jacobian_DMatrix` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub evaluated_jacobian_DMatrix: DMatrix<f64>, // vector of DMatrix of numerical results of evaluated jacobian
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluated_jacobian_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `function_jacobian_IVP` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub function_jacobian_IVP : Vec<Vec<Box<dyn Fn(f64, Vec<f64>) -> f64 >>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_jacobian_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lambdified_functions_IVP` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub lambdified_functions_IVP : Vec<Box<dyn Fn(f64, Vec<f64>) -> f64 >>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdified_functions_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `function_jacobian_IVP_DMatrix` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub function_jacobian_IVP_DMatrix:    Box<dyn Fn(f64, &DVector<f64>) -> DMatrix<f64>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_jacobian_ivp_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lambdified_functions_IVP_DVector` should have a snake case name
[INFO] [stdout]   --> src/symbolic/symbolic_functions.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub lambdified_functions_IVP_DVector: Box<dyn Fn(f64, &DVector<f64>) -> DVector<f64>>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdified_functions_ivp_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `evaluated_functions_DVector` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut evaluated_functions_DVector = Vec::new().into();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluated_functions_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `evaluated_jacobian_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut evaluated_jacobian_DMatrix =  DMatrix::from_row_slice( 2, 2, &vec![0.0, 0.0, 0.0, 0.0],);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluated_jacobian_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `function_jacobian_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut function_jacobian_IVP = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_jacobian_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lambdified_functions_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut lambdified_functions_IVP = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdified_functions_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `function_jacobian_IVP_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |          let mut function_jacobian_IVP_DMatrix = Box::new(|xx: f64, y: &DVector<f64>| DMatrix::from_element(2, 2, 0.0));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_jacobian_ivp_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lambdified_functions_IVP_DVector` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut lambdified_functions_IVP_DVector = Box::new(|xx: f64, y: &DVector<f64>| DVector::from_element(2, 0.0));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdified_functions_ivp_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_func_jacobian_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn evaluate_func_jacobian_DMatrix(&mut self, x: Vec<f64>)  {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_func_jacobian_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_funvector_lambdified_DVector` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:343:12
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn evaluate_funvector_lambdified_DVector(&mut self, arg_values: Vec<f64>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_funvector_lambdified_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_jacobian_fun_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:356:11
[INFO] [stdout]     |
[INFO] [stdout] 356 |    pub fn calc_jacobian_fun_IVP(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calc_jacobian_fun_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `jacobian_generate_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:383:8
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub fn jacobian_generate_IVP(&mut self, arg:&str, variable_str: Vec<&str>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_generate_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calc_jacobian_fun_IVP_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:404:8
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub fn calc_jacobian_fun_IVP_DMatrix(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calc_jacobian_fun_ivp_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `jacobian_generate_IVP_DMatrix` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:433:8
[INFO] [stdout]     |
[INFO] [stdout] 433 | pub fn jacobian_generate_IVP_DMatrix(&mut self, arg:&str, variable_str: Vec<&str>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_generate_ivp_dmatrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_func_jacobian_DMatrix_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:454:8
[INFO] [stdout]     |
[INFO] [stdout] 454 | pub fn evaluate_func_jacobian_DMatrix_IVP(&mut self, arg: f64, x: Vec<f64>)  {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_func_jacobian_dmatrix_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_func_jacobian_box_DMatrix_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:469:8
[INFO] [stdout]     |
[INFO] [stdout] 469 | pub fn evaluate_func_jacobian_box_DMatrix_IVP(&mut self, arg: f64, x: Vec<f64>)  {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_func_jacobian_box_dmatrix_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lambdify_funcvector_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:473:8
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub fn lambdify_funcvector_IVP(&mut self,arg:&str , variable_str: Vec<&str>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambdify_funcvector_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vector_funvector_IVP_DVector` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:487:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | pub fn vector_funvector_IVP_DVector(&mut self, arg:&str , variable_str: Vec<&str>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vector_funvector_ivp_dvector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:507:82
[INFO] [stdout]     |
[INFO] [stdout] 507 |     self.lambdified_functions_IVP_DVector = f(vector_of_functions.to_owned(), arg.clone().to_string()
[INFO] [stdout]     |                                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_funvector_lambdified_DVector_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:511:8
[INFO] [stdout]     |
[INFO] [stdout] 511 | pub fn evaluate_funvector_lambdified_DVector_IVP(&mut self, arg: f64, values: Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_funvector_lambdified_dvector_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate_funvector_lambdified_box_DVector_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:520:8
[INFO] [stdout]     |
[INFO] [stdout] 520 | pub fn evaluate_funvector_lambdified_box_DVector_IVP(&mut self, arg: f64, values: Vec<f64>) { 
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_funvector_lambdified_box_dvector_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_IVP` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:526:8
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub fn generate_IVP(&mut self, eq_system: Vec<Expr>, values: Vec<String>, arg:String,) {
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_ivp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_IVP_ODEsolver` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:536:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | pub fn generate_IVP_ODEsolver(&mut self, eq_system: Vec<Expr>, values: Vec<String>, arg:String,) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_ivp_odesolver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_IVP_test` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:561:8
[INFO] [stdout]     |
[INFO] [stdout] 561 |     fn generate_IVP_test() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_ivp_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:562:17
[INFO] [stdout]     |
[INFO] [stdout] 562 |         let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_IVP_ODEsolver_test` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:583:8
[INFO] [stdout]     |
[INFO] [stdout] 583 |     fn generate_IVP_ODEsolver_test() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_ivp_odesolver_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/symbolic/symbolic_functions.rs:584:17
[INFO] [stdout]     |
[INFO] [stdout] 584 |         let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `NR` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub mod NR;
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BE` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub mod BE;
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `be`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BDF` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub mod BDF;
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `bdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BDF_utils` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:48:6
[INFO] [stdout]    |
[INFO] [stdout] 48 |  mod BDF_utils;
[INFO] [stdout]    |      ^^^^^^^^^ help: convert the identifier to snake case: `bdf_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BDF_api` should have a snake case name
[INFO] [stdout]   --> src/numerical.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub mod BDF_api;
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `bdf_api`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ODE_api` should have a snake case name
[INFO] [stdout]    --> src/numerical.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub mod ODE_api;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `ode_api`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]   --> src/numerical/NR.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let Jacobian_instance = &mut self.jacobian;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut Jacobian_instance = &mut self.jacobian;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `solve_linear_LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn solve_linear_LU(coeffs:Vec<Vec<f64>>, constants: Vec<f64>) -> Result< Vec<f64>, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `solve_linear_lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_NR_set_equation_sysytem` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn test_NR_set_equation_sysytem() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_nr_set_equation_sysytem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NR_instanse` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 |      let mut NR_instanse = NR::new();
[INFO] [stdout]     |              ^^^^^^^^^^^ help: convert the identifier to snake case: `nr_instanse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_NR_eq_generate_from_str` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:260:4
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn test_NR_eq_generate_from_str() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_nr_eq_generate_from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NR_instanse` should have a snake case name
[INFO] [stdout]    --> src/numerical/NR.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |     let mut NR_instanse = NR::new();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `nr_instanse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `RHS` should have a snake case name
[INFO] [stdout]   --> src/numerical/BE.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     RHS: Vec<Expr>, //vector of right hand sides of the equations in symbolic form
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change_D` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn change_D(D: &mut DMatrix<f64>, order: usize, factor: f64) {
[INFO] [stdout]    |    ^^^^^^^^ help: convert the identifier to snake case: `change_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn change_D(D: &mut DMatrix<f64>, order: usize, factor: f64) {
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     J: DMatrix<f64>,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `I` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     I: DMatrix<f64>,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case (notice the capitalization): `i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     D: DMatrix<f64>,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     LU: Option< LU<f64, Dyn, Dyn> >,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:333:27
[INFO] [stdout]     |
[INFO] [stdout] 333 |             lu: Box::new(|J: &DMatrix<f64>| LU::new(J.clone())  ), 
[INFO] [stdout]     |                           ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |                 let mut D = DMatrix::zeros(MAX_ORDER + 3, self.y.len());
[INFO] [stdout]     |                         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:464:23
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let lu = |A: &DMatrix<f64>| {
[INFO] [stdout]     |                       ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:468:28
[INFO] [stdout]     |
[INFO] [stdout] 468 |            let solve_lu = |LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>| -> DVector<f64> {
[INFO] [stdout]     |                            ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:473:26
[INFO] [stdout]     |
[INFO] [stdout] 473 |            fn solve_lu_f(LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>) -> DVector<f64> {
[INFO] [stdout]     |                          ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:487:26
[INFO] [stdout]     |
[INFO] [stdout] 487 |                let lu = |A: &DMatrix<f64>| {
[INFO] [stdout]     |                          ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:491:32
[INFO] [stdout]     |
[INFO] [stdout] 491 |                let solve_lu = |LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>| -> DVector<f64> {
[INFO] [stdout]     |                                ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:496:30
[INFO] [stdout]     |
[INFO] [stdout] 496 |                fn solve_lu_f(LU: &LU<f64, Dyn, Dyn>, b: &DVector<f64>) -> DVector<f64> {
[INFO] [stdout]     |                              ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout] 590 |             let J = jac(t0, &y0);
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:720:17
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let mut D = self.D.clone();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:746:17
[INFO] [stdout]     |
[INFO] [stdout] 746 |         let mut J = self.J.clone();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `LU` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:747:17
[INFO] [stdout]     |
[INFO] [stdout] 747 |         let mut LU = self.LU.clone();
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:831:25
[INFO] [stdout]     |
[INFO] [stdout] 831 |                     let J = (self.jac.as_mut().unwrap())(t_new, &y_predict);
[INFO] [stdout]     |                         ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D_` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:871:13
[INFO] [stdout]     |
[INFO] [stdout] 871 |         let D_ = D.clone();
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D_` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF.rs:888:17
[INFO] [stdout]     |
[INFO] [stdout] 888 |             let D_ = D.clone();
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn group_columns(A: &DMatrix<f64>, order: OrderEnum) -> Vec<usize> {
[INFO] [stdout]    |                      ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let A  = A.map(|x| if x != 0.0 { 1 } else { 0 }).cast::<i64>();
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut A = A.clone();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A_` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_utils.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut A_ = DMatrix::zeros( m, n);
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF_utils.rs:106:36
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn group_dense(m: usize, n: usize, A: &DMatrix<i64>) -> Vec<usize> {
[INFO] [stdout]     |                                    ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF_utils.rs:145:37
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn group_sparse(m: usize, n: usize, A: &DMatrix<i64>) -> Vec<usize> {
[INFO] [stdout]     |                                     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sparseCs` should have a snake case name
[INFO] [stdout]   --> src/numerical/common.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn is_sparseCs(matrix: &CsrMatrix<f64>, threshold: f64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^ help: convert the identifier to snake case: `is_sparse_cs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `numerical::BDF::na::Matrix::<T, D, numerical::BDF::na::Const<1>, S>::push` that must be used
[INFO] [stdout]    --> src/numerical/common.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         y_scale.push(y_scale_i);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let _ = y_scale.push(y_scale_i);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `numerical::BDF::na::Matrix::<T, D, numerical::BDF::na::Const<1>, S>::push` that must be used
[INFO] [stdout]    --> src/numerical/common.rs:424:18
[INFO] [stdout]     |
[INFO] [stdout] 424 |                  h_.push(h[i]);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 424 |                  let _ = h_.push(h[i]);
[INFO] [stdout]     |                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/numerical/common.rs:430:10
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let (J, factor) = if let Some((structure, groups)) = sparsity {
[INFO] [stdout]     |          ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BE` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_api.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             BE => Solvers::BE(BE::new()),
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `be`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BDF` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_api.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             BDF => Solvers::BDF(BDF::new()),
[INFO] [stdout]    |             ^^^ help: convert the identifier to snake case: `bdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Solver_instance` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_api.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Solver_instance: BDF,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `solver_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `New` should have a snake case name
[INFO] [stdout]   --> src/numerical/BDF_api.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let New = BDF::new();
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jacobian_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF_api.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let mut Jacobian_instance = Jacobian::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jacobian_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Solver_instance` should have a snake case name
[INFO] [stdout]    --> src/numerical/BDF_api.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let mut Solver_instance = BDF::new();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `solver_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 263 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.51s
[INFO] running `Command { std: "docker" "inspect" "14acef910db046a778dd3082b6db71c04262fc501483445d0031b0b7e3b0a444", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14acef910db046a778dd3082b6db71c04262fc501483445d0031b0b7e3b0a444", kill_on_drop: false }`
[INFO] [stdout] 14acef910db046a778dd3082b6db71c04262fc501483445d0031b0b7e3b0a444
