[INFO] cloning repository https://github.com/CyclotomicFields/cyclotomic
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CyclotomicFields/cyclotomic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCyclotomicFields%2Fcyclotomic", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCyclotomicFields%2Fcyclotomic'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e7e3bcb81e027d46b14d7ead64bc589093ecb7fd
[INFO] building CyclotomicFields/cyclotomic against try#334963c956d25708feab489a3816ae63f639355d for pr-135216
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCyclotomicFields%2Fcyclotomic" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/CyclotomicFields/cyclotomic on toolchain 334963c956d25708feab489a3816ae63f639355d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+334963c956d25708feab489a3816ae63f639355d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/CyclotomicFields/cyclotomic
[INFO] finished tweaking git repo https://github.com/CyclotomicFields/cyclotomic
[INFO] tweaked toml for git repo https://github.com/CyclotomicFields/cyclotomic written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/CyclotomicFields/cyclotomic 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" "+334963c956d25708feab489a3816ae63f639355d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+334963c956d25708feab489a3816ae63f639355d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2078cd79c806adef9c4f11ee2b8e8963ab894d0f8c73de5d9c423f841c83508a
[INFO] running `Command { std: "docker" "start" "-a" "2078cd79c806adef9c4f11ee2b8e8963ab894d0f8c73de5d9c423f841c83508a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2078cd79c806adef9c4f11ee2b8e8963ab894d0f8c73de5d9c423f841c83508a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2078cd79c806adef9c4f11ee2b8e8963ab894d0f8c73de5d9c423f841c83508a", kill_on_drop: false }`
[INFO] [stdout] 2078cd79c806adef9c4f11ee2b8e8963ab894d0f8c73de5d9c423f841c83508a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+334963c956d25708feab489a3816ae63f639355d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 070a44aab92aa3b7c91cb736ac9f3d0d0b7b78047ce2b392f27948e366eb5831
[INFO] running `Command { std: "docker" "start" "-a" "070a44aab92aa3b7c91cb736ac9f3d0d0b7b78047ce2b392f27948e366eb5831", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling gmp-mpfr-sys v1.4.10
[INFO] [stderr]    Compiling radium v0.5.3
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling az v1.2.1
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling nom v6.2.1
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling ryu v1.0.11
[INFO] [stderr]    Compiling os_str_bytes v6.3.0
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling rug v1.17.0
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling textwrap v0.15.0
[INFO] [stderr]    Compiling bitvec v0.19.6
[INFO] [stderr]    Compiling once_cell v1.13.1
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling sexp v1.1.4
[INFO] [stderr]    Compiling combinations v0.1.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling jobserver v0.1.24
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling antic v0.1.0
[INFO] [stderr]    Compiling regex v1.4.6
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling divisors v0.2.1
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling quickcheck v0.9.2
[INFO] [stderr]    Compiling clap_derive v3.2.17
[INFO] [stderr]    Compiling quickcheck_macros v0.9.1
[INFO] [stderr]    Compiling clap v3.2.17
[INFO] [stderr]    Compiling cyclotomic v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BigInt`, `BigRational`, `Signed`, and `ToPrimitive`
[INFO] [stdout]  --> src/divisors/euclid.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use self::num::{BigInt, BigRational, Integer, One, Signed, ToPrimitive, Zero};
[INFO] [stdout]   |                 ^^^^^^  ^^^^^^^^^^^                ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BigInt`
[INFO] [stdout]  --> src/divisors/library_divisors.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use self::num::{BigInt, ToPrimitive, Zero};
[INFO] [stdout]   |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/substitute.rs:4:52
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::polynomial::polynomial::{Polynomial, Q, Z};
[INFO] [stdout]   |                                                    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> src/prime_factors/recursive_prime_factorize.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use num::BigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::Integer`
[INFO] [stdout]  --> src/fields/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num::Integer;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `One`
[INFO] [stdout]  --> src/fields/sparse/mod.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use self::num::{One, Zero};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::Inv`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use num::traits::Inv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `SubAssign`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::ops::{AddAssign, Mul, SubAssign};
[INFO] [stdout]    |                ^^^^^^^^^       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExpCoeffMap`
[INFO] [stdout]  --> src/fields/sparse/add.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::fields::sparse::{ExpCoeffMap, Number};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Q` and `Z`
[INFO] [stdout]  --> src/fields/sparse/add.rs:4:67
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::fields::{AdditiveGroupElement, CyclotomicFieldElement, Q, Z};
[INFO] [stdout]   |                                                                   ^  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::AddAssign`
[INFO] [stdout]  --> src/fields/sparse/add.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::AddAssign;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::util::*`
[INFO] [stdout]  --> src/fields/sparse/galois.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::fields::util::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/fields/sparse/galois.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Q`
[INFO] [stdout]  --> src/fields/sparse/mul.rs:4:73
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::fields::{CyclotomicFieldElement, MultiplicativeGroupElement, Q};
[INFO] [stdout]   |                                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/fields/sparse/mul.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Number_i64` should have an upper camel case name
[INFO] [stdout]    --> src/fields/sparse/mod.rs:276:6
[INFO] [stdout]     |
[INFO] [stdout] 276 | type Number_i64 = Number<i64, rug::Rational>;
[INFO] [stdout]     |      ^^^^^^^^^^ help: convert the identifier to upper camel case: `NumberI64`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Number_Z` should have an upper camel case name
[INFO] [stdout]    --> src/fields/sparse/mod.rs:277:6
[INFO] [stdout]     |
[INFO] [stdout] 277 | type Number_Z = Number<Z, rug::Rational>;
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `NumberZ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One` and `Zero`
[INFO] [stdout]  --> src/fields/dense/mod.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use self::num::{One, Zero};
[INFO] [stdout]   |                 ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::Inv`
[INFO] [stdout]  --> src/fields/dense/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num::traits::Inv;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `SubAssign`
[INFO] [stdout]   --> src/fields/dense/mod.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::{AddAssign, Mul, SubAssign};
[INFO] [stdout]    |                ^^^^^^^^^       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::*`
[INFO] [stdout]   --> src/fields/dense/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::fields::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::exponent::Exponent`
[INFO] [stdout]   --> src/fields/dense/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::fields::exponent::Exponent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/fields/dense/add.rs:2:70
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fields::{AdditiveGroupElement, CyclotomicFieldElement, Q, Z};
[INFO] [stdout]   |                                                                      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::num::Zero`
[INFO] [stdout]  --> src/fields/dense/basis.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::num::Zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::util::*`
[INFO] [stdout]  --> src/fields/dense/galois.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::fields::util::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::num::Zero`
[INFO] [stdout]  --> src/fields/dense/mul.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::num::Zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::util::*`
[INFO] [stdout]  --> src/fields/structure/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::fields::util::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::Zero`
[INFO] [stdout]  --> src/fields/structure/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use num::Zero;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldElement`
[INFO] [stdout]  --> src/fields/linear_algebra/mod.rs:1:45
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::fields::{CyclotomicFieldElement, FieldElement};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `MulAssign`
[INFO] [stdout]  --> src/fields/rational.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{AddAssign, MulAssign};
[INFO] [stdout]   |                ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::Q`
[INFO] [stdout]  --> src/character/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::fields::Q;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]   --> src/fields/sparse/mod.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]   --> src/fields/dense/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]   --> src/fields/dense/mod.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Div`
[INFO] [stdout]  --> src/divisors/euclid.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Div, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> src/divisors/euclid.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Div, Sub};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> src/fields/sparse/mod.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use self::num::{One, Zero};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mul`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::ops::{AddAssign, Mul, SubAssign};
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::MultiplicativeGroupElement`
[INFO] [stdout]  --> src/fields/dense/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::fields::MultiplicativeGroupElement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mul`
[INFO] [stdout]   --> src/fields/dense/mod.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::{AddAssign, Mul, SubAssign};
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::fields::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Neg`
[INFO] [stdout]  --> src/polynomial/subtract.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{AddAssign, Neg, Sub, SubAssign};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::num::Zero`
[INFO] [stdout]  --> src/fields/sparse/mul.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::num::Zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::num::Zero`
[INFO] [stdout]  --> src/fields/sparse/basis.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::num::Zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/fields/sparse/basis.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::MultiplicativeGroupElement`
[INFO] [stdout]  --> src/fields/sparse/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::fields::MultiplicativeGroupElement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fields/sparse/basis.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let mut n_div_powers = Exponent::factorise(n);
[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/fields/dense/basis.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut n_div_powers = Exponent::factorise(&n);
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/fields/rational.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn is_zero(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 158 |         self.is_zero()
[INFO] [stdout]     |         -------------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/parser.rs:30:45
[INFO] [stdout]    |
[INFO] [stdout] 30 |         FromStr::from_str((sign.map_or("", |s| "-").to_owned() + x).as_str())
[INFO] [stdout]    |                                             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Z` is never used
[INFO] [stdout]  --> src/coprime_counter/coprime_counter.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | type Z = num::bigint::BigInt;
[INFO] [stdout]   |      ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CoprimeCounter` is never used
[INFO] [stdout]  --> src/coprime_counter/coprime_counter.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait CoprimeCounter {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `R` is never used
[INFO] [stdout]  --> src/coprime_counter/hybrid_coprime_counter.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type R = f64;
[INFO] [stdout]   |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Q` is never used
[INFO] [stdout]  --> src/coprime_counter/hybrid_coprime_counter.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type Q = num::rational::BigRational;
[INFO] [stdout]   |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Z` is never used
[INFO] [stdout]   --> src/coprime_counter/hybrid_coprime_counter.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | type Z = num::bigint::BigInt;
[INFO] [stdout]    |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HybridCoprimeCounter` is never constructed
[INFO] [stdout]   --> src/coprime_counter/hybrid_coprime_counter.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct HybridCoprimeCounter<PF: PrimeFactorize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/coprime_counter/hybrid_coprime_counter.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<PF: PrimeFactorize> HybridCoprimeCounter<PF> {
[INFO] [stdout]    | ------------------------------------------------- associated function in this implementation
[INFO] [stdout] 17 |     pub fn new(prime_factorizer: PF) -> HybridCoprimeCounter<PF> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> src/coprime_counter/hybrid_coprime_counter.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl HybridCoprimeCounter<RecursivePrimeFactorize<LibraryDivisors>> {
[INFO] [stdout]    | ------------------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn default() -> HybridCoprimeCounter<RecursivePrimeFactorize<LibraryDivisors>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `divisors` is never used
[INFO] [stdout]  --> src/divisors/divisors.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Divisors {
[INFO] [stdout]   |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 9 |     fn divisors(&self, z: &Z) -> Vec<Z>;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Z` is never used
[INFO] [stdout]  --> src/divisors/euclid.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Z = num::bigint::BigInt;
[INFO] [stdout]   |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Euclid` is never constructed
[INFO] [stdout]  --> src/divisors/euclid.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Euclid {}
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `extended_euclidean_augmented_matrix_result_rows`, `gcd`, `multiplicative_inverse_mod_n`, and `multiplicative_inverse_mod_polynomial` are never used
[INFO] [stdout]    --> src/divisors/euclid.rs:12:12
[INFO] [stdout]     |
[INFO] [stdout] 11  | impl Euclid {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 12  |     pub fn new() -> Euclid {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16  |     fn extended_euclidean_augmented_matrix_result_rows(&self, m: &Z, n: &Z) -> (Vec<Z>, Vec<Z>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |     pub fn gcd(&self, m: &Z, n: &Z) -> Z {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84  |     pub fn multiplicative_inverse_mod_n(&self, i: &Z, n: &Z) -> Option<Z> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn multiplicative_inverse_mod_polynomial(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/divisors/library_divisors.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl LibraryDivisors {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> LibraryDivisors {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_small_fractions` is never used
[INFO] [stdout]   --> src/polynomial/construct.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl Polynomial {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn from_small_fractions(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `is_irreducible_over_q`, `is_irreducible_by_eisenstein_criterion`, `convert_to_integer_coefficients`, and `try_integer_coefficients` are never used
[INFO] [stdout]    --> src/polynomial/is_irreducible.rs:9:12
[INFO] [stdout]     |
[INFO] [stdout] 8   | impl Polynomial {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 9   |     pub fn is_irreducible_over_q(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn is_irreducible_by_eisenstein_criterion(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn convert_to_integer_coefficients(&self) -> Polynomial {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn try_integer_coefficients(&self) -> Vec<Z> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mul_mut_naive` and `mul_mut_fft` are never used
[INFO] [stdout]    --> src/polynomial/multiply.rs:18:12
[INFO] [stdout]     |
[INFO] [stdout] 7   | impl Polynomial {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18  |     pub fn mul_mut_naive(&mut self, rhs: &Self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn mul_mut_fft(&mut self, _rhs: &Self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `constant_term_coefficient` and `is_monic` are never used
[INFO] [stdout]   --> src/polynomial/polynomial.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Polynomial {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn constant_term_coefficient(&self) -> &Q {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn is_monic(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `substitute` is never used
[INFO] [stdout]  --> src/polynomial/substitute.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl Polynomial {
[INFO] [stdout]   | --------------- method in this implementation
[INFO] [stdout] 7 |     pub fn substitute(&self, t: Q) -> Q {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `legendre_sum_phi` are never used
[INFO] [stdout]    --> src/prime_counter/legendre.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout] 24  | impl<'a> Legendre<'a> {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 25  |     pub fn new(primes: &Primes) -> Legendre {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn legendre_sum_phi(&self, x: R, a: ZPlus) -> Z {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/prime_counter/lehmer.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a> Lehmer<'a> {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(primes: &Primes) -> Lehmer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/prime_counter/meissel.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a> Meissel<'a> {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(primes: &Primes) -> Meissel {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/prime_factors/recursive_prime_factorize.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<D: Divisors> RecursivePrimeFactorize<D> {
[INFO] [stdout]    | -------------------------------------------- associated function in this implementation
[INFO] [stdout] 18 |     pub fn new(divisors_strategy: D) -> RecursivePrimeFactorize<D> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> src/prime_factors/recursive_prime_factorize.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl RecursivePrimeFactorize<LibraryDivisors> {
[INFO] [stdout]    | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn default() -> RecursivePrimeFactorize<LibraryDivisors> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ZPlus` is never used
[INFO] [stdout]  --> src/primes/prime_table.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type ZPlus = u64;
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrimeTableReader` is never constructed
[INFO] [stdout]  --> src/primes/prime_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PrimeTableReader<'a> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `first_million_from_file`, `first_million_primes`, `read_primes_from_table`, and `read_primes_from_csv` are never used
[INFO] [stdout]   --> src/primes/prime_table.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> PrimeTableReader<'a> {
[INFO] [stdout]    | ----------------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(directory_path: &Path) -> PrimeTableReader {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn first_million_from_file() -> Option<PrimeTableReader<'a>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn first_million_primes(&self) -> Vec<ZPlus> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn read_primes_from_table(primes_txt_content: String) -> Vec<ZPlus> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn read_primes_from_csv(primes_csv_content: String) -> Vec<ZPlus> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `R` is never used
[INFO] [stdout]  --> src/primes/primes.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type R = f64;
[INFO] [stdout]   |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Z` is never used
[INFO] [stdout]  --> src/primes/primes.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Z = i64;
[INFO] [stdout]   |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `first_n` and `pi_range` are never used
[INFO] [stdout]    --> src/primes/primes.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout] 20  | impl Primes {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52  |     pub fn first_n(&self, n: ZPlus) -> Option<Primes> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn pi_range(&self, lower_bound: ZPlus, upper_bound: ZPlus) -> Option<ZPlus> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_same_coeff` is never used
[INFO] [stdout]   --> src/fields/sparse/mod.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn get_same_coeff<E: Exponent, Q: Rational>(z: &Number<E, Q>) -> Option<Q> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Number_i64` is never used
[INFO] [stdout]    --> src/fields/sparse/mod.rs:276:6
[INFO] [stdout]     |
[INFO] [stdout] 276 | type Number_i64 = Number<i64, rug::Rational>;
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Number_Z` is never used
[INFO] [stdout]    --> src/fields/sparse/mod.rs:277:6
[INFO] [stdout]     |
[INFO] [stdout] 277 | type Number_Z = Number<Z, rug::Rational>;
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_same_coeff` is never used
[INFO] [stdout]   --> src/fields/dense/mod.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn get_same_coeff(z: &Number) -> Option<Q> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `factors`, `zero`, and `one` are never read
[INFO] [stdout]   --> src/fields/structure/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CyclotomicField {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     factors: Vec<(i64, u32)>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 32 |
[INFO] [stdout] 33 |     zero: Vec<Q>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |
[INFO] [stdout] 35 |     one: Vec<Q>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_rat_vec` is never used
[INFO] [stdout]   --> src/fields/structure/mod.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn print_rat_vec(v: &Vec<Q>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/fields/structure/mod.rs:170:19
[INFO] [stdout]     |
[INFO] [stdout] 170 | struct SmallOrder(i64);
[INFO] [stdout]     |        ---------- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `SmallOrder` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_cyc` is never used
[INFO] [stdout]    --> src/fields/structure/mod.rs:182:4
[INFO] [stdout]     |
[INFO] [stdout] 182 | fn random_cyc(field: &CyclotomicField) -> Vec<Q> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `assert_add_compatible` is never used
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | / impl<T, E> Matrix<T, E>
[INFO] [stdout] 14 | | where
[INFO] [stdout] 15 | |     T: CyclotomicFieldElement<E>,
[INFO] [stdout] 16 | |     E: From<i64> + Exponent,
[INFO] [stdout]    | |____________________________- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |       fn assert_add_compatible(mA: &Self, mB: &Self) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vector` is never constructed
[INFO] [stdout]    --> src/fields/linear_algebra/mod.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct Vector<T, E> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dot_product` is never used
[INFO] [stdout]    --> src/fields/linear_algebra/mod.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | / impl<T, E> Vector<T, E>
[INFO] [stdout] 112 | | where
[INFO] [stdout] 113 | |     T: CyclotomicFieldElement<E>,
[INFO] [stdout] 114 | |     E: From<i64> + Exponent,
[INFO] [stdout]     | |____________________________- method in this implementation
[INFO] [stdout] 115 |   {
[INFO] [stdout] 116 |       fn dot_product(&self, other: &mut Self) -> T {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `List` is never constructed
[INFO] [stdout]   --> src/parser.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Expr {
[INFO] [stdout]    |      ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     List(Vec<Expr>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn zero_matrix(N: usize, M: usize) -> Self {
[INFO] [stdout]    |                        ^ help: convert the identifier to snake case: `n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn zero_matrix(N: usize, M: usize) -> Self {
[INFO] [stdout]    |                                  ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn identity_matrix(N: usize) -> Self {
[INFO] [stdout]    |                            ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mA` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn assert_mul_compatible(mA: &Self, mB: &Self) {
[INFO] [stdout]    |                              ^^ help: convert the identifier to snake case: `m_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mB` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn assert_mul_compatible(mA: &Self, mB: &Self) {
[INFO] [stdout]    |                                         ^^ help: convert the identifier to snake case: `m_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let A = &mA.value;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let B = &mB.value;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mA` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn mul(mA: &mut Self, mB: &mut Self) -> Self {
[INFO] [stdout]    |                ^^ help: convert the identifier to snake case: `m_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mB` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn mul(mA: &mut Self, mB: &mut Self) -> Self {
[INFO] [stdout]    |                               ^^ help: convert the identifier to snake case: `m_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let A = &mut mA.value;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let B = &mut mB.value;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let N = A.len();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let M = B.len();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let L = B[0].len();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mA` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn assert_add_compatible(mA: &Self, mB: &Self) {
[INFO] [stdout]    |                              ^^ help: convert the identifier to snake case: `m_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mB` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:72:41
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn assert_add_compatible(mA: &Self, mB: &Self) {
[INFO] [stdout]    |                                         ^^ help: convert the identifier to snake case: `m_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mA` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:81:16
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn add(mA: &mut Self, mB: &mut Self) -> Self {
[INFO] [stdout]    |                ^^ help: convert the identifier to snake case: `m_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mB` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:81:31
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn add(mA: &mut Self, mB: &mut Self) -> Self {
[INFO] [stdout]    |                               ^^ help: convert the identifier to snake case: `m_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let A = &mut mA.value;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let B = &mut mB.value;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let N = A.len();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/fields/linear_algebra/mod.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let M = A[0].len();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::IteratorRandom`
[INFO] [stdout]   --> src/bin/cyclobench.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use rand::seq::IteratorRandom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/bin/cyclobench.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/bin/cyclobench.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command` and `Stdio`
[INFO] [stdout]   --> src/bin/cyclobench.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::process::{Command, Stdio};
[INFO] [stdout]    |                    ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cyclotomic::fields::dense::basis::try_reduce`
[INFO] [stdout]   --> src/bin/cyclobench.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use cyclotomic::fields::dense::basis::try_reduce;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Float`
[INFO] [stdout]   --> src/bin/cyclobench.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use num_traits::Float;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `assert_eq_return`
[INFO] [stdout]    --> src/bin/cyclobench.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 | macro_rules! assert_eq_return {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/bin/cyclobench.rs:532:9
[INFO] [stdout]     |
[INFO] [stdout] 531 |         panic!("bad implementation! TODO: do the others?");
[INFO] [stdout]     |         -------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 532 |         0
[INFO] [stdout]     |         ^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::Zero`
[INFO] [stdout]   --> src/bin/cyclobench.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use num::Zero;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cyclotomic::fields::MultiplicativeGroupElement`
[INFO] [stdout]   --> src/bin/cyclobench.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use cyclotomic::fields::MultiplicativeGroupElement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cyclotomic::fields::AdditiveGroupElement`
[INFO] [stdout]   --> src/bin/cyclobench.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use cyclotomic::fields::AdditiveGroupElement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]    --> src/bin/cyclobench.rs:442:32
[INFO] [stdout]     |
[INFO] [stdout] 442 | fn stdin_scalar_bench<T, E, Q>(opts: &StdinOpts, generic_nums: &Vec<Vec<GenericCyclotomic>>) -> u128
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]    --> src/bin/cyclobench.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 |     opts: &CharacterOpts,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/cyclobench.rs:561:10
[INFO] [stdout]     |
[INFO] [stdout] 561 |     let (mut sparse_irr_chars, mut sparse_random_char) =
[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/bin/cyclobench.rs:561:32
[INFO] [stdout]     |
[INFO] [stdout] 561 |     let (mut sparse_irr_chars, mut sparse_random_char) =
[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/bin/cyclobench.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout] 617 |     let mut nums = generic_to_concrete::<T, E, Q>(generic_nums);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 | /         write!(
[INFO] [stdout] 144 | |             &mut file,
[INFO] [stdout] 145 | |             "nop({} * {} + {} * {} + {} * {});\n",
[INFO] [stdout] 146 | |             sparse::print_gap(x),
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |             sparse::print_gap(c),
[INFO] [stdout] 152 | |         );
[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]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]    --> src/bin/cyclobench.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |     let N = matrices[0].value.len();
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:492:5
[INFO] [stdout]     |
[INFO] [stdout] 492 |     io::stdin().read_line(&mut sizes_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] 492 |     let _ = io::stdin().read_line(&mut sizes_str);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 |     io::stdin().read_line(&mut num_chars_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] 499 |     let _ = io::stdin().read_line(&mut num_chars_str);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:508:9
[INFO] [stdout]     |
[INFO] [stdout] 508 |         io::stdin().read_line(&mut gap_char);
[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] 508 |         let _ = io::stdin().read_line(&mut gap_char);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:515:5
[INFO] [stdout]     |
[INFO] [stdout] 515 |     io::stdin().read_to_string(&mut random_char_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] 515 |     let _ = io::stdin().read_to_string(&mut random_char_str);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/334963c956d25708feab489a3816ae63f639355d/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/rustup-home/toolchains/334963c956d25708feab489a3816ae63f639355d/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcYERHtj/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libcyclotomic-16e914072fca6532.rlib,libnom-e3d8205c4c8ea045.rlib,liblexical_core-d334793d1e504f61.rlib,libryu-be8c5121843f0db5.rlib,libstatic_assertions-d53a9977dc6e27e5.rlib,libarrayvec-ba37dd1d8b4ae93c.rlib,libbitvec-eaad8c59727ef8b2.rlib,libfunty-0fb7618fab5e378c.rlib,libwyz-0c18012aa59260e8.rlib,libtap-a03b11bfa148d0b2.rlib,libradium-636388b66b4a4331.rlib,librug-a28af9b0563d94a1.rlib,libgmp_mpfr_sys-43afbd9a2e369042.rlib,libaz-d02dd3bda797cea3.rlib,libquickcheck-9339c75520785b73.rlib,libenv_logger-2b5f4047c19df4ea.rlib,liblog-45799490cfbd2660.rlib,libregex-cd4397eb3f841b98.rlib,libregex_syntax-381dced7ee5f9437.rlib,libaho_corasick-406159277a4a9968.rlib,libmemchr-788173701f270c65.rlib,librustc_hash-5a527483989b35a3.rlib,libcombinations-df8b6fcf7bdac177.rlib,libdivisors-20e85da6b42fee3b.rlib,libnum-3429c268efebb992.rlib,libnum_rational-aecfdeb62e629279.rlib,libnum_iter-c1cbf552946117e4.rlib,libnum_complex-91757cc134eebe9d.rlib,libnum_bigint-a89c88e5b9efd32e.rlib,libnum_integer-ecb3baae23c5d566.rlib,libnum_traits-7236e901acc60d1c.rlib,libclap-aa36fb25ff78d522.rlib,libatty-755d08aac93f0fba.rlib,libstrsim-d620f0ade87b0f1f.rlib,libtermcolor-3421dff75a1a6c35.rlib,libtextwrap-d4e5dbd11df5deb0.rlib,libindexmap-a1fe47fae7d6385b.rlib,libhashbrown-8ac6e23154e6c3d0.rlib,libclap_lex-7e167cc43b5111fe.rlib,libos_str_bytes-02e2b32e5f706c1e.rlib,libbitflags-e2b4db6c651223da.rlib,libonce_cell-811d327012cd95a6.rlib,librand-27b921f14ce34bb9.rlib,librand_chacha-fd1702ab5b45228c.rlib,libppv_lite86-8dae110e85681398.rlib,librand_core-b10f491be3e851d9.rlib,libgetrandom-cd593c3d92eb77f9.rlib,liblibc-4494723aeac90f3a.rlib,libcfg_if-33ef6c02a07f9fec.rlib,libantic-250d73d51cecf3a3.rlib}" "/opt/rustwide/rustup-home/toolchains/334963c956d25708feab489a3816ae63f639355d/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-d6f1d924b2f4233e.rlib,libpanic_unwind-00eb06e39850f679.rlib,libobject-d0382f11baa011b6.rlib,libmemchr-b7e2e2c1a7e4643d.rlib,libaddr2line-30ced7f1999cfa29.rlib,libgimli-3ee7e14c58e31ebd.rlib,librustc_demangle-a4f649bba77ffcc5.rlib,libstd_detect-c89a3ce7ad7c3dbd.rlib,libhashbrown-e1ce1d3d110c6707.rlib,librustc_std_workspace_alloc-e0604fecbf0f39dc.rlib,libminiz_oxide-0a9c6172f04822cc.rlib,libadler2-14a33f7117abcee7.rlib,libunwind-24c16adbe5e57356.rlib,libcfg_if-d2688d4a5c8e415b.rlib,liblibc-8ff7ba6d97853f27.rlib,liballoc-5c001d095eb077ec.rlib,librustc_std_workspace_core-395a38b8e0851c9b.rlib,libcore-d453bab70303062c.rlib,libcompiler_builtins-dd545221bb4f4734.rlib}" "-Wl,-Bdynamic" "-lantic" "-lflint" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/opt/rustwide/rustup-home/toolchains/334963c956d25708feab489a3816ae63f639355d/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/gmp-mpfr-sys-e79951282b4f9b4b/out/lib" "-L" "/opt/rustwide/rustup-home/toolchains/334963c956d25708feab489a3816ae63f639355d/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/cyclobench-3b5e4447545db84b" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: unable to find library -lantic
[INFO] [stdout]           rust-lld: error: unable to find library -lflint
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cyclotomic` (bin "cyclobench") due to 1 previous error; 22 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "070a44aab92aa3b7c91cb736ac9f3d0d0b7b78047ce2b392f27948e366eb5831", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "070a44aab92aa3b7c91cb736ac9f3d0d0b7b78047ce2b392f27948e366eb5831", kill_on_drop: false }`
[INFO] [stdout] 070a44aab92aa3b7c91cb736ac9f3d0d0b7b78047ce2b392f27948e366eb5831
