[INFO] cloning repository https://github.com/NileshArnaiya/genetics
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NileshArnaiya/genetics" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNileshArnaiya%2Fgenetics", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNileshArnaiya%2Fgenetics'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 161a3183193f8465faf73621fd3002946ab46da6
[INFO] checking NileshArnaiya/genetics against master#4d1bd0db7f489b22c6d8aa2385937a95412c015b for pr-114682
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNileshArnaiya%2Fgenetics" "/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/NileshArnaiya/genetics on toolchain 4d1bd0db7f489b22c6d8aa2385937a95412c015b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/NileshArnaiya/genetics
[INFO] finished tweaking git repo https://github.com/NileshArnaiya/genetics
[INFO] tweaked toml for git repo https://github.com/NileshArnaiya/genetics written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/NileshArnaiya/genetics 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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] checking NileshArnaiya/genetics against try#785364c7e5e0804473a3fddfb579798ea14e3493 for pr-114682
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNileshArnaiya%2Fgenetics" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/NileshArnaiya/genetics on toolchain 785364c7e5e0804473a3fddfb579798ea14e3493
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/NileshArnaiya/genetics
[INFO] finished tweaking git repo https://github.com/NileshArnaiya/genetics
[INFO] tweaked toml for git repo https://github.com/NileshArnaiya/genetics written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/NileshArnaiya/genetics 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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking NileshArnaiya/genetics against try#785364c7e5e0804473a3fddfb579798ea14e3493 for pr-114682
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNileshArnaiya%2Fgenetics" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/NileshArnaiya/genetics on toolchain 785364c7e5e0804473a3fddfb579798ea14e3493
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/NileshArnaiya/genetics
[INFO] finished tweaking git repo https://github.com/NileshArnaiya/genetics
[INFO] tweaked toml for git repo https://github.com/NileshArnaiya/genetics written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/NileshArnaiya/genetics 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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9cfce12f163c7e8fa13d0f21b3fa0ad2e944e249770c32436779335938e6f051
[INFO] running `Command { std: "docker" "start" "-a" "9cfce12f163c7e8fa13d0f21b3fa0ad2e944e249770c32436779335938e6f051", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9cfce12f163c7e8fa13d0f21b3fa0ad2e944e249770c32436779335938e6f051", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cfce12f163c7e8fa13d0f21b3fa0ad2e944e249770c32436779335938e6f051", kill_on_drop: false }`
[INFO] [stdout] 9cfce12f163c7e8fa13d0f21b3fa0ad2e944e249770c32436779335938e6f051
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6f71b0eea2d6bf4ff26b1840434429099d8f7f0e433e9e8f52b9e1b1e624724e
[INFO] running `Command { std: "docker" "start" "-a" "6f71b0eea2d6bf4ff26b1840434429099d8f7f0e433e9e8f52b9e1b1e624724e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.144
[INFO] [stderr]    Compiling crossbeam-utils v0.8.15
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.14
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]     Checking either v1.8.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking getrandom v0.2.9
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking assign3 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `SeedableRng`
[INFO] [stdout]  --> src/main.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |                 ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufWriter`
[INFO] [stdout]  --> src/main.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, BufWriter, Write, Result};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::seq::SliceRandom; //
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::SeekFrom`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::SeekFrom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeedableRng`
[INFO] [stdout]  --> src/main.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |                 ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufWriter`
[INFO] [stdout]  --> src/main.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, BufWriter, Write, Result};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::seq::SliceRandom; //
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::SeekFrom`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::SeekFrom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cases_aaf`
[INFO] [stdout]   --> src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let cases_aaf = snp.cases_alt_count as f64 / cases_total_count as f64;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cases_aaf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controls_aaf`
[INFO] [stdout]   --> src/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let controls_aaf = snp.controls_alt_count as f64 / controls_total_count as f64;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controls_aaf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cases_aaf`
[INFO] [stdout]   --> src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let cases_aaf = snp.cases_alt_count as f64 / cases_total_count as f64;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cases_aaf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controls_aaf`
[INFO] [stdout]   --> src/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let controls_aaf = snp.controls_alt_count as f64 / controls_total_count as f64;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controls_aaf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]    --> src/main.rs:163:16
[INFO] [stdout]     |
[INFO] [stdout] 163 |            let shift = bits_per_byte - bits_per_individual * (j % 4) - bits_per_individual;
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]    --> src/main.rs:163:16
[INFO] [stdout]     |
[INFO] [stdout] 163 |            let shift = bits_per_byte - bits_per_individual * (j % 4) - bits_per_individual;
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:417:21
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 for i in 1..(degrees_of_freedom / 2) {
[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:417:21
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 for i in 1..(degrees_of_freedom / 2) {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bim_reader`
[INFO] [stdout]    --> src/main.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let bim_reader = BufReader::new(bim_file);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bim_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `labels`
[INFO] [stdout]    --> src/main.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let labels = match extract_labels_from_file(&fam_file) {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_labels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aaf`
[INFO] [stdout]    --> src/main.rs:543:9
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let aaf: Vec<f64> = vec![0.0, 0.44444445, 0.5, 0.42857143, 0.25];
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_aaf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bim_reader`
[INFO] [stdout]    --> src/main.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let bim_reader = BufReader::new(bim_file);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bim_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `labels`
[INFO] [stdout]    --> src/main.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let labels = match extract_labels_from_file(&fam_file) {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_labels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aaf`
[INFO] [stdout]    --> src/main.rs:543:9
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let aaf: Vec<f64> = vec![0.0, 0.44444445, 0.5, 0.42857143, 0.25];
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_aaf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |     let mut plink_base_name = &args[1];
[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/main.rs:455:9
[INFO] [stdout]     |
[INFO] [stdout] 455 |     let mut no_permutations = args[2].parse::<u32>().unwrap();
[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:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let mut bim_filename = format!("{}.bim", plink_base_name);
[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:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let mut bim_file = match File::open(bim_filename.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:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |     let mut fam_file = format!("{}.fam", plink_base_name);
[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:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |     let mut fam_contents = std::fs::read_to_string(&fam_file).expect("Error reading fam file");
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SNP` is never constructed
[INFO] [stdout]   --> src/main.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct SNP {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl SNP {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 25 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_p_value` is never used
[INFO] [stdout]   --> src/main.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn compute_p_value(observed_chi2: f64, permuted_chi2: Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_chi_square` is never used
[INFO] [stdout]   --> src/main.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn calculate_chi_square(snp: &SNP) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_observed_chi_square` is never used
[INFO] [stdout]    --> src/main.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn calculate_observed_chi_square(snps: &[SNP]) -> Vec<f64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_type` is never used
[INFO] [stdout]    --> src/main.rs:442:4
[INFO] [stdout]     |
[INFO] [stdout] 442 | fn print_type<T>(_: &T) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |     let mut plink_base_name = &args[1];
[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/main.rs:455:9
[INFO] [stdout]     |
[INFO] [stdout] 455 |     let mut no_permutations = args[2].parse::<u32>().unwrap();
[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:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let mut bim_filename = format!("{}.bim", plink_base_name);
[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:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let mut bim_file = match File::open(bim_filename.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:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |     let mut fam_file = format!("{}.fam", plink_base_name);
[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:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |     let mut fam_contents = std::fs::read_to_string(&fam_file).expect("Error reading fam file");
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SNP` is never constructed
[INFO] [stdout]   --> src/main.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct SNP {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl SNP {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 25 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_p_value` is never used
[INFO] [stdout]   --> src/main.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn compute_p_value(observed_chi2: f64, permuted_chi2: Vec<f64>) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_chi_square` is never used
[INFO] [stdout]   --> src/main.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn calculate_chi_square(snp: &SNP) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_observed_chi_square` is never used
[INFO] [stdout]    --> src/main.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn calculate_observed_chi_square(snps: &[SNP]) -> Vec<f64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_type` is never used
[INFO] [stdout]    --> src/main.rs:442:4
[INFO] [stdout]     |
[INFO] [stdout] 442 | fn print_type<T>(_: &T) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.12s
[INFO] running `Command { std: "docker" "inspect" "6f71b0eea2d6bf4ff26b1840434429099d8f7f0e433e9e8f52b9e1b1e624724e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f71b0eea2d6bf4ff26b1840434429099d8f7f0e433e9e8f52b9e1b1e624724e", kill_on_drop: false }`
[INFO] [stdout] 6f71b0eea2d6bf4ff26b1840434429099d8f7f0e433e9e8f52b9e1b1e624724e
