[INFO] cloning repository https://github.com/vladfdp/math_lib [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vladfdp/math_lib" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvladfdp%2Fmath_lib", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvladfdp%2Fmath_lib'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 38e6c12e5f1dd499c43923420eae567e460d0c56 [INFO] testing vladfdp/math_lib against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvladfdp%2Fmath_lib" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/vladfdp/math_lib [INFO] finished tweaking git repo https://github.com/vladfdp/math_lib [INFO] tweaked toml for git repo https://github.com/vladfdp/math_lib written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/vladfdp/math_lib on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/vladfdp/math_lib 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 51d890251b3d90e1ae91e3ad3b094a3bf4559b057366fe2ac95119c7caae24d6 [INFO] running `Command { std: "docker" "start" "-a" "51d890251b3d90e1ae91e3ad3b094a3bf4559b057366fe2ac95119c7caae24d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "51d890251b3d90e1ae91e3ad3b094a3bf4559b057366fe2ac95119c7caae24d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "51d890251b3d90e1ae91e3ad3b094a3bf4559b057366fe2ac95119c7caae24d6", kill_on_drop: false }` [INFO] [stdout] 51d890251b3d90e1ae91e3ad3b094a3bf4559b057366fe2ac95119c7caae24d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 473fbd9e86ca2284839440d5fb0a16049a9c5bc78da4d62c52c73b0c39fbf05e [INFO] running `Command { std: "docker" "start" "-a" "473fbd9e86ca2284839440d5fb0a16049a9c5bc78da4d62c52c73b0c39fbf05e", kill_on_drop: false }` [INFO] [stderr] Compiling math_lib v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::iter::Sum` [INFO] [stdout] --> src/traits.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::iter::Sum; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Inv` [INFO] [stdout] --> src/poly/poly_ff.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::traits::{One,Zero,Inv}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zn` is never constructed [INFO] [stdout] --> src/zn.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Zn{ //ring Z/nZ, if n prime we get a field [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_vec`, `into_i32`, `new`, `legendre_symbol`, `is_square`, and `sqrt` are never used [INFO] [stdout] --> src/zn.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl Zn { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 128 | [INFO] [stdout] 129 | pub fn from_vec(vec: Vec,n:i32)-> Vec{ // get a vec of Zn from a vec and n [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn into_i32(vec: Vec)-> Vec { // get a vec of int from a vec [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn new(x:i32,n:i32)-> Zn{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn legendre_symbol(&self)->i32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn is_square(&self) -> bool{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn sqrt(a:Zn)->(Zn,Zn){ //using cipolla's algorithm [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixZ` is never constructed [INFO] [stdout] --> src/matrix_z.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct MatrixZ{ //coeff should be of len n*n [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get`, `get_lin`, `get_col`, and `new` are never used [INFO] [stdout] --> src/matrix_z.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl MatrixZ{ // get an element of the Matrix, a line or a column or create new Matrix [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 11 | pub fn get(&self,i:usize,j:usize) -> i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_lin(&self,i:usize)->Vec{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn get_col(&self,j:usize)->Vec{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn new(coeff:Vec, n:usize) -> MatrixZ{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixRing` is never constructed [INFO] [stdout] --> src/matrix_ring.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MatrixRing{ //coefficients are part of any ring [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get`, `get_lin`, `get_col`, and `new` are never used [INFO] [stdout] --> src/matrix_ring.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl MatrixRing{ // get an element of the Matrix, a line or a column or create new Matrix [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn get(&self,i:usize,j:usize) -> T{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn get_lin(&self,i:usize)->Vec{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_col(&self,j:usize)->Vec{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn new(coeff:Vec, n:usize) -> MatrixRing{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `One` is never used [INFO] [stdout] --> src/traits.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait One{ //Trait to get the multiplicative identity of the ring [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Zero` is never used [INFO] [stdout] --> src/traits.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub trait Zero{ //get the zero of the ring [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Pow` is never used [INFO] [stdout] --> src/traits.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub trait Pow: Clone + One + Mul + Mul{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Ring` is never used [INFO] [stdout] --> src/traits.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | pub trait Ring: PartialEq + Debug + Pow + Mul + Zero + Add + Sub +Add + Neg src/traits.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | pub trait Inv{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Card` is never used [INFO] [stdout] --> src/traits.rs:60:11 [INFO] [stdout] | [INFO] [stdout] 60 | pub trait Card { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Field` is never used [INFO] [stdout] --> src/traits.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub trait Field: Ring + Inv + Div + Card{} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PolyZx` is never constructed [INFO] [stdout] --> src/poly/poly_zx.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PolyZx{ //Z[X] polynomial, they can be evaluated on any ring [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_deg`, `eval`, and `rm_trailing_zeros` are never used [INFO] [stdout] --> src/poly/poly_zx.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl PolyZx{ [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 14 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | [INFO] [stdout] 16 | pub fn eval(&self,x:T)-> T { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn rm_trailing_zeros(mut self)-> PolyZx{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Poly` is never constructed [INFO] [stdout] --> src/poly/poly_ring.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Poly{ //Polynomial over a ring [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_deg`, `eval`, and `rm_trailing_zeros` are never used [INFO] [stdout] --> src/poly/poly_ring.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 11 | / impl Poly [INFO] [stdout] 12 | | where [INFO] [stdout] 13 | | T:Ring [INFO] [stdout] | |__________- methods in this implementation [INFO] [stdout] 14 | { [INFO] [stdout] 15 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 16 | [INFO] [stdout] 17 | pub fn eval(&self,x:T)-> T { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn rm_trailing_zeros(mut self)-> Poly { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Polyff` is never constructed [INFO] [stdout] --> src/poly/poly_ff.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Polyff{ //Polynomial over a field [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_deg`, `eval`, `rm_trailing_zeros`, `times_x_to_the`, `new_from_vec`, and `GCD` are never used [INFO] [stdout] --> src/poly/poly_ff.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Polyff{ [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | [INFO] [stdout] 14 | pub fn eval(&self,x:T)-> T { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn rm_trailing_zeros(mut self)-> Polyff { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn times_x_to_the(&self,n:usize)->Polyff{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn new_from_vec(coeff:Vec) -> Polyff{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn GCD(f:Polyff, g: Polyff)->Polyff{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FieldExtension` is never constructed [INFO] [stdout] --> src/field_extension.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FieldExtension{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new_from_vec` and `frobenius_map` are never used [INFO] [stdout] --> src/field_extension.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl FieldExtension { [INFO] [stdout] | ------------------------------- associated functions in this implementation [INFO] [stdout] 131 | pub fn new_from_vec(nb:Vec, poly:Vec)->FieldExtension{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn frobenius_map(x:FieldExtension)->FieldExtension{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EllipticCurve` is never constructed [INFO] [stdout] --> src/elliptic_curve.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct EllipticCurve{ // implements elliptic curve in short weierstrass form [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EllipticCurvePoint` is never constructed [INFO] [stdout] --> src/elliptic_curve.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct EllipticCurvePoint{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ECPoint` is never used [INFO] [stdout] --> src/elliptic_curve.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum ECPoint{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_point`, `infinity`, and `is_on_curve` are never used [INFO] [stdout] --> src/elliptic_curve.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl EllipticCurve{ [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 23 | [INFO] [stdout] 24 | pub fn new(a:T,b:T)->EllipticCurve{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn new_point(&self,x:T,y:T)->EllipticCurvePoint{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn infinity(&self)->EllipticCurvePoint{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_on_curve(&self,pt:&ECPoint)->bool{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `add_ec_point` is never used [INFO] [stdout] --> src/elliptic_curve.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl ECPoint{ [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 148 | [INFO] [stdout] 149 | pub fn add_ec_point(x1:T,y1:T,x2:T,y2:T,a:T) -> ECPoint { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_prime` is never used [INFO] [stdout] --> src/num_theory.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn is_prime(n:i32)->bool{ //this is slow, will implement miller-rabin or something [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/num_theory.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn gcd(a:i32,b:i32)->i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VectorZ` is never constructed [INFO] [stdout] --> src/vector_z.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct VectorZ{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/vector_z.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl VectorZ{ [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 12 | [INFO] [stdout] 13 | pub fn new(coeff:Vec)->VectorZ{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get(&self, index:usize)->i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vector` is never constructed [INFO] [stdout] --> src/vector_ring.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Vector{ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/vector_ring.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Vector{ [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 12 | [INFO] [stdout] 13 | pub fn new(coeff:Vec)->Vector{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get(&self, index:usize)->T{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `GCD` should have a snake case name [INFO] [stdout] --> src/poly/poly_ff.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn GCD(f:Polyff, g: Polyff)->Polyff{ [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `gcd` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.60s [INFO] running `Command { std: "docker" "inspect" "473fbd9e86ca2284839440d5fb0a16049a9c5bc78da4d62c52c73b0c39fbf05e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "473fbd9e86ca2284839440d5fb0a16049a9c5bc78da4d62c52c73b0c39fbf05e", kill_on_drop: false }` [INFO] [stdout] 473fbd9e86ca2284839440d5fb0a16049a9c5bc78da4d62c52c73b0c39fbf05e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 025052bc6bbb2023d77be8566a6132e27fc8ed2bd176174104160d1603383c73 [INFO] running `Command { std: "docker" "start" "-a" "025052bc6bbb2023d77be8566a6132e27fc8ed2bd176174104160d1603383c73", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `std::iter::Sum` [INFO] [stdout] --> src/traits.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::iter::Sum; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Inv` [INFO] [stdout] --> src/poly/poly_ff.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::traits::{One,Zero,Inv}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zn` is never constructed [INFO] [stdout] --> src/zn.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Zn{ //ring Z/nZ, if n prime we get a field [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_vec`, `into_i32`, `new`, `legendre_symbol`, `is_square`, and `sqrt` are never used [INFO] [stdout] --> src/zn.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl Zn { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 128 | [INFO] [stdout] 129 | pub fn from_vec(vec: Vec,n:i32)-> Vec{ // get a vec of Zn from a vec and n [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn into_i32(vec: Vec)-> Vec { // get a vec of int from a vec [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn new(x:i32,n:i32)-> Zn{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn legendre_symbol(&self)->i32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn is_square(&self) -> bool{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn sqrt(a:Zn)->(Zn,Zn){ //using cipolla's algorithm [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixZ` is never constructed [INFO] [stdout] --> src/matrix_z.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct MatrixZ{ //coeff should be of len n*n [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get`, `get_lin`, `get_col`, and `new` are never used [INFO] [stdout] --> src/matrix_z.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl MatrixZ{ // get an element of the Matrix, a line or a column or create new Matrix [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 11 | pub fn get(&self,i:usize,j:usize) -> i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_lin(&self,i:usize)->Vec{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn get_col(&self,j:usize)->Vec{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn new(coeff:Vec, n:usize) -> MatrixZ{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixRing` is never constructed [INFO] [stdout] --> src/matrix_ring.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MatrixRing{ //coefficients are part of any ring [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get`, `get_lin`, `get_col`, and `new` are never used [INFO] [stdout] --> src/matrix_ring.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl MatrixRing{ // get an element of the Matrix, a line or a column or create new Matrix [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn get(&self,i:usize,j:usize) -> T{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn get_lin(&self,i:usize)->Vec{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_col(&self,j:usize)->Vec{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn new(coeff:Vec, n:usize) -> MatrixRing{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `One` is never used [INFO] [stdout] --> src/traits.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait One{ //Trait to get the multiplicative identity of the ring [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Zero` is never used [INFO] [stdout] --> src/traits.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub trait Zero{ //get the zero of the ring [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Pow` is never used [INFO] [stdout] --> src/traits.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub trait Pow: Clone + One + Mul + Mul{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Ring` is never used [INFO] [stdout] --> src/traits.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | pub trait Ring: PartialEq + Debug + Pow + Mul + Zero + Add + Sub +Add + Neg src/traits.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | pub trait Inv{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Card` is never used [INFO] [stdout] --> src/traits.rs:60:11 [INFO] [stdout] | [INFO] [stdout] 60 | pub trait Card { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Field` is never used [INFO] [stdout] --> src/traits.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub trait Field: Ring + Inv + Div + Card{} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PolyZx` is never constructed [INFO] [stdout] --> src/poly/poly_zx.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PolyZx{ //Z[X] polynomial, they can be evaluated on any ring [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_deg`, `eval`, and `rm_trailing_zeros` are never used [INFO] [stdout] --> src/poly/poly_zx.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl PolyZx{ [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 14 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | [INFO] [stdout] 16 | pub fn eval(&self,x:T)-> T { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn rm_trailing_zeros(mut self)-> PolyZx{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Poly` is never constructed [INFO] [stdout] --> src/poly/poly_ring.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Poly{ //Polynomial over a ring [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_deg`, `eval`, and `rm_trailing_zeros` are never used [INFO] [stdout] --> src/poly/poly_ring.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 11 | / impl Poly [INFO] [stdout] 12 | | where [INFO] [stdout] 13 | | T:Ring [INFO] [stdout] | |__________- methods in this implementation [INFO] [stdout] 14 | { [INFO] [stdout] 15 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 16 | [INFO] [stdout] 17 | pub fn eval(&self,x:T)-> T { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn rm_trailing_zeros(mut self)-> Poly { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Polyff` is never constructed [INFO] [stdout] --> src/poly/poly_ff.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Polyff{ //Polynomial over a field [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_deg`, `eval`, `rm_trailing_zeros`, `times_x_to_the`, `new_from_vec`, and `GCD` are never used [INFO] [stdout] --> src/poly/poly_ff.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Polyff{ [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | [INFO] [stdout] 14 | pub fn eval(&self,x:T)-> T { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn rm_trailing_zeros(mut self)-> Polyff { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn times_x_to_the(&self,n:usize)->Polyff{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn new_from_vec(coeff:Vec) -> Polyff{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn GCD(f:Polyff, g: Polyff)->Polyff{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FieldExtension` is never constructed [INFO] [stdout] --> src/field_extension.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FieldExtension{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new_from_vec` and `frobenius_map` are never used [INFO] [stdout] --> src/field_extension.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl FieldExtension { [INFO] [stdout] | ------------------------------- associated functions in this implementation [INFO] [stdout] 131 | pub fn new_from_vec(nb:Vec, poly:Vec)->FieldExtension{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn frobenius_map(x:FieldExtension)->FieldExtension{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EllipticCurve` is never constructed [INFO] [stdout] --> src/elliptic_curve.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct EllipticCurve{ // implements elliptic curve in short weierstrass form [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EllipticCurvePoint` is never constructed [INFO] [stdout] --> src/elliptic_curve.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct EllipticCurvePoint{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ECPoint` is never used [INFO] [stdout] --> src/elliptic_curve.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum ECPoint{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_point`, `infinity`, and `is_on_curve` are never used [INFO] [stdout] --> src/elliptic_curve.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl EllipticCurve{ [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 23 | [INFO] [stdout] 24 | pub fn new(a:T,b:T)->EllipticCurve{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn new_point(&self,x:T,y:T)->EllipticCurvePoint{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn infinity(&self)->EllipticCurvePoint{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_on_curve(&self,pt:&ECPoint)->bool{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `add_ec_point` is never used [INFO] [stdout] --> src/elliptic_curve.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl ECPoint{ [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 148 | [INFO] [stdout] 149 | pub fn add_ec_point(x1:T,y1:T,x2:T,y2:T,a:T) -> ECPoint { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling math_lib v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `is_prime` is never used [INFO] [stdout] --> src/num_theory.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn is_prime(n:i32)->bool{ //this is slow, will implement miller-rabin or something [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/num_theory.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn gcd(a:i32,b:i32)->i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VectorZ` is never constructed [INFO] [stdout] --> src/vector_z.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct VectorZ{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/vector_z.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl VectorZ{ [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 12 | [INFO] [stdout] 13 | pub fn new(coeff:Vec)->VectorZ{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get(&self, index:usize)->i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vector` is never constructed [INFO] [stdout] --> src/vector_ring.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Vector{ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/vector_ring.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Vector{ [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 12 | [INFO] [stdout] 13 | pub fn new(coeff:Vec)->Vector{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get(&self, index:usize)->T{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `GCD` should have a snake case name [INFO] [stdout] --> src/poly/poly_ff.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn GCD(f:Polyff, g: Polyff)->Polyff{ [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `gcd` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Sum` [INFO] [stdout] --> src/traits.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::iter::Sum; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `One` and `Zero` [INFO] [stdout] --> src/lib.rs:478:29 [INFO] [stdout] | [INFO] [stdout] 478 | use crate::traits::{Zero, One}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `poly::poly_ff::Polyff` [INFO] [stdout] --> src/lib.rs:721:13 [INFO] [stdout] | [INFO] [stdout] 721 | poly::poly_ff::Polyff}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EllipticCurvePoint` [INFO] [stdout] --> src/lib.rs:813:51 [INFO] [stdout] | [INFO] [stdout] 813 | use crate::elliptic_curve::{EllipticCurve,EllipticCurvePoint,ECPoint}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::poly::poly_ff::Polyff` [INFO] [stdout] --> src/lib.rs:927:9 [INFO] [stdout] | [INFO] [stdout] 927 | use crate::poly::poly_ff::Polyff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::poly::poly_zx::PolyZx` [INFO] [stdout] --> src/lib.rs:928:9 [INFO] [stdout] | [INFO] [stdout] 928 | use crate::poly::poly_zx::PolyZx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::zn::Zn` [INFO] [stdout] --> src/lib.rs:929:9 [INFO] [stdout] | [INFO] [stdout] 929 | use crate::zn::Zn; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Inv` and `Pow` [INFO] [stdout] --> src/lib.rs:930:25 [INFO] [stdout] | [INFO] [stdout] 930 | use crate::traits::{Pow,Inv}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::matrix_z::MatrixZ` [INFO] [stdout] --> src/lib.rs:934:9 [INFO] [stdout] | [INFO] [stdout] 934 | use crate::matrix_z::MatrixZ; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::poly::poly_ring::Poly` [INFO] [stdout] --> src/lib.rs:935:13 [INFO] [stdout] | [INFO] [stdout] 935 | use crate::poly::poly_ring::Poly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Inv` [INFO] [stdout] --> src/poly/poly_ff.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::traits::{One,Zero,Inv}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_char` is never used [INFO] [stdout] --> src/traits.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub trait Card { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] 61 | fn get_card(&self)-> i32; [INFO] [stdout] 62 | fn get_char(&self)-> i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_deg` is never used [INFO] [stdout] --> src/poly/poly_zx.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl PolyZx{ [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 14 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_deg` is never used [INFO] [stdout] --> src/poly/poly_ring.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 11 | / impl Poly [INFO] [stdout] 12 | | where [INFO] [stdout] 13 | | T:Ring [INFO] [stdout] | |__________- method in this implementation [INFO] [stdout] 14 | { [INFO] [stdout] 15 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `frobenius_map` is never used [INFO] [stdout] --> src/field_extension.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl FieldExtension { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn frobenius_map(x:FieldExtension)->FieldExtension{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get` is never used [INFO] [stdout] --> src/vector_z.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl VectorZ{ [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get(&self, index:usize)->i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get` is never used [INFO] [stdout] --> src/vector_ring.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Vector{ [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get(&self, index:usize)->T{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `GCD` should have a snake case name [INFO] [stdout] --> src/poly/poly_ff.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn GCD(f:Polyff, g: Polyff)->Polyff{ [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `gcd` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MatrixZ_a` should have a snake case name [INFO] [stdout] --> src/lib.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | let MatrixZ_a = MatrixZ::new(vec![3,0,1,1],2); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `matrix_z_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MatrixZ_b` should have a snake case name [INFO] [stdout] --> src/lib.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | let MatrixZ_b = MatrixZ::new(vec![2,4,0,1],2); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `matrix_z_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MatrixZ` should have a snake case name [INFO] [stdout] --> src/lib.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 497 | let MatrixZ = MatrixZ::new(vec![1,0,2,3],2); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `matrix_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.37s [INFO] running `Command { std: "docker" "inspect" "025052bc6bbb2023d77be8566a6132e27fc8ed2bd176174104160d1603383c73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "025052bc6bbb2023d77be8566a6132e27fc8ed2bd176174104160d1603383c73", kill_on_drop: false }` [INFO] [stdout] 025052bc6bbb2023d77be8566a6132e27fc8ed2bd176174104160d1603383c73 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 357522ccb497903aeaed0b0be46ebd02ef5aa6ac9b24ca6b45e8c31ebed8a588 [INFO] running `Command { std: "docker" "start" "-a" "357522ccb497903aeaed0b0be46ebd02ef5aa6ac9b24ca6b45e8c31ebed8a588", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::iter::Sum` [INFO] [stderr] --> src/traits.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::iter::Sum; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Inv` [INFO] [stderr] --> src/poly/poly_ff.rs:3:30 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::traits::{One,Zero,Inv}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Zn` is never constructed [INFO] [stderr] --> src/zn.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Zn{ //ring Z/nZ, if n prime we get a field [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated items `from_vec`, `into_i32`, `new`, `legendre_symbol`, `is_square`, and `sqrt` are never used [INFO] [stderr] --> src/zn.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 127 | impl Zn { [INFO] [stderr] | ------- associated items in this implementation [INFO] [stderr] 128 | [INFO] [stderr] 129 | pub fn from_vec(vec: Vec,n:i32)-> Vec{ // get a vec of Zn from a vec and n [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 138 | pub fn into_i32(vec: Vec)-> Vec { // get a vec of int from a vec [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 146 | pub fn new(x:i32,n:i32)-> Zn{ [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 158 | pub fn legendre_symbol(&self)->i32{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 166 | pub fn is_square(&self) -> bool{ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 170 | pub fn sqrt(a:Zn)->(Zn,Zn){ //using cipolla's algorithm [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MatrixZ` is never constructed [INFO] [stderr] --> src/matrix_z.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct MatrixZ{ //coeff should be of len n*n [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `get`, `get_lin`, `get_col`, and `new` are never used [INFO] [stderr] --> src/matrix_z.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 10 | impl MatrixZ{ // get an element of the Matrix, a line or a column or create new Matrix [INFO] [stderr] | ------------ associated items in this implementation [INFO] [stderr] 11 | pub fn get(&self,i:usize,j:usize) -> i32{ [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 18 | pub fn get_lin(&self,i:usize)->Vec{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 29 | pub fn get_col(&self,j:usize)->Vec{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 40 | pub fn new(coeff:Vec, n:usize) -> MatrixZ{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MatrixRing` is never constructed [INFO] [stderr] --> src/matrix_ring.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct MatrixRing{ //coefficients are part of any ring [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `get`, `get_lin`, `get_col`, and `new` are never used [INFO] [stderr] --> src/matrix_ring.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 12 | impl MatrixRing{ // get an element of the Matrix, a line or a column or create new Matrix [INFO] [stderr] | -------------------------- associated items in this implementation [INFO] [stderr] 13 | pub fn get(&self,i:usize,j:usize) -> T{ [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 17 | pub fn get_lin(&self,i:usize)->Vec{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | pub fn get_col(&self,j:usize)->Vec{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | pub fn new(coeff:Vec, n:usize) -> MatrixRing{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `One` is never used [INFO] [stderr] --> src/traits.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | pub trait One{ //Trait to get the multiplicative identity of the ring [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Zero` is never used [INFO] [stderr] --> src/traits.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | pub trait Zero{ //get the zero of the ring [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Pow` is never used [INFO] [stderr] --> src/traits.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | pub trait Pow: Clone + One + Mul + Mul{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Ring` is never used [INFO] [stderr] --> src/traits.rs:53:11 [INFO] [stderr] | [INFO] [stderr] 53 | pub trait Ring: PartialEq + Debug + Pow + Mul + Zero + Add + Sub +Add + Neg src/traits.rs:56:11 [INFO] [stderr] | [INFO] [stderr] 56 | pub trait Inv{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Card` is never used [INFO] [stderr] --> src/traits.rs:60:11 [INFO] [stderr] | [INFO] [stderr] 60 | pub trait Card { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Field` is never used [INFO] [stderr] --> src/traits.rs:67:11 [INFO] [stderr] | [INFO] [stderr] 67 | pub trait Field: Ring + Inv + Div + Card{} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PolyZx` is never constructed [INFO] [stderr] --> src/poly/poly_zx.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct PolyZx{ //Z[X] polynomial, they can be evaluated on any ring [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_deg`, `eval`, and `rm_trailing_zeros` are never used [INFO] [stderr] --> src/poly/poly_zx.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 13 | impl PolyZx{ [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] 14 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 15 | [INFO] [stderr] 16 | pub fn eval(&self,x:T)-> T { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | pub fn rm_trailing_zeros(mut self)-> PolyZx{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Poly` is never constructed [INFO] [stderr] --> src/poly/poly_ring.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Poly{ //Polynomial over a ring [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_deg`, `eval`, and `rm_trailing_zeros` are never used [INFO] [stderr] --> src/poly/poly_ring.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 11 | / impl Poly [INFO] [stderr] 12 | | where [INFO] [stderr] 13 | | T:Ring [INFO] [stderr] | |__________- methods in this implementation [INFO] [stderr] 14 | { [INFO] [stderr] 15 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 16 | [INFO] [stderr] 17 | pub fn eval(&self,x:T)-> T { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn rm_trailing_zeros(mut self)-> Poly { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Polyff` is never constructed [INFO] [stderr] --> src/poly/poly_ff.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Polyff{ //Polynomial over a field [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `get_deg`, `eval`, `rm_trailing_zeros`, `times_x_to_the`, `new_from_vec`, and `GCD` are never used [INFO] [stderr] --> src/poly/poly_ff.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl Polyff{ [INFO] [stderr] | ----------------------- associated items in this implementation [INFO] [stderr] 12 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 13 | [INFO] [stderr] 14 | pub fn eval(&self,x:T)-> T { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | pub fn rm_trailing_zeros(mut self)-> Polyff { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | pub fn times_x_to_the(&self,n:usize)->Polyff{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | pub fn new_from_vec(coeff:Vec) -> Polyff{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub fn GCD(f:Polyff, g: Polyff)->Polyff{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FieldExtension` is never constructed [INFO] [stderr] --> src/field_extension.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct FieldExtension{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `new_from_vec` and `frobenius_map` are never used [INFO] [stderr] --> src/field_extension.rs:131:12 [INFO] [stderr] | [INFO] [stderr] 130 | impl FieldExtension { [INFO] [stderr] | ------------------------------- associated functions in this implementation [INFO] [stderr] 131 | pub fn new_from_vec(nb:Vec, poly:Vec)->FieldExtension{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 136 | pub fn frobenius_map(x:FieldExtension)->FieldExtension{ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `EllipticCurve` is never constructed [INFO] [stderr] --> src/elliptic_curve.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct EllipticCurve{ // implements elliptic curve in short weierstrass form [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `EllipticCurvePoint` is never constructed [INFO] [stderr] --> src/elliptic_curve.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct EllipticCurvePoint{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `ECPoint` is never used [INFO] [stderr] --> src/elliptic_curve.rs:17:10 [INFO] [stderr] | [INFO] [stderr] 17 | pub enum ECPoint{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `new_point`, `infinity`, and `is_on_curve` are never used [INFO] [stderr] --> src/elliptic_curve.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 22 | impl EllipticCurve{ [INFO] [stderr] | ------------------------------ associated items in this implementation [INFO] [stderr] 23 | [INFO] [stderr] 24 | pub fn new(a:T,b:T)->EllipticCurve{ [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 34 | pub fn new_point(&self,x:T,y:T)->EllipticCurvePoint{ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn infinity(&self)->EllipticCurvePoint{ [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn is_on_curve(&self,pt:&ECPoint)->bool{ [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `add_ec_point` is never used [INFO] [stderr] --> src/elliptic_curve.rs:149:12 [INFO] [stderr] | [INFO] [stderr] 147 | impl ECPoint{ [INFO] [stderr] | ------------------------ associated function in this implementation [INFO] [stderr] 148 | [INFO] [stderr] 149 | pub fn add_ec_point(x1:T,y1:T,x2:T,y2:T,a:T) -> ECPoint { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_prime` is never used [INFO] [stderr] --> src/num_theory.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn is_prime(n:i32)->bool{ //this is slow, will implement miller-rabin or something [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `gcd` is never used [INFO] [stderr] --> src/num_theory.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn gcd(a:i32,b:i32)->i32{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `VectorZ` is never constructed [INFO] [stderr] --> src/vector_z.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct VectorZ{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `get` are never used [INFO] [stderr] --> src/vector_z.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl VectorZ{ [INFO] [stderr] | ------------ associated items in this implementation [INFO] [stderr] 12 | [INFO] [stderr] 13 | pub fn new(coeff:Vec)->VectorZ{ [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn get(&self, index:usize)->i32{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Vector` is never constructed [INFO] [stderr] --> src/vector_ring.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Vector{ [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `get` are never used [INFO] [stderr] --> src/vector_ring.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl Vector{ [INFO] [stderr] | ---------------------- associated items in this implementation [INFO] [stderr] 12 | [INFO] [stderr] 13 | pub fn new(coeff:Vec)->Vector{ [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn get(&self, index:usize)->T{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: method `GCD` should have a snake case name [INFO] [stderr] --> src/poly/poly_ff.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn GCD(f:Polyff, g: Polyff)->Polyff{ [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `gcd` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `math_lib` (lib) generated 35 warnings (run `cargo fix --lib -p math_lib` to apply 1 suggestion) [INFO] [stderr] warning: unused imports: `One` and `Zero` [INFO] [stderr] --> src/lib.rs:478:29 [INFO] [stderr] | [INFO] [stderr] 478 | use crate::traits::{Zero, One}; [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `poly::poly_ff::Polyff` [INFO] [stderr] --> src/lib.rs:721:13 [INFO] [stderr] | [INFO] [stderr] 721 | poly::poly_ff::Polyff}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `EllipticCurvePoint` [INFO] [stderr] --> src/lib.rs:813:51 [INFO] [stderr] | [INFO] [stderr] 813 | use crate::elliptic_curve::{EllipticCurve,EllipticCurvePoint,ECPoint}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::poly::poly_ff::Polyff` [INFO] [stderr] --> src/lib.rs:927:9 [INFO] [stderr] | [INFO] [stderr] 927 | use crate::poly::poly_ff::Polyff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::poly::poly_zx::PolyZx` [INFO] [stderr] --> src/lib.rs:928:9 [INFO] [stderr] | [INFO] [stderr] 928 | use crate::poly::poly_zx::PolyZx; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::zn::Zn` [INFO] [stderr] --> src/lib.rs:929:9 [INFO] [stderr] | [INFO] [stderr] 929 | use crate::zn::Zn; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Inv` and `Pow` [INFO] [stderr] --> src/lib.rs:930:25 [INFO] [stderr] | [INFO] [stderr] 930 | use crate::traits::{Pow,Inv}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::matrix_z::MatrixZ` [INFO] [stderr] --> src/lib.rs:934:9 [INFO] [stderr] | [INFO] [stderr] 934 | use crate::matrix_z::MatrixZ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::poly::poly_ring::Poly` [INFO] [stderr] --> src/lib.rs:935:13 [INFO] [stderr] | [INFO] [stderr] 935 | use crate::poly::poly_ring::Poly; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_char` is never used [INFO] [stderr] --> src/traits.rs:62:8 [INFO] [stderr] | [INFO] [stderr] 60 | pub trait Card { [INFO] [stderr] | ---- method in this trait [INFO] [stderr] 61 | fn get_card(&self)-> i32; [INFO] [stderr] 62 | fn get_char(&self)-> i32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `get_deg` is never used [INFO] [stderr] --> src/poly/poly_zx.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 13 | impl PolyZx{ [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] 14 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_deg` is never used [INFO] [stderr] --> src/poly/poly_ring.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 11 | / impl Poly [INFO] [stderr] 12 | | where [INFO] [stderr] 13 | | T:Ring [INFO] [stderr] | |__________- method in this implementation [INFO] [stderr] 14 | { [INFO] [stderr] 15 | pub fn get_deg(&self)->usize{self.coeff.len()-1} [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `frobenius_map` is never used [INFO] [stderr] --> src/field_extension.rs:136:12 [INFO] [stderr] | [INFO] [stderr] 130 | impl FieldExtension { [INFO] [stderr] | ------------------------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 136 | pub fn frobenius_map(x:FieldExtension)->FieldExtension{ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get` is never used [INFO] [stderr] --> src/vector_z.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl VectorZ{ [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn get(&self, index:usize)->i32{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get` is never used [INFO] [stderr] --> src/vector_ring.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl Vector{ [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn get(&self, index:usize)->T{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `MatrixZ_a` should have a snake case name [INFO] [stderr] --> src/lib.rs:492:17 [INFO] [stderr] | [INFO] [stderr] 492 | let MatrixZ_a = MatrixZ::new(vec![3,0,1,1],2); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `matrix_z_a` [INFO] [stderr] [INFO] [stderr] warning: variable `MatrixZ_b` should have a snake case name [INFO] [stderr] --> src/lib.rs:493:17 [INFO] [stderr] | [INFO] [stderr] 493 | let MatrixZ_b = MatrixZ::new(vec![2,4,0,1],2); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `matrix_z_b` [INFO] [stderr] [INFO] [stderr] warning: variable `MatrixZ` should have a snake case name [INFO] [stderr] --> src/lib.rs:497:17 [INFO] [stderr] | [INFO] [stderr] 497 | let MatrixZ = MatrixZ::new(vec![1,0,2,3],2); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `matrix_z` [INFO] [stderr] [INFO] [stderr] warning: `math_lib` (lib test) generated 21 warnings (3 duplicates) (run `cargo fix --lib -p math_lib --tests` to apply 9 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/math_lib-35f0fd383e252788) [INFO] [stdout] [INFO] [stdout] running 56 tests [INFO] [stdout] test tests::ec_test::ec_add_point ... ok [INFO] [stdout] test tests::ec_test::ec_is_on_curve ... ok [INFO] [stdout] test tests::ec_test::ec_mul_scalar ... ok [INFO] [stdout] test tests::fe_test::fe_add_same_field ... ok [INFO] [stdout] test tests::fe_test::fe_inv ... ok [INFO] [stdout] test tests::fe_test::fe_mul_same_field ... ok [INFO] [stdout] test tests::fe_test::fe_new_test ... ok [INFO] [stdout] test tests::fe_test::fe_of_fe ... ok [INFO] [stdout] test tests::matrix_ring_test::matrix_z_mul_same_size ... ok [INFO] [stdout] test tests::matrix_ring_test::matrix_z_add_same_size ... ok [INFO] [stdout] test tests::matrix_z_test::matrix_z_add_same_size ... ok [INFO] [stdout] test tests::matrix_ring_test::matrix_z_pow ... ok [INFO] [stdout] test tests::matrix_vector_mul::mat_vec_mul_over_ring ... ok [INFO] [stdout] test tests::matrix_vector_mul::mat_vec_mul_over_z ... ok [INFO] [stdout] test tests::matrix_z_test::matrix_z_mul_same_size ... ok [INFO] [stdout] test tests::num_theory_test::gcd_test ... ok [INFO] [stdout] test tests::num_theory_test::prime_check ... ok [INFO] [stdout] test tests::poly_ff_test::poly_ff_add ... ok [INFO] [stdout] test tests::poly_ff_test::poly_ff_div ... ok [INFO] [stdout] test tests::poly_ff_test::poly_ff_eval ... ok [INFO] [stdout] test tests::poly_ff_test::poly_ff_gcd ... ok [INFO] [stdout] test tests::poly_ff_test::poly_ff_mul ... ok [INFO] [stdout] test tests::poly_ff_test::poly_ff_rem ... ok [INFO] [stdout] test tests::ec_test::ec_add_diff_curve - should panic ... ok [INFO] [stdout] test tests::matrix_ring_test::matrix_z_add_diff_size - should panic ... ok [INFO] [stdout] test tests::matrix_z_test::matrix_z_add_diff_size - should panic ... ok [INFO] [stdout] test tests::matrix_z_test::matrix_z_new_invalid - should panic ... ok [INFO] [stdout] test tests::matrix_z_test::matrix_z_mul_diff_size - should panic ... ok [INFO] [stdout] test tests::poly_ring_test::poly_ring_add ... ok [INFO] [stdout] test tests::poly_ff_test::poly_ff_div_0 - should panic ... ok [INFO] [stdout] test tests::poly_ff_test::poly_ff_rem_0 - should panic ... ok [INFO] [stdout] test tests::poly_ring_test::poly_ring_eval ... ok [INFO] [stdout] test tests::poly_ring_test::poly_ring_mul ... ok [INFO] [stdout] test tests::poly_ring_test::poly_ring_of_poly ... ok [INFO] [stdout] test tests::poly_zx_test::poly_add ... ok [INFO] [stdout] test tests::poly_zx_test::poly_of_poly ... ok [INFO] [stdout] test tests::poly_zx_test::poly_eval ... ok [INFO] [stdout] test tests::poly_zx_test::poly_mul ... ok [INFO] [stdout] test tests::poly_zx_test::poly_rm_zeros ... ok [INFO] [stdout] test tests::test ... ok [INFO] [stdout] test tests::vector_z_test::vector_dot_prod_diff_size - should panic ... ok [INFO] [stdout] test tests::vector_z_test::vector_dot_product ... ok [INFO] [stdout] test tests::vector_ring_test::vector_ring_add_same_size ... ok [INFO] [stdout] test tests::vector_z_test::vector_z_add_same_size ... ok [INFO] [stdout] test tests::zn_tests::zn_add_same_ring ... ok [INFO] [stdout] test tests::zn_tests::zn_inv ... ok [INFO] [stdout] test tests::zn_tests::zn_mul_same_ring ... ok [INFO] [stdout] test tests::zn_tests::zn_pow ... ok [INFO] [stdout] test tests::zn_tests::zn_add_different_ring - should panic ... ok [INFO] [stdout] test tests::zn_tests::legendre_symbol_test ... ok [INFO] [stdout] test tests::zn_tests::zn_sqrt ... ok [INFO] [stdout] test tests::vector_z_test::vector_z_add_diff_size - should panic ... ok [INFO] [stdout] test tests::vector_ring_test::vector_ring_dot_product ... ok [INFO] [stdout] test tests::zn_tests::zn_invalid_sqrt - should panic ... ok [INFO] [stdout] test tests::zn_tests::zn_mul_different_ring - should panic ... ok [INFO] [stderr] Doc-tests math_lib [INFO] [stdout] test tests::matrix_z_test::matrix_z_pow ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "357522ccb497903aeaed0b0be46ebd02ef5aa6ac9b24ca6b45e8c31ebed8a588", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "357522ccb497903aeaed0b0be46ebd02ef5aa6ac9b24ca6b45e8c31ebed8a588", kill_on_drop: false }` [INFO] [stdout] 357522ccb497903aeaed0b0be46ebd02ef5aa6ac9b24ca6b45e8c31ebed8a588