[INFO] cloning repository https://github.com/predomics/gpredomics
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/predomics/gpredomics" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpredomics%2Fgpredomics", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpredomics%2Fgpredomics'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 395dcad77f2142d0fc5e5ea5acfc4f2fc702f6b8
[INFO] testing predomics/gpredomics against 1.83.0 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpredomics%2Fgpredomics" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/predomics/gpredomics on toolchain 1.83.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/predomics/gpredomics
[INFO] finished tweaking git repo https://github.com/predomics/gpredomics
[INFO] tweaked toml for git repo https://github.com/predomics/gpredomics written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/predomics/gpredomics 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" "+1.83.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded statrs v0.16.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31b70fa2a76e104cf73107fc036cf3c36f4d413b0bbfb5bfee125eab44be912f
[INFO] running `Command { std: "docker" "start" "-a" "31b70fa2a76e104cf73107fc036cf3c36f4d413b0bbfb5bfee125eab44be912f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31b70fa2a76e104cf73107fc036cf3c36f4d413b0bbfb5bfee125eab44be912f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31b70fa2a76e104cf73107fc036cf3c36f4d413b0bbfb5bfee125eab44be912f", kill_on_drop: false }`
[INFO] [stdout] 31b70fa2a76e104cf73107fc036cf3c36f4d413b0bbfb5bfee125eab44be912f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca1ba61c0eed9531c88f17a2d5ceabdf272b458f9d3f8b545ac4e9baecbea805
[INFO] running `Command { std: "docker" "start" "-a" "ca1ba61c0eed9531c88f17a2d5ceabdf272b458f9d3f8b545ac4e9baecbea805", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling libc v0.2.166
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling bytemuck v1.20.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling safe_arch v0.7.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling wide v0.7.30
[INFO] [stderr]    Compiling syn v2.0.89
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling simba v0.6.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling nalgebra v0.29.0
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling statrs v0.16.1
[INFO] [stderr]    Compiling gpredomics v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::rngs::ThreadRng`
[INFO] [stdout]  --> src/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::rngs::ThreadRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `statrs::statistics::Statistics`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use statrs::statistics::Statistics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rngs::ThreadRng`
[INFO] [stdout]  --> src/individual.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{rngs::ThreadRng, seq::SliceRandom}; // Provides the `choose_multiple` method
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/individual.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::once`
[INFO] [stdout]  --> src/individual.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::once;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/param.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufRead, BufReader};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/population.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/ga.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 |         if (epoch>=param.ga.max_epochs) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 64 -         if (epoch>=param.ga.max_epochs) {
[INFO] [stdout] 64 +         if epoch>=param.ga.max_epochs {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_chacha::ChaCha8Rng`
[INFO] [stdout]  --> src/hyper.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand_chacha::ChaCha8Rng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cv::CV`
[INFO] [stdout]  --> src/hyper.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cv::CV;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::Data`
[INFO] [stdout]  --> src/hyper.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::param::Param`
[INFO] [stdout]  --> src/hyper.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::param::Param;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if (auc>auc_max) {auc_max=auc;best_individual=my_individual;}
[INFO] [stdout]    |            ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -         if (auc>auc_max) {auc_max=auc;best_individual=my_individual;}
[INFO] [stdout] 51 +         if auc>auc_max {auc_max=auc;best_individual=my_individual;}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/utils.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     (0..reference_size).map(|i| { rng.gen_range(-1..1) }).collect()
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[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/param.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut param_reader = BufReader::new(param_file_reader);
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/population.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         for i in 0..population_size {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ga.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn ga(mut data: &mut Data, param: &Param) -> Vec<Population> {
[INFO] [stdout]    |           ----^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/ga.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     for i in 0..(param.ga.population_size as usize-parents.individuals.len()) {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/main.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     for i in 0..10000 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `basic_test` is never used
[INFO] [stdout]   --> src/main.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn basic_test() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `univariate_order` is never read
[INFO] [stdout]   --> src/data.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Data {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub univariate_order: Vec<u32>,     // Order of univariate features
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clone_with_new_x` is never used
[INFO] [stdout]    --> src/data.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 21  | impl Data {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn clone_with_new_x(&self, X:Vec<Vec<f64>>) -> Data {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `help` and `calculate_confusion_matrix` are never used
[INFO] [stdout]    --> src/individual.rs:22:12
[INFO] [stdout]     |
[INFO] [stdout] 20  | impl Individual {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 21  |     /// Provides a help message describing the `Individual` struct and its fields.
[INFO] [stdout] 22  |     pub fn help() -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn calculate_confusion_matrix(&self, value: &Vec<f64>, y: &[u8], threshold: f64) -> (usize, usize, usize, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `help`, `evaluate`, and `extend` are never used
[INFO] [stdout]   --> src/population.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Population {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 14 |     /// Provides a help message describing the `Population` struct and its fields.
[INFO] [stdout] 15 |     pub fn help() -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn evaluate(& mut self, data: &Data) -> & mut Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn extend(&mut self, individuals: Vec<Individual>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[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] 42 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let _ = test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let _ = test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/data.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub X: Vec<Vec<f64>>,         // Matrix for feature values
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X_path` should have a snake case name
[INFO] [stdout]   --> src/data.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn load_data(&mut self, X_path: &str, y_path: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                 ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `file_X` should have a snake case name
[INFO] [stdout]   --> src/data.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let file_X = File::open(X_path)?;
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `file_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `reader_X` should have a snake case name
[INFO] [stdout]   --> src/data.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut reader_X = BufReader::new(file_X);
[INFO] [stdout]    |                 ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `reader_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn clone_with_new_x(&self, X:Vec<Vec<f64>>) -> Data {
[INFO] [stdout]     |                                    ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> src/individual.rs:78:42
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn evaluate_from_features(&self, X: &Vec<Vec<f64>>) -> Vec<f64> {
[INFO] [stdout]    |                                          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> src/individual.rs:95:49
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn compute_auc_from_features(&mut self, X: &Vec<Vec<f64>>, y: &Vec<u8>) -> f64 {
[INFO] [stdout]    |                                                 ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X_permuted` should have a snake case name
[INFO] [stdout]    --> src/individual.rs:360:25
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 let mut X_permuted = data.X.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_permuted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/param.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub X: String,                      // Path to X data
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Xtest` should have a snake case name
[INFO] [stdout]   --> src/param.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub Xtest: String,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `xtest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.74s
[INFO] running `Command { std: "docker" "inspect" "ca1ba61c0eed9531c88f17a2d5ceabdf272b458f9d3f8b545ac4e9baecbea805", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca1ba61c0eed9531c88f17a2d5ceabdf272b458f9d3f8b545ac4e9baecbea805", kill_on_drop: false }`
[INFO] [stdout] ca1ba61c0eed9531c88f17a2d5ceabdf272b458f9d3f8b545ac4e9baecbea805
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ccd9440fcad9bc65ee206ecf3cf7907771776ed259d2e48ed6bca33daa320371
[INFO] running `Command { std: "docker" "start" "-a" "ccd9440fcad9bc65ee206ecf3cf7907771776ed259d2e48ed6bca33daa320371", kill_on_drop: false }`
[INFO] [stderr]    Compiling gpredomics v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::rngs::ThreadRng`
[INFO] [stdout]  --> src/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::rngs::ThreadRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `statrs::statistics::Statistics`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use statrs::statistics::Statistics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rngs::ThreadRng`
[INFO] [stdout]  --> src/individual.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{rngs::ThreadRng, seq::SliceRandom}; // Provides the `choose_multiple` method
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/individual.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::once`
[INFO] [stdout]  --> src/individual.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::once;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/param.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufRead, BufReader};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/population.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/ga.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 |         if (epoch>=param.ga.max_epochs) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 64 -         if (epoch>=param.ga.max_epochs) {
[INFO] [stdout] 64 +         if epoch>=param.ga.max_epochs {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_chacha::ChaCha8Rng`
[INFO] [stdout]  --> src/hyper.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand_chacha::ChaCha8Rng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cv::CV`
[INFO] [stdout]  --> src/hyper.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cv::CV;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::Data`
[INFO] [stdout]  --> src/hyper.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::data::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::param::Param`
[INFO] [stdout]  --> src/hyper.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::param::Param;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if (auc>auc_max) {auc_max=auc;best_individual=my_individual;}
[INFO] [stdout]    |            ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -         if (auc>auc_max) {auc_max=auc;best_individual=my_individual;}
[INFO] [stdout] 51 +         if auc>auc_max {auc_max=auc;best_individual=my_individual;}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/utils.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     (0..reference_size).map(|i| { rng.gen_range(-1..1) }).collect()
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[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/param.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut param_reader = BufReader::new(param_file_reader);
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/population.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         for i in 0..population_size {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ga.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn ga(mut data: &mut Data, param: &Param) -> Vec<Population> {
[INFO] [stdout]    |           ----^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/ga.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     for i in 0..(param.ga.population_size as usize-parents.individuals.len()) {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/main.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     for i in 0..10000 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `basic_test` is never used
[INFO] [stdout]   --> src/main.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn basic_test() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `univariate_order` is never read
[INFO] [stdout]   --> src/data.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Data {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub univariate_order: Vec<u32>,     // Order of univariate features
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clone_with_new_x` is never used
[INFO] [stdout]    --> src/data.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 21  | impl Data {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn clone_with_new_x(&self, X:Vec<Vec<f64>>) -> Data {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `help` and `calculate_confusion_matrix` are never used
[INFO] [stdout]    --> src/individual.rs:22:12
[INFO] [stdout]     |
[INFO] [stdout] 20  | impl Individual {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 21  |     /// Provides a help message describing the `Individual` struct and its fields.
[INFO] [stdout] 22  |     pub fn help() -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn calculate_confusion_matrix(&self, value: &Vec<f64>, y: &[u8], threshold: f64) -> (usize, usize, usize, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `help`, `evaluate`, and `extend` are never used
[INFO] [stdout]   --> src/population.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Population {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 14 |     /// Provides a help message describing the `Population` struct and its fields.
[INFO] [stdout] 15 |     pub fn help() -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn evaluate(& mut self, data: &Data) -> & mut Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn extend(&mut self, individuals: Vec<Individual>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[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] 42 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let _ = test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let _ = test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/data.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub X: Vec<Vec<f64>>,         // Matrix for feature values
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X_path` should have a snake case name
[INFO] [stdout]   --> src/data.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn load_data(&mut self, X_path: &str, y_path: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                 ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `file_X` should have a snake case name
[INFO] [stdout]   --> src/data.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let file_X = File::open(X_path)?;
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `file_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `reader_X` should have a snake case name
[INFO] [stdout]   --> src/data.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut reader_X = BufReader::new(file_X);
[INFO] [stdout]    |                 ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `reader_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn clone_with_new_x(&self, X:Vec<Vec<f64>>) -> Data {
[INFO] [stdout]     |                                    ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> src/individual.rs:78:42
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn evaluate_from_features(&self, X: &Vec<Vec<f64>>) -> Vec<f64> {
[INFO] [stdout]    |                                          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> src/individual.rs:95:49
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn compute_auc_from_features(&mut self, X: &Vec<Vec<f64>>, y: &Vec<u8>) -> f64 {
[INFO] [stdout]    |                                                 ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X_permuted` should have a snake case name
[INFO] [stdout]    --> src/individual.rs:360:25
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 let mut X_permuted = data.X.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_permuted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/param.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub X: String,                      // Path to X data
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Xtest` should have a snake case name
[INFO] [stdout]   --> src/param.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub Xtest: String,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `xtest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.12s
[INFO] running `Command { std: "docker" "inspect" "ccd9440fcad9bc65ee206ecf3cf7907771776ed259d2e48ed6bca33daa320371", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ccd9440fcad9bc65ee206ecf3cf7907771776ed259d2e48ed6bca33daa320371", kill_on_drop: false }`
[INFO] [stdout] ccd9440fcad9bc65ee206ecf3cf7907771776ed259d2e48ed6bca33daa320371
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5d5788652036ce0b77bf87cdf9c0e19df50304ae967ea05eb4639b0bd687b057
[INFO] running `Command { std: "docker" "start" "-a" "5d5788652036ce0b77bf87cdf9c0e19df50304ae967ea05eb4639b0bd687b057", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `rand::rngs::ThreadRng`
[INFO] [stderr]  --> src/utils.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rand::rngs::ThreadRng;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `statrs::statistics::Statistics`
[INFO] [stderr]  --> src/utils.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use statrs::statistics::Statistics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rngs::ThreadRng`
[INFO] [stderr]  --> src/individual.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rand::{rngs::ThreadRng, seq::SliceRandom}; // Provides the `choose_multiple` method
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/individual.rs:4:33
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::once`
[INFO] [stderr]  --> src/individual.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::iter::once;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]  --> src/param.rs:2:15
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::io::{BufRead, BufReader};
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/population.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/ga.rs:64:12
[INFO] [stderr]    |
[INFO] [stderr] 64 |         if (epoch>=param.ga.max_epochs) {
[INFO] [stderr]    |            ^                          ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 64 -         if (epoch>=param.ga.max_epochs) {
[INFO] [stderr] 64 +         if epoch>=param.ga.max_epochs {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand_chacha::ChaCha8Rng`
[INFO] [stderr]  --> src/hyper.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rand_chacha::ChaCha8Rng;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::cv::CV`
[INFO] [stderr]  --> src/hyper.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::cv::CV;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::data::Data`
[INFO] [stderr]  --> src/hyper.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::data::Data;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::param::Param`
[INFO] [stderr]  --> src/hyper.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::param::Param;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/main.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 |         if (auc>auc_max) {auc_max=auc;best_individual=my_individual;}
[INFO] [stderr]    |            ^           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 51 -         if (auc>auc_max) {auc_max=auc;best_individual=my_individual;}
[INFO] [stderr] 51 +         if auc>auc_max {auc_max=auc;best_individual=my_individual;}
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/utils.rs:23:30
[INFO] [stderr]    |
[INFO] [stderr] 23 |     (0..reference_size).map(|i| { rng.gen_range(-1..1) }).collect()
[INFO] [stderr]    |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/param.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |     let mut param_reader = BufReader::new(param_file_reader);
[INFO] [stderr]    |         ----^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/population.rs:77:13
[INFO] [stderr]    |
[INFO] [stderr] 77 |         for i in 0..population_size {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/ga.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn ga(mut data: &mut Data, param: &Param) -> Vec<Population> {
[INFO] [stderr]    |           ----^^^^
[INFO] [stderr]    |           |
[INFO] [stderr]    |           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/ga.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |     for i in 0..(param.ga.population_size as usize-parents.individuals.len()) {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/main.rs:47:9
[INFO] [stderr]    |
[INFO] [stderr] 47 |     for i in 0..10000 {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: function `basic_test` is never used
[INFO] [stderr]   --> src/main.rs:18:4
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn basic_test() {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `univariate_order` is never read
[INFO] [stderr]   --> src/data.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 9  | pub struct Data {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 14 |     pub univariate_order: Vec<u32>,     // Order of univariate features
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `clone_with_new_x` is never used
[INFO] [stderr]    --> src/data.rs:206:12
[INFO] [stderr]     |
[INFO] [stderr] 21  | impl Data {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 206 |     pub fn clone_with_new_x(&self, X:Vec<Vec<f64>>) -> Data {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `help` and `calculate_confusion_matrix` are never used
[INFO] [stderr]    --> src/individual.rs:22:12
[INFO] [stderr]     |
[INFO] [stderr] 20  | impl Individual {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 21  |     /// Provides a help message describing the `Individual` struct and its fields.
[INFO] [stderr] 22  |     pub fn help() -> &'static str {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     fn calculate_confusion_matrix(&self, value: &Vec<f64>, y: &[u8], threshold: f64) -> (usize, usize, usize, usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `help`, `evaluate`, and `extend` are never used
[INFO] [stderr]   --> src/population.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl Population {
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 14 |     /// Provides a help message describing the `Population` struct and its fields.
[INFO] [stderr] 15 |     pub fn help() -> &'static str {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub fn evaluate(& mut self, data: &Data) -> & mut Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86 |     pub fn extend(&mut self, individuals: Vec<Individual>) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 42 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 62 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:71:9
[INFO] [stderr]    |
[INFO] [stderr] 71 |         test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let _ = test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:98:5
[INFO] [stderr]    |
[INFO] [stderr] 98 |     my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 98 |     let _ = my_data.load_data(param.data.X.as_str(),param.data.y.as_str());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:106:9
[INFO] [stderr]     |
[INFO] [stderr] 106 |         test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 106 |         let _ = test_data.load_data(&param.data.Xtest, &param.data.ytest);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `X` should have a snake case name
[INFO] [stderr]   --> src/data.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub X: Vec<Vec<f64>>,         // Matrix for feature values
[INFO] [stderr]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X_path` should have a snake case name
[INFO] [stderr]   --> src/data.rs:38:33
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn load_data(&mut self, X_path: &str, y_path: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                 ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `file_X` should have a snake case name
[INFO] [stderr]   --> src/data.rs:41:13
[INFO] [stderr]    |
[INFO] [stderr] 41 |         let file_X = File::open(X_path)?;
[INFO] [stderr]    |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `file_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `reader_X` should have a snake case name
[INFO] [stderr]   --> src/data.rs:42:17
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut reader_X = BufReader::new(file_X);
[INFO] [stderr]    |                 ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `reader_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/data.rs:206:36
[INFO] [stderr]     |
[INFO] [stderr] 206 |     pub fn clone_with_new_x(&self, X:Vec<Vec<f64>>) -> Data {
[INFO] [stderr]     |                                    ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/individual.rs:78:42
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn evaluate_from_features(&self, X: &Vec<Vec<f64>>) -> Vec<f64> {
[INFO] [stderr]    |                                          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/individual.rs:95:49
[INFO] [stderr]    |
[INFO] [stderr] 95 |     pub fn compute_auc_from_features(&mut self, X: &Vec<Vec<f64>>, y: &Vec<u8>) -> f64 {
[INFO] [stderr]    |                                                 ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X_permuted` should have a snake case name
[INFO] [stderr]    --> src/individual.rs:360:25
[INFO] [stderr]     |
[INFO] [stderr] 360 |                 let mut X_permuted = data.X.clone();
[INFO] [stderr]     |                         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_permuted`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `X` should have a snake case name
[INFO] [stderr]   --> src/param.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub X: String,                      // Path to X data
[INFO] [stderr]    |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Xtest` should have a snake case name
[INFO] [stderr]   --> src/param.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub Xtest: String,
[INFO] [stderr]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `xtest`
[INFO] [stderr] 
[INFO] [stderr] warning: `gpredomics` (bin "gpredomics" test) generated 39 warnings (run `cargo fix --bin "gpredomics" --tests` to apply 15 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gpredomics-89bd4c19bf1e2bf8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5d5788652036ce0b77bf87cdf9c0e19df50304ae967ea05eb4639b0bd687b057", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d5788652036ce0b77bf87cdf9c0e19df50304ae967ea05eb4639b0bd687b057", kill_on_drop: false }`
[INFO] [stdout] 5d5788652036ce0b77bf87cdf9c0e19df50304ae967ea05eb4639b0bd687b057
