[INFO] fetching crate cyclotomic 0.1.0...
[INFO] checking cyclotomic-0.1.0 against master#297a8018b525c28ef10ee6a91d61954839b508b9 for pr-95565
[INFO] extracting crate cyclotomic 0.1.0 into /workspace/builds/worker-29/source
[INFO] validating manifest of crates.io crate cyclotomic 0.1.0 on toolchain 297a8018b525c28ef10ee6a91d61954839b508b9
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+297a8018b525c28ef10ee6a91d61954839b508b9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cyclotomic 0.1.0
[INFO] finished tweaking crates.io crate cyclotomic 0.1.0
[INFO] tweaked toml for crates.io crate cyclotomic 0.1.0 written to /workspace/builds/worker-29/source/Cargo.toml
[INFO] crate crates.io crate cyclotomic 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+297a8018b525c28ef10ee6a91d61954839b508b9" "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 quickcheck v0.9.2
[INFO] [stderr]   Downloaded divisors v0.2.1
[INFO] [stderr]   Downloaded num-traits v0.2.11
[INFO] [stderr]   Downloaded syn v1.0.33
[INFO] [stderr]   Downloaded hermit-abi v0.1.14
[INFO] [stderr]   Downloaded num-iter v0.1.40
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.8
[INFO] [stderr]   Downloaded num-integer v0.1.42
[INFO] [stderr]   Downloaded proc-macro2 v1.0.18
[INFO] [stderr]   Downloaded indexmap v1.4.0
[INFO] [stderr]   Downloaded combinations v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+297a8018b525c28ef10ee6a91d61954839b508b9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e08bb8d634050e7a5fe9718b5b9fcc81151a5c5dc94b8bce89150cda82fd266c
[INFO] running `Command { std: "docker" "start" "-a" "e08bb8d634050e7a5fe9718b5b9fcc81151a5c5dc94b8bce89150cda82fd266c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e08bb8d634050e7a5fe9718b5b9fcc81151a5c5dc94b8bce89150cda82fd266c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e08bb8d634050e7a5fe9718b5b9fcc81151a5c5dc94b8bce89150cda82fd266c", kill_on_drop: false }`
[INFO] [stdout] e08bb8d634050e7a5fe9718b5b9fcc81151a5c5dc94b8bce89150cda82fd266c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+297a8018b525c28ef10ee6a91d61954839b508b9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 032dd7f8fe6b90fdec91023dd887e40901e14b85d607601215b30feeeed6c49b
[INFO] running `Command { std: "docker" "start" "-a" "032dd7f8fe6b90fdec91023dd887e40901e14b85d607601215b30feeeed6c49b", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling syn v1.0.33
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling unicode-segmentation v1.6.0
[INFO] [stderr]     Checking regex-syntax v0.6.18
[INFO] [stderr]     Checking ppv-lite86 v0.2.8
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking os_str_bytes v2.3.1
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking combinations v0.1.0
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]    Compiling proc-macro-error-attr v0.4.12
[INFO] [stderr]    Compiling proc-macro-error v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling indexmap v1.4.0
[INFO] [stderr]     Checking aho-corasick v0.7.10
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking quickcheck v0.9.2
[INFO] [stderr]    Compiling syn-mid v0.5.0
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking divisors v0.2.1
[INFO] [stderr]    Compiling clap_derive v3.0.0-beta.1
[INFO] [stderr]     Checking clap v3.0.0-beta.1
[INFO] [stderr]     Checking cyclotomic v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BigInt`
[INFO] [stdout]  --> src/divisors/divisors.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use self::num::{BigInt};
[INFO] [stdout]   |                 ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `BigRational`
[INFO] [stdout]  --> src/divisors/library_divisors.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use self::num::{BigInt, BigRational, Zero, ToPrimitive};
[INFO] [stdout]   |                 ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `BigRational`, `Signed`, `ToPrimitive`
[INFO] [stdout]  --> src/divisors/euclid.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use self::num::{BigInt, BigRational, Zero, ToPrimitive, One, Integer, Signed};
[INFO] [stdout]   |                 ^^^^^^  ^^^^^^^^^^^        ^^^^^^^^^^^                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rem`
[INFO] [stdout]  --> src/divisors/euclid.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Div, Rem, Sub};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/divisors/euclid.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/divisors/euclid.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `BigRational`, `ToPrimitive`, `Zero`
[INFO] [stdout]  --> src/prime_factors/recursive_prime_factorize.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use self::num::{BigInt, BigRational, ToPrimitive, Zero, One};
[INFO] [stdout]   |                 ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/coprime_counter/hybrid_coprime_counter.rs:60:30
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let n_over_two = (n.div(&Z::from(2)));
[INFO] [stdout]    |                              ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -             let n_over_two = (n.div(&Z::from(2)));
[INFO] [stdout] 60 +             let n_over_two = n.div(&Z::from(2));
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> src/polynomial/polynomial.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{One, Zero};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/polynomial/polynomial.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/polynomial/construct.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::num::integer::lcm`
[INFO] [stdout]  --> src/polynomial/construct.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ::num::integer::lcm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `One`
[INFO] [stdout]  --> src/polynomial/construct.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use num::{One, Zero};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/substitute.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::polynomial::polynomial::{Polynomial, Q, Z};
[INFO] [stdout]   |                                                    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/add.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::polynomial::polynomial::{Polynomial, Z, Q};
[INFO] [stdout]   |                                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/polynomial/add.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/polynomial/subtract.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, Neg, Sub, AddAssign, SubAssign};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/multiply.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::polynomial::polynomial::{Polynomial, Z, Q};
[INFO] [stdout]   |                                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Integer`
[INFO] [stdout]  --> src/polynomial/divide.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::{Integer, One, Zero};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/divide.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::polynomial::polynomial::{Polynomial, Q, Z};
[INFO] [stdout]   |                                                    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/display.rs:1:49
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::polynomial::polynomial::{Polynomial, Z, Q};
[INFO] [stdout]   |                                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `Zero`
[INFO] [stdout]  --> src/fields/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{One, Zero};
[INFO] [stdout]   |           ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quickcheck::Arbitrary`
[INFO] [stdout]  --> src/fields/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use quickcheck::Arbitrary;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AdditiveGroup`
[INFO] [stdout]  --> src/fields/sparse/mod.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::fields::{AdditiveGroup, MultiplicativeGroup};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arbitrary`, `Gen`
[INFO] [stdout]  --> src/fields/sparse/mod.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use quickcheck::{Arbitrary, Gen};
[INFO] [stdout]   |                  ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::BuildHasherDefault`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::hash::BuildHasherDefault;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hasher`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::hash::Hasher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::intrinsics::transmute`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::intrinsics::transmute;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::sparse::basis::try_reduce`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::fields::sparse::basis::try_reduce;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::sparse::basis::try_reduce`
[INFO] [stdout]  --> src/fields/sparse/add.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::fields::sparse::basis::try_reduce;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::*`
[INFO] [stdout]  --> src/fields/sparse/basis.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::fields::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/fields/sparse/basis.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Q`
[INFO] [stdout]  --> src/fields/sparse/mul.rs:1:66
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::fields::{MultiplicativeGroup, CyclotomicFieldElement, Q};
[INFO] [stdout]   |                                                                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]    --> src/primes/primes.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     use std::path::Path;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/primes/primes.rs:147:1
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub mod primes_test {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]    --> src/prime_counter/legendre.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     use std::path::Path;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/prime_counter/legendre.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | mod legendre_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/prime_counter/meissel.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     use std::path::Path;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/prime_counter/meissel.rs:66:1
[INFO] [stdout]    |
[INFO] [stdout] 66 | mod meissel_tests {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/prime_counter/lehmer.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use std::path::Path;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/prime_counter/lehmer.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | mod lehmer_tests {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BigInt`
[INFO] [stdout]  --> src/divisors/divisors.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use self::num::{BigInt};
[INFO] [stdout]   |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BigRational`
[INFO] [stdout]  --> src/divisors/library_divisors.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use self::num::{BigInt, BigRational, Zero, ToPrimitive};
[INFO] [stdout]   |                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `BigRational`, `Signed`, `ToPrimitive`
[INFO] [stdout]  --> src/divisors/euclid.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use self::num::{BigInt, BigRational, Zero, ToPrimitive, One, Integer, Signed};
[INFO] [stdout]   |                 ^^^^^^  ^^^^^^^^^^^        ^^^^^^^^^^^                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rem`
[INFO] [stdout]  --> src/divisors/euclid.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Div, Rem, Sub};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/divisors/euclid.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/divisors/euclid.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigRational`, `ToPrimitive`, `Zero`
[INFO] [stdout]  --> src/prime_factors/recursive_prime_factorize.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use self::num::{BigInt, BigRational, ToPrimitive, Zero, One};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/coprime_counter/hybrid_coprime_counter.rs:60:30
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let n_over_two = (n.div(&Z::from(2)));
[INFO] [stdout]    |                              ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -             let n_over_two = (n.div(&Z::from(2)));
[INFO] [stdout] 60 +             let n_over_two = n.div(&Z::from(2));
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> src/polynomial/polynomial.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{One, Zero};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/polynomial/polynomial.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/polynomial/construct.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::num::integer::lcm`
[INFO] [stdout]  --> src/polynomial/construct.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ::num::integer::lcm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `One`
[INFO] [stdout]  --> src/polynomial/construct.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use num::{One, Zero};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/polynomial/construct.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/polynomial/construct.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | mod polynomial_tests {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/add.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::polynomial::polynomial::{Polynomial, Z, Q};
[INFO] [stdout]   |                                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/polynomial/add.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/polynomial/subtract.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, Neg, Sub, AddAssign, SubAssign};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/polynomial/negate.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/polynomial/negate.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | mod polynomial_tests {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/multiply.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::polynomial::polynomial::{Polynomial, Z, Q};
[INFO] [stdout]   |                                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Integer`
[INFO] [stdout]  --> src/polynomial/divide.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::{Integer, One, Zero};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/divide.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::polynomial::polynomial::{Polynomial, Q, Z};
[INFO] [stdout]   |                                                    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Z`
[INFO] [stdout]  --> src/polynomial/display.rs:1:49
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::polynomial::polynomial::{Polynomial, Z, Q};
[INFO] [stdout]   |                                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `Zero`
[INFO] [stdout]  --> src/fields/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{One, Zero};
[INFO] [stdout]   |           ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quickcheck::Arbitrary`
[INFO] [stdout]  --> src/fields/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use quickcheck::Arbitrary;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::BuildHasherDefault`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::hash::BuildHasherDefault;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hasher`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::hash::Hasher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::intrinsics::transmute`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::intrinsics::transmute;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::sparse::basis::try_reduce`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::fields::sparse::basis::try_reduce;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::sparse::basis::try_reduce`
[INFO] [stdout]  --> src/fields/sparse/add.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::fields::sparse::basis::try_reduce;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fields::*`
[INFO] [stdout]  --> src/fields/sparse/basis.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::fields::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/fields/sparse/basis.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Q`
[INFO] [stdout]  --> src/fields/sparse/mul.rs:1:66
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::fields::{MultiplicativeGroup, CyclotomicFieldElement, Q};
[INFO] [stdout]   |                                                                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Div`
[INFO] [stdout]  --> src/divisors/euclid.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Div, Rem, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> src/divisors/euclid.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Div, Rem, Sub};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiplicativeGroup`
[INFO] [stdout]  --> src/fields/sparse/mod.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::fields::{AdditiveGroup, MultiplicativeGroup};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mul`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::ops::{AddAssign, Mul, SubAssign};
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exp`
[INFO] [stdout]    --> src/fields/sparse/mod.rs:100:53
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let coeffs = z.coeffs.clone().into_iter().map(|(exp, coeff)| coeff);
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_exp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor`
[INFO] [stdout]    --> src/fields/sparse/basis.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |         .filter(|(factor, power)| *power > 0)
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fields/sparse/add.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut result = Number::new(z1.order, &coeffs);
[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: cannot borrow `coeffs` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/fields/sparse/add.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 19 |             match coeffs.get(&exp).clone() {
[INFO] [stdout]    |                   ---------------- immutable borrow occurs here
[INFO] [stdout] 20 |                 Some(existing_coeff) => coeffs.insert(exp, coeff + existing_coeff),
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------^
[INFO] [stdout]    |                                         |                          |
[INFO] [stdout]    |                                         |                          immutable borrow later used here
[INFO] [stdout]    |                                         mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `z.coeffs` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/fields/sparse/basis.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |             match z.coeffs.get(&(gcd*exp)) {
[INFO] [stdout]    |                   ------------------------ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 78 |                     z.coeffs.insert(exp, coeff.clone());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^-------------^
[INFO] [stdout]    |                     |                    |
[INFO] [stdout]    |                     |                    immutable borrow later used here
[INFO] [stdout]    |                     mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fields/sparse/mul.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut z1 = self;
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Div`
[INFO] [stdout]  --> src/divisors/euclid.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Div, Rem, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> src/divisors/euclid.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Div, Rem, Sub};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mul`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::ops::{AddAssign, Mul, SubAssign};
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fields/sparse/mul.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut z2 = rhs;
[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/fields/sparse/mod.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let mut z1 = convert_to_base(&za);
[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/fields/sparse/mod.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut z2 = convert_to_base(&zb);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `ZPlus`
[INFO] [stdout]  --> src/primes/prime_table.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | type ZPlus = u64;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exp`
[INFO] [stdout]    --> src/fields/sparse/mod.rs:100:53
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let coeffs = z.coeffs.clone().into_iter().map(|(exp, coeff)| coeff);
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_exp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `PrimeTableReader`
[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 function is never used: `new`
[INFO] [stdout]   --> src/primes/prime_table.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(directory_path: &Path) -> PrimeTableReader {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `first_million_from_file`
[INFO] [stdout]   --> src/primes/prime_table.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn first_million_from_file() -> Option<PrimeTableReader<'a>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `first_million_primes`
[INFO] [stdout]   --> src/primes/prime_table.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn first_million_primes(&self) -> Vec<ZPlus> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `read_primes_from_table`
[INFO] [stdout]   --> src/primes/prime_table.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn read_primes_from_table(primes_txt_content: String) -> Vec<ZPlus> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `read_primes_from_csv`
[INFO] [stdout]   --> src/primes/prime_table.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn read_primes_from_csv(primes_csv_content: String) -> Vec<ZPlus> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `R`
[INFO] [stdout]  --> src/primes/primes.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | type R = f64;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `Z`
[INFO] [stdout]  --> src/primes/primes.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Z = i64;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `first_n`
[INFO] [stdout]   --> src/primes/primes.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn first_n(&self, n: ZPlus) -> Option<Primes> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pi_range`
[INFO] [stdout]    --> src/primes/primes.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn pi_range(&self, lower_bound: ZPlus, upper_bound: ZPlus) -> Option<ZPlus> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/prime_counter/legendre.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(primes: &Primes) -> Legendre {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `legendre_sum_phi`
[INFO] [stdout]    --> src/prime_counter/legendre.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn legendre_sum_phi(&self, x: R, a: ZPlus) -> Z {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/prime_counter/meissel.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(primes: &Primes) -> Meissel {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/prime_counter/lehmer.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(primes: &Primes) -> Lehmer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/divisors/library_divisors.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> LibraryDivisors {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `Z`
[INFO] [stdout]  --> src/divisors/euclid.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | type Z = num::bigint::BigInt;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Euclid`
[INFO] [stdout]   --> src/divisors/euclid.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Euclid {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/divisors/euclid.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> Euclid {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `extended_euclidean_augmented_matrix_result_rows`
[INFO] [stdout]   --> src/divisors/euclid.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn extended_euclidean_augmented_matrix_result_rows(&self, m: &Z, n: &Z) -> (Vec<Z>, Vec<Z>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `gcd`
[INFO] [stdout]   --> src/divisors/euclid.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn gcd(&self, m: &Z, n: &Z) -> Z {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `multiplicative_inverse_mod_n`
[INFO] [stdout]   --> src/divisors/euclid.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn multiplicative_inverse_mod_n(&self, i: &Z, n: &Z) -> Option<Z> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `multiplicative_inverse_mod_polynomial`
[INFO] [stdout]    --> src/divisors/euclid.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn multiplicative_inverse_mod_polynomial(&self, p: Polynomial, m: Polynomial) -> Option<Polynomial> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/prime_factors/recursive_prime_factorize.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(divisors_strategy: D) -> RecursivePrimeFactorize<D> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `default`
[INFO] [stdout]   --> src/prime_factors/recursive_prime_factorize.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn default() -> RecursivePrimeFactorize<LibraryDivisors> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `Q`
[INFO] [stdout]  --> src/coprime_counter/hybrid_coprime_counter.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | type Q = num::rational::BigRational;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/coprime_counter/hybrid_coprime_counter.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(prime_factorizer: PF) -> HybridCoprimeCounter<PF> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `default`
[INFO] [stdout]   --> src/coprime_counter/hybrid_coprime_counter.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn default() -> HybridCoprimeCounter<RecursivePrimeFactorize<LibraryDivisors>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `constant_term_coefficient`
[INFO] [stdout]   --> src/polynomial/polynomial.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn constant_term_coefficient(&self) -> &Q {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_monic`
[INFO] [stdout]   --> src/polynomial/polynomial.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn is_monic(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_small_fractions`
[INFO] [stdout]   --> src/polynomial/construct.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn from_small_fractions(coefficient_numerators: Vec<i64>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `substitute`
[INFO] [stdout]  --> src/polynomial/substitute.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn substitute(&self, t: Q) -> Q {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_irreducible_over_q`
[INFO] [stdout]  --> src/polynomial/is_irreducible.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn is_irreducible_over_q(&self,
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_irreducible_by_eisenstein_criterion`
[INFO] [stdout]    --> src/polynomial/is_irreducible.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn is_irreducible_by_eisenstein_criterion(coefficients: &Vec<Z>, prime_factorizer: &impl PrimeFactorize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `convert_to_integer_coefficients`
[INFO] [stdout]    --> src/polynomial/is_irreducible.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn convert_to_integer_coefficients(&self) -> Polynomial {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `try_integer_coefficients`
[INFO] [stdout]    --> src/polynomial/is_irreducible.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn try_integer_coefficients(&self) -> Vec<Z> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_same_coeff`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn get_same_coeff(z: &Number) -> Option<Q> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor`
[INFO] [stdout]    --> src/fields/sparse/basis.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |         .filter(|(factor, power)| *power > 0)
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 85 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fields/sparse/add.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut result = Number::new(z1.order, &coeffs);
[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: cannot borrow `coeffs` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/fields/sparse/add.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 19 |             match coeffs.get(&exp).clone() {
[INFO] [stdout]    |                   ---------------- immutable borrow occurs here
[INFO] [stdout] 20 |                 Some(existing_coeff) => coeffs.insert(exp, coeff + existing_coeff),
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------^
[INFO] [stdout]    |                                         |                          |
[INFO] [stdout]    |                                         |                          immutable borrow later used here
[INFO] [stdout]    |                                         mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `z.coeffs` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/fields/sparse/basis.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |             match z.coeffs.get(&(gcd*exp)) {
[INFO] [stdout]    |                   ------------------------ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 78 |                     z.coeffs.insert(exp, coeff.clone());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^-------------^
[INFO] [stdout]    |                     |                    |
[INFO] [stdout]    |                     |                    immutable borrow later used here
[INFO] [stdout]    |                     mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cyclotomic::fields::FieldElement`
[INFO] [stdout]  --> src/bin/cyclobench.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use cyclotomic::fields::FieldElement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fields/sparse/mul.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut z1 = self;
[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/fields/sparse/mul.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut z2 = rhs;
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cyclotomic::fields::FieldElement`
[INFO] [stdout]  --> src/bin/cyclobench.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use cyclotomic::fields::FieldElement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/bin/cyclobench.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]   --> src/bin/cyclobench.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt::Debug;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bencher`
[INFO] [stdout]   --> src/bin/cyclobench.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | use test::{black_box, Bencher};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/bin/cyclobench.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]   --> src/bin/cyclobench.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt::Debug;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bencher`
[INFO] [stdout]   --> src/bin/cyclobench.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | use test::{black_box, Bencher};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fields/sparse/mod.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let mut z1 = convert_to_base(&za);
[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/fields/sparse/mod.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut z2 = convert_to_base(&zb);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `R`
[INFO] [stdout]  --> src/primes/primes.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | type R = f64;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `Z`
[INFO] [stdout]  --> src/primes/primes.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Z = i64;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `Q`
[INFO] [stdout]  --> src/coprime_counter/hybrid_coprime_counter.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | type Q = num::rational::BigRational;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_same_coeff`
[INFO] [stdout]   --> src/fields/sparse/mod.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn get_same_coeff(z: &Number) -> Option<Q> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/cyclobench.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         file.write_all(b"SetCyclotomicsLimit(2^32-1);;\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/cyclobench.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         file.write_all(b"SetCyclotomicsLimit(2^32-1);;\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/cyclobench.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         file.write_all(b"nop := function (x) end;;\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/cyclobench.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         file.write_all(b"f := function()\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/cyclobench.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 | /             write!(
[INFO] [stdout] 89 | |                 &mut file,
[INFO] [stdout] 90 | |                 "nop({} * {} + {} * {} + {} * {});\n",
[INFO] [stdout] 91 | |                 print_gap(x),
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |                 print_gap(c),
[INFO] [stdout] 97 | |             );
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         file.write_all(b"end;;\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/cyclobench.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         file.write_all(b"nop := function (x) end;;\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | ...   file.write_all(b"start_time := NanosecondsSinceEpoch();; f();; end_time := NanosecondsSinceEpoch();; Int((end_time-start_time)/1000000);");
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/cyclobench.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         file.write_all(b"f := function()\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/cyclobench.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 | /             write!(
[INFO] [stdout] 89 | |                 &mut file,
[INFO] [stdout] 90 | |                 "nop({} * {} + {} * {} + {} * {});\n",
[INFO] [stdout] 91 | |                 print_gap(x),
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |                 print_gap(c),
[INFO] [stdout] 97 | |             );
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         thread.join();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         file.write_all(b"end;;\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | ...   file.write_all(b"start_time := NanosecondsSinceEpoch();; f();; end_time := NanosecondsSinceEpoch();; Int((end_time-start_time)/1000000);");
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/cyclobench.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         thread.join();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 54 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 11.94s
[INFO] running `Command { std: "docker" "inspect" "032dd7f8fe6b90fdec91023dd887e40901e14b85d607601215b30feeeed6c49b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "032dd7f8fe6b90fdec91023dd887e40901e14b85d607601215b30feeeed6c49b", kill_on_drop: false }`
[INFO] [stdout] 032dd7f8fe6b90fdec91023dd887e40901e14b85d607601215b30feeeed6c49b