[INFO] crate reform 0.1.0 is already in cache [INFO] extracting crate reform 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/reform/0.1.0 [INFO] extracting crate reform 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/reform/0.1.0 [INFO] validating manifest of reform-0.1.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of reform-0.1.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing reform-0.1.0 [INFO] finished frobbing reform-0.1.0 [INFO] frobbed toml for reform-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/reform/0.1.0/Cargo.toml [INFO] started frobbing reform-0.1.0 [INFO] finished frobbing reform-0.1.0 [INFO] frobbed toml for reform-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/reform/0.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rug v1.3.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting reform-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/reform/0.1.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5582b68d000315e8697222f73ea5f5010bdd3ceb65869d4074822c032e47abd0 [INFO] running `"docker" "start" "-a" "5582b68d000315e8697222f73ea5f5010bdd3ceb65869d4074822c032e47abd0"` [INFO] [stderr] Compiling gmp-mpfr-sys v1.1.10 [INFO] [stderr] Compiling rug v1.3.0 [INFO] [stderr] Checking fastdivide v0.2.0 [INFO] [stderr] Checking log v0.4.6 [INFO] [stderr] Checking crossbeam v0.4.1 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking reform v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/structure.rs:1236:60 [INFO] [stderr] | [INFO] [stderr] 1236 | Statement::ForInRange(ref d, ref l, ref u, ref m) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(f, "")` [INFO] [stderr] --> src/structure.rs:1164:17 [INFO] [stderr] | [INFO] [stderr] 1164 | writeln!(f, "") [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:761:17 [INFO] [stderr] | [INFO] [stderr] 761 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:778:17 [INFO] [stderr] | [INFO] [stderr] 778 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:787:17 [INFO] [stderr] | [INFO] [stderr] 787 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:799:17 [INFO] [stderr] | [INFO] [stderr] 799 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:834:13 [INFO] [stderr] | [INFO] [stderr] 834 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:836:13 [INFO] [stderr] | [INFO] [stderr] 836 | matches: matches, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `matches` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:1040:13 [INFO] [stderr] | [INFO] [stderr] 1040 | pattern: pattern, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pattern` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/polynomial.rs:132:21 [INFO] [stderr] | [INFO] [stderr] 132 | varmap: varmap, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `varmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/polynomial.rs:133:21 [INFO] [stderr] | [INFO] [stderr] 133 | inv_varmap: inv_varmap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inv_varmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/polynomial.rs:139:17 [INFO] [stderr] | [INFO] [stderr] 139 | varmap: varmap, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `varmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/polynomial.rs:140:17 [INFO] [stderr] | [INFO] [stderr] 140 | inv_varmap: inv_varmap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inv_varmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:21:37 [INFO] [stderr] | [INFO] [stderr] 21 | FiniteField { n: 0, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:23:41 [INFO] [stderr] | [INFO] [stderr] 23 | FiniteField { n: n % p, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | FiniteField { n: n, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:26:33 [INFO] [stderr] | [INFO] [stderr] 26 | FiniteField { n: n, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:38:34 [INFO] [stderr] | [INFO] [stderr] 38 | FiniteField { n: nn, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | p: p, [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | p: p, [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | let mut v = vec![u[0].clone()]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let mut e = vec![E::zero(); u[0].nvars]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:313:33 [INFO] [stderr] | [INFO] [stderr] 313 | let mut i = 0; // index in the result x [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:488:33 [INFO] [stderr] | [INFO] [stderr] 488 | let k = s.cols() - system.len(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:514:45 [INFO] [stderr] | [INFO] [stderr] 514 | let mut i = 0; // index in the result x [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:515:46 [INFO] [stderr] | [INFO] [stderr] 515 | let (ref c, ref ex) = gfu[si]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | let p = FastModulus::from(a.coefficients[0].p); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:682:17 [INFO] [stderr] | [INFO] [stderr] 682 | let mut r = c.divmod_finite(&mut d, &p).1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:690:13 [INFO] [stderr] | [INFO] [stderr] 690 | let l = d.coefficients.last().unwrap().clone(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:726:37 [INFO] [stderr] | [INFO] [stderr] 726 | Entry::Occupied(mut e) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:729:35 [INFO] [stderr] | [INFO] [stderr] 729 | Entry::Vacant(mut e) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:845:17 [INFO] [stderr] | [INFO] [stderr] 845 | let v = loop { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:866:26 [INFO] [stderr] | [INFO] [stderr] 866 | Some(x) => x, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:955:24 [INFO] [stderr] | [INFO] [stderr] 955 | Ok(r) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:1001:21 [INFO] [stderr] | [INFO] [stderr] 1001 | let r: Vec<(usize, FiniteField)> = vars [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:1101:25 [INFO] [stderr] | [INFO] [stderr] 1101 | let mut c = Vec::with_capacity(f.iter().map(|x| x.nterms).sum()); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:1636:28 [INFO] [stderr] | [INFO] [stderr] 1636 | Ok(r) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/multivar.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | nvars: nvars, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nvars` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/multivar.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | nvars: nvars, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nvars` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/multivar.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | nvars: nvars, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nvars` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/multivar.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | exponents: exponents, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponents` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:304:29 [INFO] [stderr] | [INFO] [stderr] 304 | let i = m * self.nvars; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:1304:17 [INFO] [stderr] | [INFO] [stderr] 1304 | let mut t = Monomial { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:1327:22 [INFO] [stderr] | [INFO] [stderr] 1327 | let (x, i, j) = h.pop().unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:1327:25 [INFO] [stderr] | [INFO] [stderr] 1327 | let (x, i, j) = h.pop().unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:1327:28 [INFO] [stderr] | [INFO] [stderr] 1327 | let (x, i, j) = h.pop().unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | let mut b = ucomp::from(x); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let s = zp::mul(m[(k, j)], inv_x, p); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:106:12 [INFO] [stderr] | [INFO] [stderr] 106 | Ok(i) => i, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | Err(x) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | let mut i = match solve_subsystem(&mut m, nvars, p) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | let x = m[(i, j)]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tools.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tools.rs:310:13 [INFO] [stderr] | [INFO] [stderr] 310 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/structure.rs:1236:60 [INFO] [stderr] | [INFO] [stderr] 1236 | Statement::ForInRange(ref d, ref l, ref u, ref m) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(f, "")` [INFO] [stderr] --> src/structure.rs:1164:17 [INFO] [stderr] | [INFO] [stderr] 1164 | writeln!(f, "") [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:761:17 [INFO] [stderr] | [INFO] [stderr] 761 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:778:17 [INFO] [stderr] | [INFO] [stderr] 778 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:787:17 [INFO] [stderr] | [INFO] [stderr] 787 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:799:17 [INFO] [stderr] | [INFO] [stderr] 799 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:834:13 [INFO] [stderr] | [INFO] [stderr] 834 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:836:13 [INFO] [stderr] | [INFO] [stderr] 836 | matches: matches, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `matches` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:1040:13 [INFO] [stderr] | [INFO] [stderr] 1040 | pattern: pattern, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pattern` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/polynomial.rs:132:21 [INFO] [stderr] | [INFO] [stderr] 132 | varmap: varmap, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `varmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/polynomial.rs:133:21 [INFO] [stderr] | [INFO] [stderr] 133 | inv_varmap: inv_varmap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inv_varmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/polynomial.rs:139:17 [INFO] [stderr] | [INFO] [stderr] 139 | varmap: varmap, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `varmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/polynomial.rs:140:17 [INFO] [stderr] | [INFO] [stderr] 140 | inv_varmap: inv_varmap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inv_varmap` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:21:37 [INFO] [stderr] | [INFO] [stderr] 21 | FiniteField { n: 0, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:23:41 [INFO] [stderr] | [INFO] [stderr] 23 | FiniteField { n: n % p, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | FiniteField { n: n, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:26:33 [INFO] [stderr] | [INFO] [stderr] 26 | FiniteField { n: n, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:38:34 [INFO] [stderr] | [INFO] [stderr] 38 | FiniteField { n: nn, p: p } [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | p: p, [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/finitefield.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | p: p, [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | let mut v = vec![u[0].clone()]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let mut e = vec![E::zero(); u[0].nvars]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:313:33 [INFO] [stderr] | [INFO] [stderr] 313 | let mut i = 0; // index in the result x [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:488:33 [INFO] [stderr] | [INFO] [stderr] 488 | let k = s.cols() - system.len(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:514:45 [INFO] [stderr] | [INFO] [stderr] 514 | let mut i = 0; // index in the result x [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:515:46 [INFO] [stderr] | [INFO] [stderr] 515 | let (ref c, ref ex) = gfu[si]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | let p = FastModulus::from(a.coefficients[0].p); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:682:17 [INFO] [stderr] | [INFO] [stderr] 682 | let mut r = c.divmod_finite(&mut d, &p).1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:690:13 [INFO] [stderr] | [INFO] [stderr] 690 | let l = d.coefficients.last().unwrap().clone(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:726:37 [INFO] [stderr] | [INFO] [stderr] 726 | Entry::Occupied(mut e) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:729:35 [INFO] [stderr] | [INFO] [stderr] 729 | Entry::Vacant(mut e) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:845:17 [INFO] [stderr] | [INFO] [stderr] 845 | let v = loop { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:866:26 [INFO] [stderr] | [INFO] [stderr] 866 | Some(x) => x, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:955:24 [INFO] [stderr] | [INFO] [stderr] 955 | Ok(r) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:1001:21 [INFO] [stderr] | [INFO] [stderr] 1001 | let r: Vec<(usize, FiniteField)> = vars [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:1101:25 [INFO] [stderr] | [INFO] [stderr] 1101 | let mut c = Vec::with_capacity(f.iter().map(|x| x.nterms).sum()); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/gcd.rs:1636:28 [INFO] [stderr] | [INFO] [stderr] 1636 | Ok(r) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/multivar.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | nvars: nvars, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nvars` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/multivar.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | nvars: nvars, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nvars` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/multivar.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | nvars: nvars, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nvars` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/poly/raw/multivar.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | exponents: exponents, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponents` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:304:29 [INFO] [stderr] | [INFO] [stderr] 304 | let i = m * self.nvars; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:1304:17 [INFO] [stderr] | [INFO] [stderr] 1304 | let mut t = Monomial { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:1327:22 [INFO] [stderr] | [INFO] [stderr] 1327 | let (x, i, j) = h.pop().unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:1327:25 [INFO] [stderr] | [INFO] [stderr] 1327 | let (x, i, j) = h.pop().unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/multivar.rs:1327:28 [INFO] [stderr] | [INFO] [stderr] 1327 | let (x, i, j) = h.pop().unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | let mut b = ucomp::from(x); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let s = zp::mul(m[(k, j)], inv_x, p); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:106:12 [INFO] [stderr] | [INFO] [stderr] 106 | Ok(i) => i, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | Err(x) => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | let mut i = match solve_subsystem(&mut m, nvars, p) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/poly/raw/zp_solve.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | let x = m[(i, j)]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tools.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tools.rs:310:13 [INFO] [stderr] | [INFO] [stderr] 310 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/number.rs:18:32 [INFO] [stderr] | [INFO] [stderr] 18 | const DOWNGRADE_LIMIT: isize = 4294967296; // if a bigint is smaller than this number, we downgrade [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_294_967_296` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/structure.rs:14:31 [INFO] [stderr] | [INFO] [stderr] 14 | pub const BUILTIN_FUNCTIONS: &'static [&'static str] = &[ [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/structure.rs:14:41 [INFO] [stderr] | [INFO] [stderr] 14 | pub const BUILTIN_FUNCTIONS: &'static [&'static str] = &[ [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/structure.rs:886:17 [INFO] [stderr] | [INFO] [stderr] 886 | return Some(cmp::Ordering::Equal); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(cmp::Ordering::Equal)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/structure.rs:1624:46 [INFO] [stderr] | [INFO] [stderr] 1624 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deref_addrof)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/structure.rs:1746:46 [INFO] [stderr] | [INFO] [stderr] 1746 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/structure.rs:1815:46 [INFO] [stderr] | [INFO] [stderr] 1815 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/structure.rs:1875:46 [INFO] [stderr] | [INFO] [stderr] 1875 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2010:17 [INFO] [stderr] | [INFO] [stderr] 2010 | mode: _, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2012:17 [INFO] [stderr] | [INFO] [stderr] 2012 | lhs: _, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2013:17 [INFO] [stderr] | [INFO] [stderr] 2013 | rhs: _, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `IdentityStatement { contains_dollar, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2119:17 [INFO] [stderr] | [INFO] [stderr] 2119 | mode: _, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `IdentityStatement { ref mut contains_dollar, ref mut lhs, ref mut rhs, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2211:17 [INFO] [stderr] | [INFO] [stderr] 2211 | mode: _, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2212:17 [INFO] [stderr] | [INFO] [stderr] 2212 | contains_dollar: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `IdentityStatement { ref mut lhs, ref mut rhs, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/expand.rs:298:17 [INFO] [stderr] | [INFO] [stderr] 298 | return ExpandIteratorOption::None; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ExpandIteratorOption::None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/id.rs:338:40 [INFO] [stderr] | [INFO] [stderr] 338 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 339 | | if !found { [INFO] [stderr] 340 | | return None; [INFO] [stderr] 341 | | } [INFO] [stderr] 342 | | } [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 338 | } else if !found { [INFO] [stderr] 339 | return None; [INFO] [stderr] 340 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/id.rs:1426:20 [INFO] [stderr] | [INFO] [stderr] 1426 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 1427 | | if self.hasmatch { [INFO] [stderr] 1428 | | return StatementResult::Done; [INFO] [stderr] 1429 | | } else { [INFO] [stderr] 1430 | | return StatementResult::NoChange; [INFO] [stderr] 1431 | | } [INFO] [stderr] 1432 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 1426 | } else if self.hasmatch { [INFO] [stderr] 1427 | return StatementResult::Done; [INFO] [stderr] 1428 | } else { [INFO] [stderr] 1429 | return StatementResult::NoChange; [INFO] [stderr] 1430 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/module.rs:996:9 [INFO] [stderr] | [INFO] [stderr] 996 | / if ns.contains_dollar() { [INFO] [stderr] 997 | | if ns [INFO] [stderr] 998 | | .to_mut() [INFO] [stderr] 999 | | .replace_dollar(&local_var_info.variables) [INFO] [stderr] ... | [INFO] [stderr] 1003 | | } [INFO] [stderr] 1004 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 996 | if ns.contains_dollar() && ns [INFO] [stderr] 997 | .to_mut() [INFO] [stderr] 998 | .replace_dollar(&local_var_info.variables) [INFO] [stderr] 999 | .contains(ReplaceResult::Replaced) { [INFO] [stderr] 1000 | ns.to_mut().normalize(global_var_info); [INFO] [stderr] 1001 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/normalize.rs:83:36 [INFO] [stderr] | [INFO] [stderr] 83 | } else { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 84 | | if c == &Ordering::Equal { [INFO] [stderr] 85 | | if c.cmp_rel(es.0.partial_cmp(&es.1, var_info, false).unwrap()) [INFO] [stderr] 86 | | { [INFO] [stderr] ... | [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 83 | } else if c == &Ordering::Equal { [INFO] [stderr] 84 | if c.cmp_rel(es.0.partial_cmp(&es.1, var_info, false).unwrap()) [INFO] [stderr] 85 | { [INFO] [stderr] 86 | truebranch = true; [INFO] [stderr] 87 | } [INFO] [stderr] 88 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/normalize.rs:356:50 [INFO] [stderr] | [INFO] [stderr] 356 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/normalize.rs:781:40 [INFO] [stderr] | [INFO] [stderr] 781 | let (ref mut b2, ref mut e2) = *&mut **be2; [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `**be2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/normalize.rs:783:40 [INFO] [stderr] | [INFO] [stderr] 783 | let (ref b1, ref mut e1) = *&mut **be1; [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `**be1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/normalize.rs:844:12 [INFO] [stderr] | [INFO] [stderr] 844 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 845 | | if let Element::Term(..) = sec { [INFO] [stderr] 846 | | mem::swap(first, sec); [INFO] [stderr] 847 | | } [INFO] [stderr] 848 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 844 | } else if let Element::Term(..) = sec { [INFO] [stderr] 845 | mem::swap(first, sec); [INFO] [stderr] 846 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/parser/mod.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | const _GRAMMAR: &'static str = include_str!("grammar.pest"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser/mod.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | return Element::Num(true, parse_number(p)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Element::Num(true, parse_number(p))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/poly/polynomial.rs:268:24 [INFO] [stderr] | [INFO] [stderr] 268 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 269 | | if monomial.coefficient < &Number::zero() { [INFO] [stderr] 270 | | write!(f, "{}", monomial.coefficient)?; [INFO] [stderr] 271 | | } else { [INFO] [stderr] 272 | | write!(f, "+{}", monomial.coefficient)?; [INFO] [stderr] 273 | | } [INFO] [stderr] 274 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 268 | } else if monomial.coefficient < &Number::zero() { [INFO] [stderr] 269 | write!(f, "{}", monomial.coefficient)?; [INFO] [stderr] 270 | } else { [INFO] [stderr] 271 | write!(f, "+{}", monomial.coefficient)?; [INFO] [stderr] 272 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/finitefield.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | return FiniteField::zero(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `FiniteField::zero()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/fraction.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | return Fraction::zero(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Fraction::zero()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_490_987` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_603` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:29 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_277` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:41 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_857` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:53 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_017` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:65 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_621` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:77 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_283` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:89 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_881` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_023` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_639` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:29 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_293` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:41 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_893` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:53 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_051` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:65 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_659` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:77 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_331` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:89 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_941` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_149` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:17 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_701` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:29 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_349` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_977` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:53 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_171` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:65 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_711` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:77 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_383` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:89 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_037` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_221` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_747` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:29 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_403` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:41 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_049` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:53 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_261` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:65 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_779` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:77 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_421` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:89 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_069` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_269` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_791` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:29 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_431` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:41 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_081` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:53 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_273` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:65 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_819` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:77 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_487` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:89 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_091` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_281` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_849` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:29 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_499` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_117` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:53 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_299` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:65 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_863` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:77 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_523` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:89 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_121` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_303` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_887` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:29 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_583` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:41 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_159` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:53 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_311` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:65 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_897` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:77 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_587` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:89 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_163` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_327` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_911` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:29 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_649` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:41 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_207` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:53 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_329` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:65 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_953` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:77 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_661` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:89 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_229` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_399` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_957` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:29 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_673` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:41 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_241` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:53 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_431` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:65 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_017` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:77 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_701` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:89 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_261` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_467` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_023` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:29 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_739` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:41 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_319` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:53 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_509` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:65 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_097` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:77 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_751` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:89 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_363` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_539` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:17 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:29 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_769` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:41 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_367` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:53 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_551` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:65 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_107` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:77 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_779` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:89 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_409` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_561` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_113` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_781` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:41 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_423` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:53 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_567` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:65 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_139` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:77 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_811` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:89 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_433` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | 4293491591, 4293492169, 4293492821, 4293493487, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_591` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:41:17 [INFO] [stderr] | [INFO] [stderr] 41 | 4293491591, 4293492169, 4293492821, 4293493487, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_169` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:41:29 [INFO] [stderr] | [INFO] [stderr] 41 | 4293491591, 4293492169, 4293492821, 4293493487, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_821` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:41:41 [INFO] [stderr] | [INFO] [stderr] 41 | 4293491591, 4293492169, 4293492821, 4293493487, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_487` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/poly/raw/gcd.rs:498:44 [INFO] [stderr] | [INFO] [stderr] 498 | } else { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 499 | | if i == r.len() - 1 { [INFO] [stderr] 500 | | coeff = zp::sub(coeff, xx, p); [INFO] [stderr] 501 | | } else { [INFO] [stderr] 502 | | coeff = zp::sub(coeff, zp::mul(xx, x[i - k], p), p); [INFO] [stderr] 503 | | } [INFO] [stderr] 504 | | } [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 498 | } else if i == r.len() - 1 { [INFO] [stderr] 499 | coeff = zp::sub(coeff, xx, p); [INFO] [stderr] 500 | } else { [INFO] [stderr] 501 | coeff = zp::sub(coeff, zp::mul(xx, x[i - k], p), p); [INFO] [stderr] 502 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/gcd.rs:1239:9 [INFO] [stderr] | [INFO] [stderr] 1239 | return g1.ldegree_max(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `g1.ldegree_max()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/multivar.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | return self.nterms; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.nterms` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/multivar.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | return self.nvars; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.nvars` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/multivar.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | return self.exponents.iter().all(|e| e.is_zero()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.exponents.iter().all(|e| e.is_zero())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/multivar.rs:754:9 [INFO] [stderr] | [INFO] [stderr] 754 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/serialize.rs:478:22 [INFO] [stderr] | [INFO] [stderr] 478 | x => return x, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tools.rs:238:12 [INFO] [stderr] | [INFO] [stderr] 238 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 239 | | if *pos { [INFO] [stderr] 240 | | *num += *den; [INFO] [stderr] 241 | | } else { [INFO] [stderr] 242 | | *num -= *den; [INFO] [stderr] 243 | | } [INFO] [stderr] 244 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 238 | } else if *pos { [INFO] [stderr] 239 | *num += *den; [INFO] [stderr] 240 | } else { [INFO] [stderr] 241 | *num -= *den; [INFO] [stderr] 242 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/number.rs:18:32 [INFO] [stderr] | [INFO] [stderr] 18 | const DOWNGRADE_LIMIT: isize = 4294967296; // if a bigint is smaller than this number, we downgrade [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_294_967_296` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/structure.rs:14:31 [INFO] [stderr] | [INFO] [stderr] 14 | pub const BUILTIN_FUNCTIONS: &'static [&'static str] = &[ [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/structure.rs:14:41 [INFO] [stderr] | [INFO] [stderr] 14 | pub const BUILTIN_FUNCTIONS: &'static [&'static str] = &[ [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/structure.rs:886:17 [INFO] [stderr] | [INFO] [stderr] 886 | return Some(cmp::Ordering::Equal); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(cmp::Ordering::Equal)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/structure.rs:1624:46 [INFO] [stderr] | [INFO] [stderr] 1624 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deref_addrof)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/structure.rs:1746:46 [INFO] [stderr] | [INFO] [stderr] 1746 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/structure.rs:1815:46 [INFO] [stderr] | [INFO] [stderr] 1815 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/structure.rs:1875:46 [INFO] [stderr] | [INFO] [stderr] 1875 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2010:17 [INFO] [stderr] | [INFO] [stderr] 2010 | mode: _, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2012:17 [INFO] [stderr] | [INFO] [stderr] 2012 | lhs: _, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2013:17 [INFO] [stderr] | [INFO] [stderr] 2013 | rhs: _, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `IdentityStatement { contains_dollar, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2119:17 [INFO] [stderr] | [INFO] [stderr] 2119 | mode: _, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `IdentityStatement { ref mut contains_dollar, ref mut lhs, ref mut rhs, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2211:17 [INFO] [stderr] | [INFO] [stderr] 2211 | mode: _, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/structure.rs:2212:17 [INFO] [stderr] | [INFO] [stderr] 2212 | contains_dollar: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `IdentityStatement { ref mut lhs, ref mut rhs, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/expand.rs:298:17 [INFO] [stderr] | [INFO] [stderr] 298 | return ExpandIteratorOption::None; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ExpandIteratorOption::None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/id.rs:338:40 [INFO] [stderr] | [INFO] [stderr] 338 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 339 | | if !found { [INFO] [stderr] 340 | | return None; [INFO] [stderr] 341 | | } [INFO] [stderr] 342 | | } [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 338 | } else if !found { [INFO] [stderr] 339 | return None; [INFO] [stderr] 340 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/id.rs:1426:20 [INFO] [stderr] | [INFO] [stderr] 1426 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 1427 | | if self.hasmatch { [INFO] [stderr] 1428 | | return StatementResult::Done; [INFO] [stderr] 1429 | | } else { [INFO] [stderr] 1430 | | return StatementResult::NoChange; [INFO] [stderr] 1431 | | } [INFO] [stderr] 1432 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 1426 | } else if self.hasmatch { [INFO] [stderr] 1427 | return StatementResult::Done; [INFO] [stderr] 1428 | } else { [INFO] [stderr] 1429 | return StatementResult::NoChange; [INFO] [stderr] 1430 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/module.rs:996:9 [INFO] [stderr] | [INFO] [stderr] 996 | / if ns.contains_dollar() { [INFO] [stderr] 997 | | if ns [INFO] [stderr] 998 | | .to_mut() [INFO] [stderr] 999 | | .replace_dollar(&local_var_info.variables) [INFO] [stderr] ... | [INFO] [stderr] 1003 | | } [INFO] [stderr] 1004 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 996 | if ns.contains_dollar() && ns [INFO] [stderr] 997 | .to_mut() [INFO] [stderr] 998 | .replace_dollar(&local_var_info.variables) [INFO] [stderr] 999 | .contains(ReplaceResult::Replaced) { [INFO] [stderr] 1000 | ns.to_mut().normalize(global_var_info); [INFO] [stderr] 1001 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/normalize.rs:83:36 [INFO] [stderr] | [INFO] [stderr] 83 | } else { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 84 | | if c == &Ordering::Equal { [INFO] [stderr] 85 | | if c.cmp_rel(es.0.partial_cmp(&es.1, var_info, false).unwrap()) [INFO] [stderr] 86 | | { [INFO] [stderr] ... | [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 83 | } else if c == &Ordering::Equal { [INFO] [stderr] 84 | if c.cmp_rel(es.0.partial_cmp(&es.1, var_info, false).unwrap()) [INFO] [stderr] 85 | { [INFO] [stderr] 86 | truebranch = true; [INFO] [stderr] 87 | } [INFO] [stderr] 88 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/normalize.rs:356:50 [INFO] [stderr] | [INFO] [stderr] 356 | let (ref mut b, ref mut e) = *&mut **be; [INFO] [stderr] | ^^^^^^^^^^ help: try this: `**be` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/normalize.rs:781:40 [INFO] [stderr] | [INFO] [stderr] 781 | let (ref mut b2, ref mut e2) = *&mut **be2; [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `**be2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/normalize.rs:783:40 [INFO] [stderr] | [INFO] [stderr] 783 | let (ref b1, ref mut e1) = *&mut **be1; [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `**be1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/normalize.rs:844:12 [INFO] [stderr] | [INFO] [stderr] 844 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 845 | | if let Element::Term(..) = sec { [INFO] [stderr] 846 | | mem::swap(first, sec); [INFO] [stderr] 847 | | } [INFO] [stderr] 848 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 844 | } else if let Element::Term(..) = sec { [INFO] [stderr] 845 | mem::swap(first, sec); [INFO] [stderr] 846 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/parser/mod.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | const _GRAMMAR: &'static str = include_str!("grammar.pest"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser/mod.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | return Element::Num(true, parse_number(p)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Element::Num(true, parse_number(p))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/poly/polynomial.rs:268:24 [INFO] [stderr] | [INFO] [stderr] 268 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 269 | | if monomial.coefficient < &Number::zero() { [INFO] [stderr] 270 | | write!(f, "{}", monomial.coefficient)?; [INFO] [stderr] 271 | | } else { [INFO] [stderr] 272 | | write!(f, "+{}", monomial.coefficient)?; [INFO] [stderr] 273 | | } [INFO] [stderr] 274 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 268 | } else if monomial.coefficient < &Number::zero() { [INFO] [stderr] 269 | write!(f, "{}", monomial.coefficient)?; [INFO] [stderr] 270 | } else { [INFO] [stderr] 271 | write!(f, "+{}", monomial.coefficient)?; [INFO] [stderr] 272 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/finitefield.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | return FiniteField::zero(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `FiniteField::zero()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/fraction.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | return Fraction::zero(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Fraction::zero()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_490_987` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_603` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:29 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_277` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:41 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_857` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:53 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_017` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:65 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_621` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:77 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_283` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:29:89 [INFO] [stderr] | [INFO] [stderr] 29 | 4293490987, 4293491603, 4293492277, 4293492857, 4293491017, 4293491621, 4293492283, 4293492881, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_881` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_023` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_639` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:29 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_293` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:41 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_893` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:53 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_051` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:65 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_659` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:77 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_331` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:30:89 [INFO] [stderr] | [INFO] [stderr] 30 | 4293491023, 4293491639, 4293492293, 4293492893, 4293491051, 4293491659, 4293492331, 4293492941, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_941` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_149` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:17 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_701` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:29 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_349` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_977` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:53 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_171` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:65 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_711` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:77 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_383` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:31:89 [INFO] [stderr] | [INFO] [stderr] 31 | 4293491149, 4293491701, 4293492349, 4293492977, 4293491171, 4293491711, 4293492383, 4293493037, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_037` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_221` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_747` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:29 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_403` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:41 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_049` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:53 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_261` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:65 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_779` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:77 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_421` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:32:89 [INFO] [stderr] | [INFO] [stderr] 32 | 4293491221, 4293491747, 4293492403, 4293493049, 4293491261, 4293491779, 4293492421, 4293493069, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_069` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_269` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_791` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:29 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_431` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:41 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_081` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:53 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_273` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:65 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_819` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:77 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_487` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:33:89 [INFO] [stderr] | [INFO] [stderr] 33 | 4293491269, 4293491791, 4293492431, 4293493081, 4293491273, 4293491819, 4293492487, 4293493091, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_091` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_281` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_849` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:29 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_499` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_117` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:53 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_299` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:65 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_863` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:77 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_523` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:34:89 [INFO] [stderr] | [INFO] [stderr] 34 | 4293491281, 4293491849, 4293492499, 4293493117, 4293491299, 4293491863, 4293492523, 4293493121, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_121` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_303` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_887` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:29 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_583` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:41 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_159` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:53 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_311` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:65 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_897` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:77 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_587` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:35:89 [INFO] [stderr] | [INFO] [stderr] 35 | 4293491303, 4293491887, 4293492583, 4293493159, 4293491311, 4293491897, 4293492587, 4293493163, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_163` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_327` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_911` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:29 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_649` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:41 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_207` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:53 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_329` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:65 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_953` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:77 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_661` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:36:89 [INFO] [stderr] | [INFO] [stderr] 36 | 4293491327, 4293491911, 4293492649, 4293493207, 4293491329, 4293491953, 4293492661, 4293493229, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_229` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_399` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_957` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:29 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_673` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:41 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_241` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:53 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_431` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:65 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_017` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:77 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_701` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:37:89 [INFO] [stderr] | [INFO] [stderr] 37 | 4293491399, 4293491957, 4293492673, 4293493241, 4293491431, 4293492017, 4293492701, 4293493261, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_261` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_467` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_023` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:29 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_739` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:41 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_319` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:53 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_509` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:65 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_097` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:77 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_751` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:38:89 [INFO] [stderr] | [INFO] [stderr] 38 | 4293491467, 4293492023, 4293492739, 4293493319, 4293491509, 4293492097, 4293492751, 4293493363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_363` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_539` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:17 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:29 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_769` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:41 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_367` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:53 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_551` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:65 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_107` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:77 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_779` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:39:89 [INFO] [stderr] | [INFO] [stderr] 39 | 4293491539, 4293492101, 4293492769, 4293493367, 4293491551, 4293492107, 4293492779, 4293493409, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_409` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_561` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_113` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_781` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:41 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_423` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:53 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_567` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:65 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_139` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:77 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_811` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:40:89 [INFO] [stderr] | [INFO] [stderr] 40 | 4293491561, 4293492113, 4293492781, 4293493423, 4293491567, 4293492139, 4293492811, 4293493433, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_433` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | 4293491591, 4293492169, 4293492821, 4293493487, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_491_591` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:41:17 [INFO] [stderr] | [INFO] [stderr] 41 | 4293491591, 4293492169, 4293492821, 4293493487, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_169` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:41:29 [INFO] [stderr] | [INFO] [stderr] 41 | 4293491591, 4293492169, 4293492821, 4293493487, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_492_821` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/poly/raw/gcd.rs:41:41 [INFO] [stderr] | [INFO] [stderr] 41 | 4293491591, 4293492169, 4293492821, 4293493487, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_293_493_487` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/poly/raw/gcd.rs:498:44 [INFO] [stderr] | [INFO] [stderr] 498 | } else { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 499 | | if i == r.len() - 1 { [INFO] [stderr] 500 | | coeff = zp::sub(coeff, xx, p); [INFO] [stderr] 501 | | } else { [INFO] [stderr] 502 | | coeff = zp::sub(coeff, zp::mul(xx, x[i - k], p), p); [INFO] [stderr] 503 | | } [INFO] [stderr] 504 | | } [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 498 | } else if i == r.len() - 1 { [INFO] [stderr] 499 | coeff = zp::sub(coeff, xx, p); [INFO] [stderr] 500 | } else { [INFO] [stderr] 501 | coeff = zp::sub(coeff, zp::mul(xx, x[i - k], p), p); [INFO] [stderr] 502 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/gcd.rs:1239:9 [INFO] [stderr] | [INFO] [stderr] 1239 | return g1.ldegree_max(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `g1.ldegree_max()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/multivar.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | return self.nterms; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.nterms` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/multivar.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | return self.nvars; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.nvars` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/multivar.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | return self.exponents.iter().all(|e| e.is_zero()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.exponents.iter().all(|e| e.is_zero())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/poly/raw/multivar.rs:754:9 [INFO] [stderr] | [INFO] [stderr] 754 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/serialize.rs:478:22 [INFO] [stderr] | [INFO] [stderr] 478 | x => return x, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/serialize.rs:617:50 [INFO] [stderr] | [INFO] [stderr] 617 | Element::Num(false, Number::SmallInt(4223372036854775807)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `4_223_372_036_854_775_807` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/serialize.rs:625:50 [INFO] [stderr] | [INFO] [stderr] 625 | Element::Num(false, Number::SmallInt(5223372036854775807)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `5_223_372_036_854_775_807` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tools.rs:238:12 [INFO] [stderr] | [INFO] [stderr] 238 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 239 | | if *pos { [INFO] [stderr] 240 | | *num += *den; [INFO] [stderr] 241 | | } else { [INFO] [stderr] 242 | | *num -= *den; [INFO] [stderr] 243 | | } [INFO] [stderr] 244 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 238 | } else if *pos { [INFO] [stderr] 239 | *num += *den; [INFO] [stderr] 240 | } else { [INFO] [stderr] 241 | *num -= *den; [INFO] [stderr] 242 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/tests.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | / mod tests { [INFO] [stderr] 3 | | use number; [INFO] [stderr] 4 | | use number::Number; [INFO] [stderr] 5 | | use number::Number::*; [INFO] [stderr] ... | [INFO] [stderr] 360 | | [INFO] [stderr] 361 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/tests.rs:46:26 [INFO] [stderr] | [INFO] [stderr] 46 | let a = SmallInt(300000000000); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `300_000_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/tests.rs:47:26 [INFO] [stderr] | [INFO] [stderr] 47 | let b = SmallInt(500000000000); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `500_000_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/number.rs:26:24 [INFO] [stderr] | [INFO] [stderr] 26 | #[derive(Debug, Clone, Hash)] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/number.rs:136:1 [INFO] [stderr] | [INFO] [stderr] 136| / impl PartialEq for Number { [INFO] [stderr] 137| | /// Compare numbers. Big integers can also match small integers. [INFO] [stderr] 138| | fn eq(&self, other: &Self) -> bool { [INFO] [stderr] 139| | match (self, other) { [INFO] [stderr] ... | [INFO] [stderr] 148| | } [INFO] [stderr] 149| | } [INFO] [stderr] | |_^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/number.rs:106:26 [INFO] [stderr] | [INFO] [stderr] 106 | for k in 2..n + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `2..=n` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:403:41 [INFO] [stderr] | [INFO] [stderr] 403 | match n2.checked_mul(i1 / gcd) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::suspicious_arithmetic_impl)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:423:27 [INFO] [stderr] | [INFO] [stderr] 423 | match (n2 / gcd2).checked_mul(n1 / gcd1) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:423:50 [INFO] [stderr] | [INFO] [stderr] 423 | match (n2 / gcd2).checked_mul(n1 / gcd1) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:424:43 [INFO] [stderr] | [INFO] [stderr] 424 | Some(nn) => match (d1 / gcd2).checked_mul(d2 / gcd1) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:424:66 [INFO] [stderr] | [INFO] [stderr] 424 | Some(nn) => match (d1 / gcd2).checked_mul(d2 / gcd1) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/number.rs:460:14 [INFO] [stderr] | [INFO] [stderr] 460 | self * rhs.inv() // TODO: optimize [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/number.rs:583:37 [INFO] [stderr] | [INFO] [stderr] 583 | let ii1 = Integer::from(i1.clone()); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*i1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/number.rs:584:37 [INFO] [stderr] | [INFO] [stderr] 584 | let ii2 = Integer::from(i2.clone()); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*i2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/number.rs:588:22 [INFO] [stderr] | [INFO] [stderr] 588 | .expect(&format!("Could not invert {} in {}", ii1, ii2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not invert {} in {}", ii1))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/number.rs:594:18 [INFO] [stderr] | [INFO] [stderr] 594 | .expect(&format!("Could not invert {} in {}", i1, i2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not invert {} in {}", i1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/number.rs:597:37 [INFO] [stderr] | [INFO] [stderr] 597 | let ii2 = Integer::from(i2.clone()); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*i2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/number.rs:601:22 [INFO] [stderr] | [INFO] [stderr] 601 | .expect(&format!("Could not invert {} in {}", i1, i2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not invert {} in {}", i1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/number.rs:605:37 [INFO] [stderr] | [INFO] [stderr] 605 | let ii1 = Integer::from(i1.clone()); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*i1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/number.rs:609:22 [INFO] [stderr] | [INFO] [stderr] 609 | .expect(&format!("Could not invert {} in {}", i1, i2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not invert {} in {}", i1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/structure.rs:55:19 [INFO] [stderr] | [INFO] [stderr] 55 | fn to_element(&mut self, var_info: &mut VarInfo) -> PrintObject { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/structure.rs:79:21 [INFO] [stderr] | [INFO] [stderr] 79 | print_mode: &PrintMode, [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `PrintMode` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/structure.rs:126:19 [INFO] [stderr] | [INFO] [stderr] 126 | fn to_element(&mut self, var_info: &mut VarInfo) -> IfCondition { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `structure::VarInfo` [INFO] [stderr] --> src/structure.rs:336:5 [INFO] [stderr] | [INFO] [stderr] 336 | / pub fn new() -> VarInfo { [INFO] [stderr] 337 | | let mut inv_name_map = vec![]; [INFO] [stderr] 338 | | let mut name_map = HashMap::new(); [INFO] [stderr] 339 | | [INFO] [stderr] ... | [INFO] [stderr] 359 | | } [INFO] [stderr] 360 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 335 | impl Default for structure::VarInfo { [INFO] [stderr] 336 | fn default() -> Self { [INFO] [stderr] 337 | Self::new() [INFO] [stderr] 338 | } [INFO] [stderr] 339 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in BUILTIN_FUNCTIONS.enumerate()` or similar iterators [INFO] [stderr] --> src/structure.rs:342:18 [INFO] [stderr] | [INFO] [stderr] 342 | for x in BUILTIN_FUNCTIONS { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/structure.rs:362:39 [INFO] [stderr] | [INFO] [stderr] 362 | pub fn get_str_name(&mut self, s: &VarName) -> String { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:363:39 [INFO] [stderr] | [INFO] [stderr] 363 | self.global_info.inv_name_map[s.clone() as usize].clone() [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*s` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/structure.rs:375:39 [INFO] [stderr] | [INFO] [stderr] 375 | pub fn add_local(&mut self, name: &VarName) -> VarName { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/structure.rs:541:20 [INFO] [stderr] | [INFO] [stderr] 541 | FnWildcard(ID, Box<(Vec>, Vec>)>), // f?{...}(...) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1102:9 [INFO] [stderr] | [INFO] [stderr] 1102 | / match self.args.first() { [INFO] [stderr] 1103 | | Some(x) => write!(f, "{}", x)?, [INFO] [stderr] 1104 | | None => {} [INFO] [stderr] 1105 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.args.first() { write!(f, "{}", x)? }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1111:12 [INFO] [stderr] | [INFO] [stderr] 1111 | if self.local_args.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.local_args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1113:13 [INFO] [stderr] | [INFO] [stderr] 1113 | / match self.local_args.first() { [INFO] [stderr] 1114 | | Some(x) => write!(f, "{}", x)?, [INFO] [stderr] 1115 | | None => {} [INFO] [stderr] 1116 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Some(x) = self.local_args.first() { write!(f, "{}", x)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1203:62 [INFO] [stderr] | [INFO] [stderr] 1203 | Statement::IfElse(ref cond, ref m, ref nm) => if nm.len() == 0 && m.len() == 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `nm.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1212:20 [INFO] [stderr] | [INFO] [stderr] 1212 | if nm.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!nm.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1248:17 [INFO] [stderr] | [INFO] [stderr] 1248 | / match args.first() { [INFO] [stderr] 1249 | | Some(x) => write!(f, "{}", x)?, [INFO] [stderr] 1250 | | None => {} [INFO] [stderr] 1251 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = args.first() { write!(f, "{}", x)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1269:17 [INFO] [stderr] | [INFO] [stderr] 1269 | / match a.first() { [INFO] [stderr] 1270 | | Some(x) => write!(f, "{}", x)?, [INFO] [stderr] 1271 | | None => {} [INFO] [stderr] 1272 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = a.first() { write!(f, "{}", x)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/structure.rs:1289:23 [INFO] [stderr] | [INFO] [stderr] 1289 | pub fn fmt_varname(v: &VarName, f: &mut fmt::Formatter, var_info: &GlobalVarInfo) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1290:8 [INFO] [stderr] | [INFO] [stderr] 1290 | if var_info.inv_name_map.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `var_info.inv_name_map.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 34 [INFO] [stderr] --> src/structure.rs:1344:5 [INFO] [stderr] | [INFO] [stderr] 1344 | / pub fn fmt_output( [INFO] [stderr] 1345 | | &self, [INFO] [stderr] 1346 | | f: &mut fmt::Formatter, [INFO] [stderr] 1347 | | print_mode: PrintMode, [INFO] [stderr] ... | [INFO] [stderr] 1578 | | } [INFO] [stderr] 1579 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:1350:9 [INFO] [stderr] | [INFO] [stderr] 1350 | / match self { [INFO] [stderr] 1351 | | &Element::VariableArgument(ref name) => { [INFO] [stderr] 1352 | | write!(f, "?")?; [INFO] [stderr] 1353 | | fmt_varname(name, f, var_info) [INFO] [stderr] ... | [INFO] [stderr] 1577 | | }, [INFO] [stderr] 1578 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1350 | match *self { [INFO] [stderr] 1351 | Element::VariableArgument(ref name) => { [INFO] [stderr] 1352 | write!(f, "?")?; [INFO] [stderr] 1353 | fmt_varname(name, f, var_info) [INFO] [stderr] 1354 | } [INFO] [stderr] 1355 | Element::Wildcard(ref name, ref restriction) => if restriction.len() == 0 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1355:65 [INFO] [stderr] | [INFO] [stderr] 1355 | &Element::Wildcard(ref name, ref restriction) => if restriction.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `restriction.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1361:17 [INFO] [stderr] | [INFO] [stderr] 1361 | / match restriction.first() { [INFO] [stderr] 1362 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1363 | | None => {} [INFO] [stderr] 1364 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = restriction.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1380:20 [INFO] [stderr] | [INFO] [stderr] 1380 | if inds.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!inds.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1425:17 [INFO] [stderr] | [INFO] [stderr] 1425 | / match args.first() { [INFO] [stderr] 1426 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1427 | | None => {} [INFO] [stderr] 1428 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = args.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1442:20 [INFO] [stderr] | [INFO] [stderr] 1442 | if restriction.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `restriction.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1448:21 [INFO] [stderr] | [INFO] [stderr] 1448 | / match restriction.first() { [INFO] [stderr] 1449 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1450 | | None => {} [INFO] [stderr] 1451 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(x) = restriction.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1463:17 [INFO] [stderr] | [INFO] [stderr] 1463 | / match args.first() { [INFO] [stderr] 1464 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1465 | | None => {} [INFO] [stderr] 1466 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = args.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1542:17 [INFO] [stderr] | [INFO] [stderr] 1542 | / match terms.first() { [INFO] [stderr] 1543 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1544 | | None => {} [INFO] [stderr] 1545 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = terms.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/structure.rs:1590:23 [INFO] [stderr] | [INFO] [stderr] 1590 | pub fn to_element(&mut self, var_info: &mut VarInfo) -> Element { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/number.rs:26:24 [INFO] [stderr] | [INFO] [stderr] 26 | #[derive(Debug, Clone, Hash)] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/number.rs:136:1 [INFO] [stderr] | [INFO] [stderr] 136| / impl PartialEq for Number { [INFO] [stderr] 137| | /// Compare numbers. Big integers can also match small integers. [INFO] [stderr] 138| | fn eq(&self, other: &Self) -> bool { [INFO] [stderr] 139| | match (self, other) { [INFO] [stderr] ... | [INFO] [stderr] 148| | } [INFO] [stderr] 149| | } [INFO] [stderr] | |_^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1642:56 [INFO] [stderr] | [INFO] [stderr] 1642 | Element::RationalPolynomialCoefficient(num.clone(), den.clone()) [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*num` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/number.rs:106:26 [INFO] [stderr] | [INFO] [stderr] 106 | for k in 2..n + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `2..=n` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:1831:21 [INFO] [stderr] | [INFO] [stderr] 1831 | / if let &Element::Var(ref y, _) = x { [INFO] [stderr] 1832 | | *name = y.clone(); [INFO] [stderr] 1833 | | changed = true [INFO] [stderr] 1834 | | } else { [INFO] [stderr] 1835 | | panic!("Cannot replace function name by generic expression"); [INFO] [stderr] 1836 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1831 | if let Element::Var(ref y, _) = *x { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1832:33 [INFO] [stderr] | [INFO] [stderr] 1832 | *name = y.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:1847:21 [INFO] [stderr] | [INFO] [stderr] 1847 | / if let &Element::Var(ref y, _) = x { [INFO] [stderr] 1848 | | *name = y.clone(); [INFO] [stderr] 1849 | | changed = true [INFO] [stderr] 1850 | | } else { [INFO] [stderr] 1851 | | panic!("Cannot replace function name by generic expression"); [INFO] [stderr] 1852 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1847 | if let Element::Var(ref y, _) = *x { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1848:33 [INFO] [stderr] | [INFO] [stderr] 1848 | *name = y.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:403:41 [INFO] [stderr] | [INFO] [stderr] 403 | match n2.checked_mul(i1 / gcd) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::suspicious_arithmetic_impl)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/structure.rs:1899:25 [INFO] [stderr] | [INFO] [stderr] 1899 | pub fn to_statement(&mut self, var_info: &mut VarInfo) -> Statement { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:423:27 [INFO] [stderr] | [INFO] [stderr] 423 | match (n2 / gcd2).checked_mul(n1 / gcd1) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:423:50 [INFO] [stderr] | [INFO] [stderr] 423 | match (n2 / gcd2).checked_mul(n1 / gcd1) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:424:43 [INFO] [stderr] | [INFO] [stderr] 424 | Some(nn) => match (d1 / gcd2).checked_mul(d2 / gcd1) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/number.rs:424:66 [INFO] [stderr] | [INFO] [stderr] 424 | Some(nn) => match (d1 / gcd2).checked_mul(d2 / gcd1) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/number.rs:460:14 [INFO] [stderr] | [INFO] [stderr] 460 | self * rhs.inv() // TODO: optimize [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1933:23 [INFO] [stderr] | [INFO] [stderr] 1933 | mode: mode.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*mode` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1982:17 [INFO] [stderr] | [INFO] [stderr] 1982 | mode.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*mode` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/number.rs:583:37 [INFO] [stderr] | [INFO] [stderr] 583 | let ii1 = Integer::from(i1.clone()); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*i1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/number.rs:584:37 [INFO] [stderr] | [INFO] [stderr] 584 | let ii2 = Integer::from(i2.clone()); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*i2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/number.rs:588:22 [INFO] [stderr] | [INFO] [stderr] 588 | .expect(&format!("Could not invert {} in {}", ii1, ii2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not invert {} in {}", ii1))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/number.rs:594:18 [INFO] [stderr] | [INFO] [stderr] 594 | .expect(&format!("Could not invert {} in {}", i1, i2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not invert {} in {}", i1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/number.rs:597:37 [INFO] [stderr] | [INFO] [stderr] 597 | let ii2 = Integer::from(i2.clone()); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*i2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/number.rs:601:22 [INFO] [stderr] | [INFO] [stderr] 601 | .expect(&format!("Could not invert {} in {}", i1, i2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not invert {} in {}", i1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/number.rs:605:37 [INFO] [stderr] | [INFO] [stderr] 605 | let ii1 = Integer::from(i1.clone()); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*i1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/number.rs:609:22 [INFO] [stderr] | [INFO] [stderr] 609 | .expect(&format!("Could not invert {} in {}", i1, i2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Could not invert {} in {}", i1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:2241:21 [INFO] [stderr] | [INFO] [stderr] 2241 | / if let &Element::Var(ref y, _) = x { [INFO] [stderr] 2242 | | *name = y.clone(); [INFO] [stderr] 2243 | | } else { [INFO] [stderr] 2244 | | panic!("Cannot replace function name by generic expression"); [INFO] [stderr] 2245 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2241 | if let Element::Var(ref y, _) = *x { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:2242:33 [INFO] [stderr] | [INFO] [stderr] 2242 | *name = y.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:2251:25 [INFO] [stderr] | [INFO] [stderr] 2251 | / if let &Element::Var(ref y, _) = x { [INFO] [stderr] 2252 | | *name = y.clone(); [INFO] [stderr] 2253 | | } else { [INFO] [stderr] 2254 | | panic!("Cannot replace function name by generic expression"); [INFO] [stderr] 2255 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2251 | if let Element::Var(ref y, _) = *x { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:2252:37 [INFO] [stderr] | [INFO] [stderr] 2252 | *name = y.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/structure.rs:55:19 [INFO] [stderr] | [INFO] [stderr] 55 | fn to_element(&mut self, var_info: &mut VarInfo) -> PrintObject { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/structure.rs:79:21 [INFO] [stderr] | [INFO] [stderr] 79 | print_mode: &PrintMode, [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `PrintMode` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/structure.rs:126:19 [INFO] [stderr] | [INFO] [stderr] 126 | fn to_element(&mut self, var_info: &mut VarInfo) -> IfCondition { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter_mut() and will not move the Vec [INFO] [stderr] --> src/expand.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter_mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/expand.rs:235:19 [INFO] [stderr] | [INFO] [stderr] 235 | fn to_element(&mut self, var_info: &GlobalVarInfo) -> Element { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `structure::VarInfo` [INFO] [stderr] --> src/structure.rs:336:5 [INFO] [stderr] | [INFO] [stderr] 336 | / pub fn new() -> VarInfo { [INFO] [stderr] 337 | | let mut inv_name_map = vec![]; [INFO] [stderr] 338 | | let mut name_map = HashMap::new(); [INFO] [stderr] 339 | | [INFO] [stderr] ... | [INFO] [stderr] 359 | | } [INFO] [stderr] 360 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 335 | impl Default for structure::VarInfo { [INFO] [stderr] 336 | fn default() -> Self { [INFO] [stderr] 337 | Self::new() [INFO] [stderr] 338 | } [INFO] [stderr] 339 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in BUILTIN_FUNCTIONS.enumerate()` or similar iterators [INFO] [stderr] --> src/structure.rs:342:18 [INFO] [stderr] | [INFO] [stderr] 342 | for x in BUILTIN_FUNCTIONS { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/structure.rs:362:39 [INFO] [stderr] | [INFO] [stderr] 362 | pub fn get_str_name(&mut self, s: &VarName) -> String { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:363:39 [INFO] [stderr] | [INFO] [stderr] 363 | self.global_info.inv_name_map[s.clone() as usize].clone() [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*s` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/structure.rs:375:39 [INFO] [stderr] | [INFO] [stderr] 375 | pub fn add_local(&mut self, name: &VarName) -> VarName { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/structure.rs:457:9 [INFO] [stderr] | [INFO] [stderr] 457 | / for &mut (name1, ref mut input) in &mut self.expressions { [INFO] [stderr] 458 | | if name1 == exprname { [INFO] [stderr] 459 | | // NOTE: This code consumes the contents in the input stream. [INFO] [stderr] 460 | | let mut terms = Vec::new(); [INFO] [stderr] ... | [INFO] [stderr] 480 | | break; [INFO] [stderr] 481 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/id.rs:70:47 [INFO] [stderr] | [INFO] [stderr] 70 | fn push_match<'a>(m: &mut MatchObject<'a>, k: &'a VarName, v: &'a Element) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/id.rs:86:53 [INFO] [stderr] | [INFO] [stderr] 86 | fn push_match_owned<'a>(m: &mut MatchObject<'a>, k: &'a VarName, v: Element) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/id.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | k: &'a VarName, [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/id.rs:120:22 [INFO] [stderr] | [INFO] [stderr] 120 | fn find_match<'a>(m: &'a MatchObject<'a>, k: &'a VarName) -> Option<&'a MatchOpt<'a>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/id.rs:120:46 [INFO] [stderr] | [INFO] [stderr] 120 | fn find_match<'a>(m: &'a MatchObject<'a>, k: &'a VarName) -> Option<&'a MatchOpt<'a>> { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/id.rs:131:36 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn apply_map<'a>(&self, m: &MatchObject<'a>) -> MatchOptOwned { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:141:20 [INFO] [stderr] | [INFO] [stderr] 141 | if restrictions.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!restrictions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/id.rs:247:55 [INFO] [stderr] | [INFO] [stderr] 247 | MatchOptOwned::Single(Element::Dollar(name.clone(), newinds), changed) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/structure.rs:541:20 [INFO] [stderr] | [INFO] [stderr] 541 | FnWildcard(ID, Box<(Vec>, Vec>)>), // f?{...}(...) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:331:36 [INFO] [stderr] | [INFO] [stderr] 331 | if rest.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rest.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/id.rs:362:37 [INFO] [stderr] | [INFO] [stderr] 362 | / match restriction { [INFO] [stderr] 363 | | &Element::NumberRange(ref num1, ref rel) => { [INFO] [stderr] 364 | | // see if the number is in the range [INFO] [stderr] 365 | | if is_number_in_range(p1, num1, rel) { [INFO] [stderr] ... | [INFO] [stderr] 388 | | _ => {} [INFO] [stderr] 389 | | } [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 362 | match *restriction { [INFO] [stderr] 363 | Element::NumberRange(ref num1, ref rel) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:392:36 [INFO] [stderr] | [INFO] [stderr] 392 | if rest.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rest.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/id.rs:620:72 [INFO] [stderr] | [INFO] [stderr] 620 | if i1 == i2 && (e1 == e2 || (level == 0 && e1 >= e2 && e2 > &Number::zero())) => [INFO] [stderr] | ^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `Number::zero()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/id.rs:633:21 [INFO] [stderr] | [INFO] [stderr] 633 | / match restriction { [INFO] [stderr] 634 | | &Element::NumberRange(ref num1, ref rel) => { [INFO] [stderr] 635 | | // see if the number is in the range [INFO] [stderr] 636 | | if is_number_in_range(n, num1, rel) { [INFO] [stderr] ... | [INFO] [stderr] 643 | | _ => {} [INFO] [stderr] 644 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 633 | match *restriction { [INFO] [stderr] 634 | Element::NumberRange(ref num1, ref rel) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/id.rs:662:54 [INFO] [stderr] | [INFO] [stderr] 662 | if !args2.iter().any(|x| { [INFO] [stderr] | ______________________________________________________^ [INFO] [stderr] 663 | | if let Element::VariableArgument(_) = *x { [INFO] [stderr] 664 | | true [INFO] [stderr] 665 | | } else { [INFO] [stderr] 666 | | false [INFO] [stderr] 667 | | } [INFO] [stderr] 668 | | }) { [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:689:20 [INFO] [stderr] | [INFO] [stderr] 689 | if restrictions.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!restrictions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/id.rs:698:58 [INFO] [stderr] | [INFO] [stderr] 698 | if !args2.iter().any(|x| { [INFO] [stderr] | __________________________________________________________^ [INFO] [stderr] 699 | | if let Element::VariableArgument(_) = *x { [INFO] [stderr] 700 | | true [INFO] [stderr] 701 | | } else { [INFO] [stderr] 702 | | false [INFO] [stderr] 703 | | } [INFO] [stderr] 704 | | }) { [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/id.rs:753:15 [INFO] [stderr] | [INFO] [stderr] 753 | args: &'a Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Element]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/id.rs:755:22 [INFO] [stderr] | [INFO] [stderr] 755 | target_args: &'a Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Element]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:795:32 [INFO] [stderr] | [INFO] [stderr] 795 | if varargcount == 0 && target_args.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `target_args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:843:12 [INFO] [stderr] | [INFO] [stderr] 843 | if self.iterators.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.iterators.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:910:20 [INFO] [stderr] | [INFO] [stderr] 910 | if leftover.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `leftover.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/id.rs:1136:5 [INFO] [stderr] | [INFO] [stderr] 1136 | / SinglePat( [INFO] [stderr] 1137 | | &'a Element, [INFO] [stderr] 1138 | | ElementIterSingle<'a>, [INFO] [stderr] 1139 | | &'a [Element], [INFO] [stderr] 1140 | | usize, [INFO] [stderr] 1141 | | &'a BorrowedVarInfo<'a>, [INFO] [stderr] 1142 | | ), [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/id.rs:1136:5 [INFO] [stderr] | [INFO] [stderr] 1136 | / SinglePat( [INFO] [stderr] 1137 | | &'a Element, [INFO] [stderr] 1138 | | ElementIterSingle<'a>, [INFO] [stderr] 1139 | | &'a [Element], [INFO] [stderr] 1140 | | usize, [INFO] [stderr] 1141 | | &'a BorrowedVarInfo<'a>, [INFO] [stderr] 1142 | | ), [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1102:9 [INFO] [stderr] | [INFO] [stderr] 1102 | / match self.args.first() { [INFO] [stderr] 1103 | | Some(x) => write!(f, "{}", x)?, [INFO] [stderr] 1104 | | None => {} [INFO] [stderr] 1105 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(x) = self.args.first() { write!(f, "{}", x)? }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1111:12 [INFO] [stderr] | [INFO] [stderr] 1111 | if self.local_args.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.local_args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1113:13 [INFO] [stderr] | [INFO] [stderr] 1113 | / match self.local_args.first() { [INFO] [stderr] 1114 | | Some(x) => write!(f, "{}", x)?, [INFO] [stderr] 1115 | | None => {} [INFO] [stderr] 1116 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Some(x) = self.local_args.first() { write!(f, "{}", x)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: defining a method called `next` on this type; consider implementing the `std::iter::Iterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/id.rs:1373:5 [INFO] [stderr] | [INFO] [stderr] 1373 | / pub fn next(&mut self) -> StatementResult { [INFO] [stderr] 1374 | | if self.rhsp == 0 { [INFO] [stderr] 1375 | | if self.it.next(&mut self.m, &mut self.used_indices) { [INFO] [stderr] 1376 | | if self.mode != IdentityStatementMode::All { [INFO] [stderr] ... | [INFO] [stderr] 1464 | | StatementResult::Executed(e) [INFO] [stderr] 1465 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1203:62 [INFO] [stderr] | [INFO] [stderr] 1203 | Statement::IfElse(ref cond, ref m, ref nm) => if nm.len() == 0 && m.len() == 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `nm.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/module.rs:143:12 [INFO] [stderr] | [INFO] [stderr] 143 | if names.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `names.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1212:20 [INFO] [stderr] | [INFO] [stderr] 1212 | if nm.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!nm.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/module.rs:197:35 [INFO] [stderr] | [INFO] [stderr] 197 | powmap.entry(pow).or_insert(vec![]).extend(newterm); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1248:17 [INFO] [stderr] | [INFO] [stderr] 1248 | / match args.first() { [INFO] [stderr] 1249 | | Some(x) => write!(f, "{}", x)?, [INFO] [stderr] 1250 | | None => {} [INFO] [stderr] 1251 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = args.first() { write!(f, "{}", x)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1269:17 [INFO] [stderr] | [INFO] [stderr] 1269 | / match a.first() { [INFO] [stderr] 1270 | | Some(x) => write!(f, "{}", x)?, [INFO] [stderr] 1271 | | None => {} [INFO] [stderr] 1272 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = a.first() { write!(f, "{}", x)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/structure.rs:1289:23 [INFO] [stderr] | [INFO] [stderr] 1289 | pub fn fmt_varname(v: &VarName, f: &mut fmt::Formatter, var_info: &GlobalVarInfo) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1290:8 [INFO] [stderr] | [INFO] [stderr] 1290 | if var_info.inv_name_map.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `var_info.inv_name_map.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:207:39 [INFO] [stderr] | [INFO] [stderr] 207 | vec![Element::Var(names[0].clone(), Number::SmallInt(k)), newv], [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `names[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/module.rs:218:5 [INFO] [stderr] | [INFO] [stderr] 218 | IdentityStatement(MatchIterator<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 218 | IdentityStatement(Box>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 34 [INFO] [stderr] --> src/structure.rs:1344:5 [INFO] [stderr] | [INFO] [stderr] 1344 | / pub fn fmt_output( [INFO] [stderr] 1345 | | &self, [INFO] [stderr] 1346 | | f: &mut fmt::Formatter, [INFO] [stderr] 1347 | | print_mode: PrintMode, [INFO] [stderr] ... | [INFO] [stderr] 1578 | | } [INFO] [stderr] 1579 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:281:21 [INFO] [stderr] | [INFO] [stderr] 281 | name.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:292:25 [INFO] [stderr] | [INFO] [stderr] 292 | n.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:383:40 [INFO] [stderr] | [INFO] [stderr] 383 | Element::Fn(false, n.clone(), { [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:1350:9 [INFO] [stderr] | [INFO] [stderr] 1350 | / match self { [INFO] [stderr] 1351 | | &Element::VariableArgument(ref name) => { [INFO] [stderr] 1352 | | write!(f, "?")?; [INFO] [stderr] 1353 | | fmt_varname(name, f, var_info) [INFO] [stderr] ... | [INFO] [stderr] 1577 | | }, [INFO] [stderr] 1578 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1350 | match *self { [INFO] [stderr] 1351 | Element::VariableArgument(ref name) => { [INFO] [stderr] 1352 | write!(f, "?")?; [INFO] [stderr] 1353 | fmt_varname(name, f, var_info) [INFO] [stderr] 1354 | } [INFO] [stderr] 1355 | Element::Wildcard(ref name, ref restriction) => if restriction.len() == 0 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1355:65 [INFO] [stderr] | [INFO] [stderr] 1355 | &Element::Wildcard(ref name, ref restriction) => if restriction.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `restriction.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 45 [INFO] [stderr] --> src/module.rs:415:1 [INFO] [stderr] | [INFO] [stderr] 415 | / fn do_module_rec( [INFO] [stderr] 416 | | mut input: Element, [INFO] [stderr] 417 | | statements: &[Statement], [INFO] [stderr] 418 | | local_var_info: &mut LocalVarInfo, [INFO] [stderr] ... | [INFO] [stderr] 1087 | | ); [INFO] [stderr] 1088 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1361:17 [INFO] [stderr] | [INFO] [stderr] 1361 | / match restriction.first() { [INFO] [stderr] 1362 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1363 | | None => {} [INFO] [stderr] 1364 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = restriction.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1380:20 [INFO] [stderr] | [INFO] [stderr] 1380 | if inds.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!inds.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1425:17 [INFO] [stderr] | [INFO] [stderr] 1425 | / match args.first() { [INFO] [stderr] 1426 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1427 | | None => {} [INFO] [stderr] 1428 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = args.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/structure.rs:1442:20 [INFO] [stderr] | [INFO] [stderr] 1442 | if restriction.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `restriction.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1448:21 [INFO] [stderr] | [INFO] [stderr] 1448 | / match restriction.first() { [INFO] [stderr] 1449 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1450 | | None => {} [INFO] [stderr] 1451 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(x) = restriction.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1463:17 [INFO] [stderr] | [INFO] [stderr] 1463 | / match args.first() { [INFO] [stderr] 1464 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1465 | | None => {} [INFO] [stderr] 1466 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = args.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/structure.rs:1542:17 [INFO] [stderr] | [INFO] [stderr] 1542 | / match terms.first() { [INFO] [stderr] 1543 | | Some(x) => x.fmt_output(f, print_mode, var_info)?, [INFO] [stderr] 1544 | | None => {} [INFO] [stderr] 1545 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(x) = terms.first() { x.fmt_output(f, print_mode, var_info)? }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/structure.rs:1590:23 [INFO] [stderr] | [INFO] [stderr] 1590 | pub fn to_element(&mut self, var_info: &mut VarInfo) -> Element { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: The function/method `apply_map` doesn't need a mutable reference [INFO] [stderr] --> src/module.rs:637:45 [INFO] [stderr] | [INFO] [stderr] 637 | e.apply_map(&mut m).into_single().0, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1642:56 [INFO] [stderr] | [INFO] [stderr] 1642 | Element::RationalPolynomialCoefficient(num.clone(), den.clone()) [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*num` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:739:61 [INFO] [stderr] | [INFO] [stderr] 739 | let mut newfunc = Element::Fn(true, name1.clone(), newfuncarg); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `name1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/module.rs:967:16 [INFO] [stderr] | [INFO] [stderr] 967 | if vars.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vars.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:1831:21 [INFO] [stderr] | [INFO] [stderr] 1831 | / if let &Element::Var(ref y, _) = x { [INFO] [stderr] 1832 | | *name = y.clone(); [INFO] [stderr] 1833 | | changed = true [INFO] [stderr] 1834 | | } else { [INFO] [stderr] 1835 | | panic!("Cannot replace function name by generic expression"); [INFO] [stderr] 1836 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1831 | if let Element::Var(ref y, _) = *x { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1832:33 [INFO] [stderr] | [INFO] [stderr] 1832 | *name = y.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:1847:21 [INFO] [stderr] | [INFO] [stderr] 1847 | / if let &Element::Var(ref y, _) = x { [INFO] [stderr] 1848 | | *name = y.clone(); [INFO] [stderr] 1849 | | changed = true [INFO] [stderr] 1850 | | } else { [INFO] [stderr] 1851 | | panic!("Cannot replace function name by generic expression"); [INFO] [stderr] 1852 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1847 | if let Element::Var(ref y, _) = *x { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1848:33 [INFO] [stderr] | [INFO] [stderr] 1848 | *name = y.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/structure.rs:1899:25 [INFO] [stderr] | [INFO] [stderr] 1899 | pub fn to_statement(&mut self, var_info: &mut VarInfo) -> Statement { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1933:23 [INFO] [stderr] | [INFO] [stderr] 1933 | mode: mode.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*mode` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:1982:17 [INFO] [stderr] | [INFO] [stderr] 1982 | mode.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*mode` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1243:48 [INFO] [stderr] | [INFO] [stderr] 1243 | map.insert(map_source.clone(), v.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `map_source` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1253:41 [INFO] [stderr] | [INFO] [stderr] 1253 | name.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/module.rs:1287:5 [INFO] [stderr] | [INFO] [stderr] 1287 | / fn execute_module( [INFO] [stderr] 1288 | | &mut self, [INFO] [stderr] 1289 | | expressions: &mut Vec, [INFO] [stderr] 1290 | | var_info: &mut VarInfo, [INFO] [stderr] ... | [INFO] [stderr] 1440 | | } [INFO] [stderr] 1441 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:2241:21 [INFO] [stderr] | [INFO] [stderr] 2241 | / if let &Element::Var(ref y, _) = x { [INFO] [stderr] 2242 | | *name = y.clone(); [INFO] [stderr] 2243 | | } else { [INFO] [stderr] 2244 | | panic!("Cannot replace function name by generic expression"); [INFO] [stderr] 2245 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2241 | if let Element::Var(ref y, _) = *x { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:2242:33 [INFO] [stderr] | [INFO] [stderr] 2242 | *name = y.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/structure.rs:2251:25 [INFO] [stderr] | [INFO] [stderr] 2251 | / if let &Element::Var(ref y, _) = x { [INFO] [stderr] 2252 | | *name = y.clone(); [INFO] [stderr] 2253 | | } else { [INFO] [stderr] 2254 | | panic!("Cannot replace function name by generic expression"); [INFO] [stderr] 2255 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 2251 | if let Element::Var(ref y, _) = *x { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/structure.rs:2252:37 [INFO] [stderr] | [INFO] [stderr] 2252 | *name = y.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1439:45 [INFO] [stderr] | [INFO] [stderr] 1439 | .add_dollar(Element::Dollar(d.clone(), vec![]), v); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `d` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 38 [INFO] [stderr] --> src/module.rs:1445:5 [INFO] [stderr] | [INFO] [stderr] 1445 | / pub fn do_program(&mut self, write_log: bool, verbosity: u64, num_threads: usize) { [INFO] [stderr] 1446 | | // set the log level [INFO] [stderr] 1447 | | self.var_info.global_info.log_level = verbosity as usize; [INFO] [stderr] 1448 | | [INFO] [stderr] ... | [INFO] [stderr] 1753 | | } [INFO] [stderr] 1754 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter_mut() and will not move the Vec [INFO] [stderr] --> src/expand.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter_mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/expand.rs:235:19 [INFO] [stderr] | [INFO] [stderr] 235 | fn to_element(&mut self, var_info: &GlobalVarInfo) -> Element { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/module.rs:1684:24 [INFO] [stderr] | [INFO] [stderr] 1684 | if vars.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vars.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1685:63 [INFO] [stderr] | [INFO] [stderr] 1685 | sort_statements.push(Statement::Print(mode.clone(), vec![])); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*mode` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1723:87 [INFO] [stderr] | [INFO] [stderr] 1723 | Statement::Collect(ref id) => sort_statements.push(Statement::Collect(id.clone())), [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/id.rs:70:47 [INFO] [stderr] | [INFO] [stderr] 70 | fn push_match<'a>(m: &mut MatchObject<'a>, k: &'a VarName, v: &'a Element) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/normalize.rs:118:46 [INFO] [stderr] | [INFO] [stderr] 118 | for i in n1..n2 + 1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `n1..=n2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/id.rs:86:53 [INFO] [stderr] | [INFO] [stderr] 86 | fn push_match_owned<'a>(m: &mut MatchObject<'a>, k: &'a VarName, v: Element) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/id.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | k: &'a VarName, [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/id.rs:120:22 [INFO] [stderr] | [INFO] [stderr] 120 | fn find_match<'a>(m: &'a MatchObject<'a>, k: &'a VarName) -> Option<&'a MatchOpt<'a>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/id.rs:120:46 [INFO] [stderr] | [INFO] [stderr] 120 | fn find_match<'a>(m: &'a MatchObject<'a>, k: &'a VarName) -> Option<&'a MatchOpt<'a>> { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `VarName` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/id.rs:131:36 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn apply_map<'a>(&self, m: &MatchObject<'a>) -> MatchOptOwned { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 78 [INFO] [stderr] --> src/normalize.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | / pub fn normalize_inplace(&mut self, var_info: &GlobalVarInfo) -> bool { [INFO] [stderr] 246 | | let mut changed = false; [INFO] [stderr] 247 | | match *self { [INFO] [stderr] 248 | | Element::Term(dirty, _) => { [INFO] [stderr] ... | [INFO] [stderr] 681 | | changed [INFO] [stderr] 682 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:141:20 [INFO] [stderr] | [INFO] [stderr] 141 | if restrictions.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!restrictions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/id.rs:247:55 [INFO] [stderr] | [INFO] [stderr] 247 | MatchOptOwned::Single(Element::Dollar(name.clone(), newinds), changed) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:331:36 [INFO] [stderr] | [INFO] [stderr] 331 | if rest.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rest.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/id.rs:362:37 [INFO] [stderr] | [INFO] [stderr] 362 | / match restriction { [INFO] [stderr] 363 | | &Element::NumberRange(ref num1, ref rel) => { [INFO] [stderr] 364 | | // see if the number is in the range [INFO] [stderr] 365 | | if is_number_in_range(p1, num1, rel) { [INFO] [stderr] ... | [INFO] [stderr] 388 | | _ => {} [INFO] [stderr] 389 | | } [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 362 | match *restriction { [INFO] [stderr] 363 | Element::NumberRange(ref num1, ref rel) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:392:36 [INFO] [stderr] | [INFO] [stderr] 392 | if rest.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rest.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/id.rs:620:72 [INFO] [stderr] | [INFO] [stderr] 620 | if i1 == i2 && (e1 == e2 || (level == 0 && e1 >= e2 && e2 > &Number::zero())) => [INFO] [stderr] | ^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `Number::zero()` [INFO] [stderr] --> src/normalize.rs:364:21 [INFO] [stderr] | [INFO] [stderr] 364 | / loop { [INFO] [stderr] 365 | | match *e { [INFO] [stderr] 366 | | Element::Num(_, Number::SmallInt(0)) => { [INFO] [stderr] 367 | | // x^0 = 1 [INFO] [stderr] ... | [INFO] [stderr] 446 | | return changed; [INFO] [stderr] 447 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/id.rs:633:21 [INFO] [stderr] | [INFO] [stderr] 633 | / match restriction { [INFO] [stderr] 634 | | &Element::NumberRange(ref num1, ref rel) => { [INFO] [stderr] 635 | | // see if the number is in the range [INFO] [stderr] 636 | | if is_number_in_range(n, num1, rel) { [INFO] [stderr] ... | [INFO] [stderr] 643 | | _ => {} [INFO] [stderr] 644 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 633 | match *restriction { [INFO] [stderr] 634 | Element::NumberRange(ref num1, ref rel) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/id.rs:662:54 [INFO] [stderr] | [INFO] [stderr] 662 | if !args2.iter().any(|x| { [INFO] [stderr] | ______________________________________________________^ [INFO] [stderr] 663 | | if let Element::VariableArgument(_) = *x { [INFO] [stderr] 664 | | true [INFO] [stderr] 665 | | } else { [INFO] [stderr] 666 | | false [INFO] [stderr] 667 | | } [INFO] [stderr] 668 | | }) { [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/normalize.rs:454:24 [INFO] [stderr] | [INFO] [stderr] 454 | if let Some(_) = var_info.func_attribs.get(&name) { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 455 | | dirty = true; // for now, always set the dirty flag if a function has attributes [INFO] [stderr] 456 | | } [INFO] [stderr] | |_________________- help: try this: `if var_info.func_attribs.get(&name).is_some()` [INFO] [stderr] | [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] --> src/id.rs:689:20 [INFO] [stderr] | [INFO] [stderr] 689 | if restrictions.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!restrictions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/id.rs:698:58 [INFO] [stderr] | [INFO] [stderr] 698 | if !args2.iter().any(|x| { [INFO] [stderr] | __________________________________________________________^ [INFO] [stderr] 699 | | if let Element::VariableArgument(_) = *x { [INFO] [stderr] 700 | | true [INFO] [stderr] 701 | | } else { [INFO] [stderr] 702 | | false [INFO] [stderr] 703 | | } [INFO] [stderr] 704 | | }) { [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/normalize.rs:497:54 [INFO] [stderr] | [INFO] [stderr] 497 | for i in n1..n2 + 1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `n1..=n2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/normalize.rs:521:36 [INFO] [stderr] | [INFO] [stderr] 521 | newvalue = loop { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 522 | | if let Some(attribs) = var_info.func_attribs.get(&name) { [INFO] [stderr] 523 | | if attribs.contains(&FunctionAttributes::Linear) { [INFO] [stderr] 524 | | // split the function if any of its arguments is a subexpr [INFO] [stderr] ... | [INFO] [stderr] 568 | | break None; // the function remains a function [INFO] [stderr] 569 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/normalize.rs:551:77 [INFO] [stderr] | [INFO] [stderr] 551 | subexprs.push(Element::Fn(true, name.clone(), rest)); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/id.rs:753:15 [INFO] [stderr] | [INFO] [stderr] 753 | args: &'a Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Element]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/id.rs:755:22 [INFO] [stderr] | [INFO] [stderr] 755 | target_args: &'a Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Element]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:795:32 [INFO] [stderr] | [INFO] [stderr] 795 | if varargcount == 0 && target_args.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `target_args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:843:12 [INFO] [stderr] | [INFO] [stderr] 843 | if self.iterators.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.iterators.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id.rs:910:20 [INFO] [stderr] | [INFO] [stderr] 910 | if leftover.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `leftover.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/normalize.rs:742:84 [INFO] [stderr] | [INFO] [stderr] 742 | *num = mem::replace(num, Polynomial::new()) * Number::SmallInt(num1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*num1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/id.rs:1136:5 [INFO] [stderr] | [INFO] [stderr] 1136 | / SinglePat( [INFO] [stderr] 1137 | | &'a Element, [INFO] [stderr] 1138 | | ElementIterSingle<'a>, [INFO] [stderr] 1139 | | &'a [Element], [INFO] [stderr] 1140 | | usize, [INFO] [stderr] 1141 | | &'a BorrowedVarInfo<'a>, [INFO] [stderr] 1142 | | ), [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/id.rs:1136:5 [INFO] [stderr] | [INFO] [stderr] 1136 | / SinglePat( [INFO] [stderr] 1137 | | &'a Element, [INFO] [stderr] 1138 | | ElementIterSingle<'a>, [INFO] [stderr] 1139 | | &'a [Element], [INFO] [stderr] 1140 | | usize, [INFO] [stderr] 1141 | | &'a BorrowedVarInfo<'a>, [INFO] [stderr] 1142 | | ), [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/normalize.rs:743:84 [INFO] [stderr] | [INFO] [stderr] 743 | *den = mem::replace(den, Polynomial::new()) * Number::SmallInt(den1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*den1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/normalize.rs:780:5 [INFO] [stderr] | [INFO] [stderr] 780 | / if let &mut Element::Pow(ref mut dirty, ref mut be2) = first { [INFO] [stderr] 781 | | let (ref mut b2, ref mut e2) = *&mut **be2; [INFO] [stderr] 782 | | if let &mut Element::Pow(_, ref mut be1) = sec { [INFO] [stderr] 783 | | let (ref b1, ref mut e1) = *&mut **be1; [INFO] [stderr] ... | [INFO] [stderr] 831 | | } [INFO] [stderr] 832 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 780 | if let Element::Pow(ref mut dirty, ref mut be2) = *first { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/normalize.rs:782:9 [INFO] [stderr] | [INFO] [stderr] 782 | / if let &mut Element::Pow(_, ref mut be1) = sec { [INFO] [stderr] 783 | | let (ref b1, ref mut e1) = *&mut **be1; [INFO] [stderr] 784 | | if b1 == b2 { [INFO] [stderr] 785 | | match (e1, e2) { [INFO] [stderr] ... | [INFO] [stderr] 830 | | changed = true; [INFO] [stderr] 831 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 782 | if let Element::Pow(_, ref mut be1) = *sec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: defining a method called `next` on this type; consider implementing the `std::iter::Iterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/id.rs:1373:5 [INFO] [stderr] | [INFO] [stderr] 1373 | / pub fn next(&mut self) -> StatementResult { [INFO] [stderr] 1374 | | if self.rhsp == 0 { [INFO] [stderr] 1375 | | if self.it.next(&mut self.m, &mut self.used_indices) { [INFO] [stderr] 1376 | | if self.mode != IdentityStatementMode::All { [INFO] [stderr] ... | [INFO] [stderr] 1464 | | StatementResult::Executed(e) [INFO] [stderr] 1465 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/module.rs:143:12 [INFO] [stderr] | [INFO] [stderr] 143 | if names.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `names.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/module.rs:197:35 [INFO] [stderr] | [INFO] [stderr] 197 | powmap.entry(pow).or_insert(vec![]).extend(newterm); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:207:39 [INFO] [stderr] | [INFO] [stderr] 207 | vec![Element::Var(names[0].clone(), Number::SmallInt(k)), newv], [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `names[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/module.rs:218:5 [INFO] [stderr] | [INFO] [stderr] 218 | IdentityStatement(MatchIterator<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 218 | IdentityStatement(Box>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:281:21 [INFO] [stderr] | [INFO] [stderr] 281 | name.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:292:25 [INFO] [stderr] | [INFO] [stderr] 292 | n.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:383:40 [INFO] [stderr] | [INFO] [stderr] 383 | Element::Fn(false, n.clone(), { [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 45 [INFO] [stderr] --> src/module.rs:415:1 [INFO] [stderr] | [INFO] [stderr] 415 | / fn do_module_rec( [INFO] [stderr] 416 | | mut input: Element, [INFO] [stderr] 417 | | statements: &[Statement], [INFO] [stderr] 418 | | local_var_info: &mut LocalVarInfo, [INFO] [stderr] ... | [INFO] [stderr] 1087 | | ); [INFO] [stderr] 1088 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: The function/method `apply_map` doesn't need a mutable reference [INFO] [stderr] --> src/module.rs:637:45 [INFO] [stderr] | [INFO] [stderr] 637 | e.apply_map(&mut m).into_single().0, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:739:61 [INFO] [stderr] | [INFO] [stderr] 739 | let mut newfunc = Element::Fn(true, name1.clone(), newfuncarg); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `name1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/module.rs:967:16 [INFO] [stderr] | [INFO] [stderr] 967 | if vars.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vars.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1243:48 [INFO] [stderr] | [INFO] [stderr] 1243 | map.insert(map_source.clone(), v.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `map_source` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1253:41 [INFO] [stderr] | [INFO] [stderr] 1253 | name.clone(), [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/module.rs:1287:5 [INFO] [stderr] | [INFO] [stderr] 1287 | / fn execute_module( [INFO] [stderr] 1288 | | &mut self, [INFO] [stderr] 1289 | | expressions: &mut Vec, [INFO] [stderr] 1290 | | var_info: &mut VarInfo, [INFO] [stderr] ... | [INFO] [stderr] 1440 | | } [INFO] [stderr] 1441 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1439:45 [INFO] [stderr] | [INFO] [stderr] 1439 | .add_dollar(Element::Dollar(d.clone(), vec![]), v); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `d` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 38 [INFO] [stderr] --> src/module.rs:1445:5 [INFO] [stderr] | [INFO] [stderr] 1445 | / pub fn do_program(&mut self, write_log: bool, verbosity: u64, num_threads: usize) { [INFO] [stderr] 1446 | | // set the log level [INFO] [stderr] 1447 | | self.var_info.global_info.log_level = verbosity as usize; [INFO] [stderr] 1448 | | [INFO] [stderr] ... | [INFO] [stderr] 1753 | | } [INFO] [stderr] 1754 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/module.rs:1684:24 [INFO] [stderr] | [INFO] [stderr] 1684 | if vars.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vars.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1685:63 [INFO] [stderr] | [INFO] [stderr] 1685 | sort_statements.push(Statement::Print(mode.clone(), vec![])); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*mode` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/module.rs:1723:87 [INFO] [stderr] | [INFO] [stderr] 1723 | Statement::Collect(ref id) => sort_statements.push(Statement::Collect(id.clone())), [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/normalize.rs:118:46 [INFO] [stderr] | [INFO] [stderr] 118 | for i in n1..n2 + 1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `n1..=n2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 78 [INFO] [stderr] --> src/normalize.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | / pub fn normalize_inplace(&mut self, var_info: &GlobalVarInfo) -> bool { [INFO] [stderr] 246 | | let mut changed = false; [INFO] [stderr] 247 | | match *self { [INFO] [stderr] 248 | | Element::Term(dirty, _) => { [INFO] [stderr] ... | [INFO] [stderr] 681 | | changed [INFO] [stderr] 682 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/normalize.rs:364:21 [INFO] [stderr] | [INFO] [stderr] 364 | / loop { [INFO] [stderr] 365 | | match *e { [INFO] [stderr] 366 | | Element::Num(_, Number::SmallInt(0)) => { [INFO] [stderr] 367 | | // x^0 = 1 [INFO] [stderr] ... | [INFO] [stderr] 446 | | return changed; [INFO] [stderr] 447 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/normalize.rs:454:24 [INFO] [stderr] | [INFO] [stderr] 454 | if let Some(_) = var_info.func_attribs.get(&name) { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 455 | | dirty = true; // for now, always set the dirty flag if a function has attributes [INFO] [stderr] 456 | | } [INFO] [stderr] | |_________________- help: try this: `if var_info.func_attribs.get(&name).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/normalize.rs:497:54 [INFO] [stderr] | [INFO] [stderr] 497 | for i in n1..n2 + 1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `n1..=n2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/normalize.rs:521:36 [INFO] [stderr] | [INFO] [stderr] 521 | newvalue = loop { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 522 | | if let Some(attribs) = var_info.func_attribs.get(&name) { [INFO] [stderr] 523 | | if attribs.contains(&FunctionAttributes::Linear) { [INFO] [stderr] 524 | | // split the function if any of its arguments is a subexpr [INFO] [stderr] ... | [INFO] [stderr] 568 | | break None; // the function remains a function [INFO] [stderr] 569 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/normalize.rs:551:77 [INFO] [stderr] | [INFO] [stderr] 551 | subexprs.push(Element::Fn(true, name.clone(), rest)); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/normalize.rs:742:84 [INFO] [stderr] | [INFO] [stderr] 742 | *num = mem::replace(num, Polynomial::new()) * Number::SmallInt(num1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*num1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/normalize.rs:743:84 [INFO] [stderr] | [INFO] [stderr] 743 | *den = mem::replace(den, Polynomial::new()) * Number::SmallInt(den1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*den1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/normalize.rs:780:5 [INFO] [stderr] | [INFO] [stderr] 780 | / if let &mut Element::Pow(ref mut dirty, ref mut be2) = first { [INFO] [stderr] 781 | | let (ref mut b2, ref mut e2) = *&mut **be2; [INFO] [stderr] 782 | | if let &mut Element::Pow(_, ref mut be1) = sec { [INFO] [stderr] 783 | | let (ref b1, ref mut e1) = *&mut **be1; [INFO] [stderr] ... | [INFO] [stderr] 831 | | } [INFO] [stderr] 832 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 780 | if let Element::Pow(ref mut dirty, ref mut be2) = *first { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/normalize.rs:782:9 [INFO] [stderr] | [INFO] [stderr] 782 | / if let &mut Element::Pow(_, ref mut be1) = sec { [INFO] [stderr] 783 | | let (ref b1, ref mut e1) = *&mut **be1; [INFO] [stderr] 784 | | if b1 == b2 { [INFO] [stderr] 785 | | match (e1, e2) { [INFO] [stderr] ... | [INFO] [stderr] 830 | | changed = true; [INFO] [stderr] 831 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 782 | if let Element::Pow(_, ref mut be1) = *sec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 41 [INFO] [stderr] --> src/parser/mod.rs:297:1 [INFO] [stderr] | [INFO] [stderr] 297 | / fn parse_statement(e: pest::iterators::Pair) -> Statement { [INFO] [stderr] 298 | | match e.as_rule() { [INFO] [stderr] 299 | | Rule::expr_statement => { [INFO] [stderr] 300 | | let mut r = e.into_inner(); [INFO] [stderr] ... | [INFO] [stderr] 666 | | } [INFO] [stderr] 667 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/mod.rs:496:40 [INFO] [stderr] | [INFO] [stderr] 496 | Rule::print_opt => match d.into_span().as_str().to_lowercase().as_str() { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 497 | | "mathematica" => print_opt = PrintMode::Mathematica, [INFO] [stderr] 498 | | _ => {} [INFO] [stderr] 499 | | }, [INFO] [stderr] | |_____________________^ help: try this: `if let "mathematica" = d.into_span().as_str().to_lowercase().as_str() { print_opt = PrintMode::Mathematica }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/mod.rs:529:40 [INFO] [stderr] | [INFO] [stderr] 529 | Rule::print_opt => match d.into_span().as_str().to_lowercase().as_str() { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 530 | | "mathematica" => print_opt = PrintMode::Mathematica, [INFO] [stderr] 531 | | _ => {} [INFO] [stderr] 532 | | }, [INFO] [stderr] | |_____________________^ help: try this: `if let "mathematica" = d.into_span().as_str().to_lowercase().as_str() { print_opt = PrintMode::Mathematica }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `poly::polynomial::Polynomial` [INFO] [stderr] --> src/poly/polynomial.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Polynomial { [INFO] [stderr] 25 | | Polynomial { [INFO] [stderr] 26 | | poly: MultivariatePolynomial::new(), [INFO] [stderr] 27 | | varmap: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/poly/polynomial.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | e: &Element, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/poly/polynomial.rs:173:26 [INFO] [stderr] | [INFO] [stderr] 173 | pub fn to_expression(self) -> Element { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/poly/polynomial.rs:241:25 [INFO] [stderr] | [INFO] [stderr] 241 | newexp[*map.get(&e).unwrap()] = other.poly.exponents(t)[e]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&map[&e]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/poly/polynomial.rs:269:24 [INFO] [stderr] | [INFO] [stderr] 269 | if monomial.coefficient < &Number::zero() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `Number::zero()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/poly/polynomial.rs:278:46 [INFO] [stderr] | [INFO] [stderr] 278 | for (i, e) in monomial.exponents.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/polynomial.rs:308:23 [INFO] [stderr] | [INFO] [stderr] 308 | varcount: self.varcount.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.varcount` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/polynomial.rs:322:27 [INFO] [stderr] | [INFO] [stderr] 322 | varcount: self.varcount.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.varcount` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/polynomial.rs:328:27 [INFO] [stderr] | [INFO] [stderr] 328 | varcount: self.varcount.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.varcount` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/poly/polynomial.rs:334:1 [INFO] [stderr] | [INFO] [stderr] 334 | / impl Hash for Polynomial { [INFO] [stderr] 335 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 336 | | // we can skip the hashmap, since we simply use the inverse [INFO] [stderr] 337 | | self.varcount.hash(state); [INFO] [stderr] ... | [INFO] [stderr] 340 | | } [INFO] [stderr] 341 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/poly/polynomial.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | #[derive(Debug, Clone, PartialEq, Eq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/raw/finitefield.rs:34:27 [INFO] [stderr] | [INFO] [stderr] 34 | let mut nn = (p as i64 + (n % p as i64)) as ufield; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(p)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/raw/finitefield.rs:34:43 [INFO] [stderr] | [INFO] [stderr] 34 | let mut nn = (p as i64 + (n % p as i64)) as ufield; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/raw/finitefield.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | n: (n % p as i64) as ufield, [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/poly/raw/finitefield.rs:49:21 [INFO] [stderr] | [INFO] [stderr] 49 | n: (n % p as u64) as ufield, [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/poly/raw/finitefield.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | self.n = self.n % p; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.n %= p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/poly/raw/finitefield.rs:153:48 [INFO] [stderr] | [INFO] [stderr] 153 | n: zp::mul(self.n, zp::inv(other.n % self.p, self.p), self.p), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/poly/raw/finitefield.rs:164:46 [INFO] [stderr] | [INFO] [stderr] 164 | n: zp::mul(self.n, zp::inv(other % self.p, self.p), self.p), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/finitefield.rs:175:38 [INFO] [stderr] | [INFO] [stderr] 175 | n: zp::mul(self.n, other % self.p, self.p), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/finitefield.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | self.clone() * n [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/finitefield.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | self.clone() % FiniteField::new(n, self.p) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/finitefield.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | ff.clone() [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*ff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Add` impl [INFO] [stderr] --> src/poly/raw/fraction.rs:64:27 [INFO] [stderr] | [INFO] [stderr] 64 | den: self.den * other.den, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/fraction.rs:149:27 [INFO] [stderr] | [INFO] [stderr] 149 | den: self.den / gcd, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/fraction.rs:156:9 [INFO] [stderr] | [INFO] [stderr] 156 | self.clone() * (n as usize) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/fraction.rs:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | self.clone() % Fraction::new(n as isize, 1) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/poly/raw/gcd.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | pr = pr * (a[k] - a[i]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pr *= (a[k] - a[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 76 [INFO] [stderr] --> src/poly/raw/gcd.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | / fn construct_new_image( [INFO] [stderr] 95 | | ap: &MultivariatePolynomial, [INFO] [stderr] 96 | | bp: &MultivariatePolynomial, [INFO] [stderr] 97 | | aldegree: E, [INFO] [stderr] ... | [INFO] [stderr] 585 | | } [INFO] [stderr] 586 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/poly/raw/gcd.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | / fn construct_new_image( [INFO] [stderr] 95 | | ap: &MultivariatePolynomial, [INFO] [stderr] 96 | | bp: &MultivariatePolynomial, [INFO] [stderr] 97 | | aldegree: E, [INFO] [stderr] ... | [INFO] [stderr] 585 | | } [INFO] [stderr] 586 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:161:27 [INFO] [stderr] | [INFO] [stderr] 161 | .map(|i| (i.clone(), range.sample(&mut rng))) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in c.into_iter().enumerate()` or similar iterators [INFO] [stderr] --> src/poly/raw/gcd.rs:314:35 [INFO] [stderr] | [INFO] [stderr] 314 | for mv in c.into_iter() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:316:51 [INFO] [stderr] | [INFO] [stderr] 316 | ee[var] = E::from_u32(ex.clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*ex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:318:65 [INFO] [stderr] | [INFO] [stderr] 318 | gp.append_monomial(FiniteField::new(x[i].clone(), p.value()), &ee); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `x[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:471:42 [INFO] [stderr] | [INFO] [stderr] 471 | rhs.push(zp::neg(r.iter().last().unwrap().clone(), p)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*r.iter().last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in c.into_iter().enumerate()` or similar iterators [INFO] [stderr] --> src/poly/raw/gcd.rs:516:47 [INFO] [stderr] | [INFO] [stderr] 516 | for mv in c.into_iter() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:518:63 [INFO] [stderr] | [INFO] [stderr] 518 | ee[var] = E::from_u32(ex.clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*ex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:521:62 [INFO] [stderr] | [INFO] [stderr] 521 | FiniteField::new(x[i].clone(), p.value()), [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `x[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:690:17 [INFO] [stderr] | [INFO] [stderr] 690 | let l = d.coefficients.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*d.coefficients.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:692:18 [INFO] [stderr] | [INFO] [stderr] 692 | *x = x.clone() / l.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:692:30 [INFO] [stderr] | [INFO] [stderr] 692 | *x = x.clone() / l.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `l` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/poly/raw/gcd.rs:795:5 [INFO] [stderr] | [INFO] [stderr] 795 | / fn gcd_shape_modular( [INFO] [stderr] 796 | | a: &MultivariatePolynomial, [INFO] [stderr] 797 | | b: &MultivariatePolynomial, [INFO] [stderr] 798 | | vars: &[usize], // variables [INFO] [stderr] ... | [INFO] [stderr] 1024 | | } [INFO] [stderr] 1025 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:803:23 [INFO] [stderr] | [INFO] [stderr] 803 | let lastvar = vars.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*vars.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 41 [INFO] [stderr] --> src/parser/mod.rs:297:1 [INFO] [stderr] | [INFO] [stderr] 297 | / fn parse_statement(e: pest::iterators::Pair) -> Statement { [INFO] [stderr] 298 | | match e.as_rule() { [INFO] [stderr] 299 | | Rule::expr_statement => { [INFO] [stderr] 300 | | let mut r = e.into_inner(); [INFO] [stderr] ... | [INFO] [stderr] 666 | | } [INFO] [stderr] 667 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:917:39 [INFO] [stderr] | [INFO] [stderr] 917 | let mut gseq = vec![gv * (gamma.replace(lastvar, v).coefficients[0].clone() / lc)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gamma.replace(lastvar, v).coefficients[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:969:33 [INFO] [stderr] | [INFO] [stderr] 969 | gseq.push(gv * (gamma.replace(lastvar, v).coefficients[0].clone() / lc)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gamma.replace(lastvar, v).coefficients[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/poly/raw/gcd.rs:1059:17 [INFO] [stderr] | [INFO] [stderr] 1059 | assert!(f.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!f.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/poly/raw/gcd.rs:1129:16 [INFO] [stderr] | [INFO] [stderr] 1129 | if newf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `newf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:1222:27 [INFO] [stderr] | [INFO] [stderr] 1222 | .map(|i| (i.clone(), range.sample(&mut rng))) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 28 [INFO] [stderr] --> src/poly/raw/gcd.rs:1243:5 [INFO] [stderr] | [INFO] [stderr] 1243 | / pub fn gcd( [INFO] [stderr] 1244 | | a: &MultivariatePolynomial, [INFO] [stderr] 1245 | | b: &MultivariatePolynomial, [INFO] [stderr] 1246 | | ) -> MultivariatePolynomial { [INFO] [stderr] ... | [INFO] [stderr] 1420 | | } [INFO] [stderr] 1421 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/poly/raw/gcd.rs:1269:25 [INFO] [stderr] | [INFO] [stderr] 1269 | for (p, inc) in vec![(a, 1), (b, 2)] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[(a, 1), (b, 2)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/poly/raw/gcd.rs:1427:5 [INFO] [stderr] | [INFO] [stderr] 1427 | / fn gcd_zippel( [INFO] [stderr] 1428 | | a: &MultivariatePolynomial, [INFO] [stderr] 1429 | | b: &MultivariatePolynomial, [INFO] [stderr] 1430 | | vars: &[usize], // variables [INFO] [stderr] ... | [INFO] [stderr] 1678 | | } [INFO] [stderr] 1679 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/mod.rs:496:40 [INFO] [stderr] | [INFO] [stderr] 496 | Rule::print_opt => match d.into_span().as_str().to_lowercase().as_str() { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 497 | | "mathematica" => print_opt = PrintMode::Mathematica, [INFO] [stderr] 498 | | _ => {} [INFO] [stderr] 499 | | }, [INFO] [stderr] | |_____________________^ help: try this: `if let "mathematica" = d.into_span().as_str().to_lowercase().as_str() { print_opt = PrintMode::Mathematica }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser/mod.rs:529:40 [INFO] [stderr] | [INFO] [stderr] 529 | Rule::print_opt => match d.into_span().as_str().to_lowercase().as_str() { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 530 | | "mathematica" => print_opt = PrintMode::Mathematica, [INFO] [stderr] 531 | | _ => {} [INFO] [stderr] 532 | | }, [INFO] [stderr] | |_____________________^ help: try this: `if let "mathematica" = d.into_span().as_str().to_lowercase().as_str() { print_opt = PrintMode::Mathematica }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: attempt to mutate range bound within loop; note that the range of the loop is unchanged [INFO] [stderr] --> src/poly/raw/gcd.rs:1454:17 [INFO] [stderr] | [INFO] [stderr] 1454 | pi += 1; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mut_range_bound)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:1538:54 [INFO] [stderr] | [INFO] [stderr] 1538 | .map(|x| Number::from_finite_field(&(x.clone() * gammap / gpc))) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: attempt to mutate range bound within loop; note that the range of the loop is unchanged [INFO] [stderr] --> src/poly/raw/gcd.rs:1575:21 [INFO] [stderr] | [INFO] [stderr] 1575 | pi += 1; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `poly::polynomial::Polynomial` [INFO] [stderr] --> src/poly/polynomial.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Polynomial { [INFO] [stderr] 25 | | Polynomial { [INFO] [stderr] 26 | | poly: MultivariatePolynomial::new(), [INFO] [stderr] 27 | | varmap: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/poly/polynomial.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | e: &Element, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/poly/polynomial.rs:173:26 [INFO] [stderr] | [INFO] [stderr] 173 | pub fn to_expression(self) -> Element { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:40:23 [INFO] [stderr] | [INFO] [stderr] 40 | *ee = *ee - er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/poly/polynomial.rs:241:25 [INFO] [stderr] | [INFO] [stderr] 241 | newexp[*map.get(&e).unwrap()] = other.poly.exponents(t)[e]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&map[&e]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:55:23 [INFO] [stderr] | [INFO] [stderr] 55 | *ee = *ee - *er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:70:23 [INFO] [stderr] | [INFO] [stderr] 70 | *ee = *ee + er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:85:23 [INFO] [stderr] | [INFO] [stderr] 85 | *ee = *ee + *er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/poly/polynomial.rs:269:24 [INFO] [stderr] | [INFO] [stderr] 269 | if monomial.coefficient < &Number::zero() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `Number::zero()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:100:23 [INFO] [stderr] | [INFO] [stderr] 100 | *ee = *ee + *er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/poly/polynomial.rs:278:46 [INFO] [stderr] | [INFO] [stderr] 278 | for (i, e) in monomial.exponents.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/polynomial.rs:308:23 [INFO] [stderr] | [INFO] [stderr] 308 | varcount: self.varcount.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.varcount` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/polynomial.rs:322:27 [INFO] [stderr] | [INFO] [stderr] 322 | varcount: self.varcount.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.varcount` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/polynomial.rs:328:27 [INFO] [stderr] | [INFO] [stderr] 328 | varcount: self.varcount.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.varcount` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/poly/polynomial.rs:334:1 [INFO] [stderr] | [INFO] [stderr] 334 | / impl Hash for Polynomial { [INFO] [stderr] 335 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 336 | | // we can skip the hashmap, since we simply use the inverse [INFO] [stderr] 337 | | self.varcount.hash(state); [INFO] [stderr] ... | [INFO] [stderr] 340 | | } [INFO] [stderr] 341 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/poly/polynomial.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | #[derive(Debug, Clone, PartialEq, Eq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/poly/raw/multivar.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | #[derive(Clone, Hash)] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/poly/raw/multivar.rs:464:1 [INFO] [stderr] | [INFO] [stderr] 464| / impl PartialEq for MultivariatePolynomial { [INFO] [stderr] 465| | #[inline] [INFO] [stderr] 466| | fn eq(&self, other: &Self) -> bool { [INFO] [stderr] 467| | if self.nvars != other.nvars { [INFO] [stderr] ... | [INFO] [stderr] 482| | } [INFO] [stderr] 483| | } [INFO] [stderr] | |_^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/poly/polynomial.rs:622:46 [INFO] [stderr] | [INFO] [stderr] 622 | a.append_monomial(Number::SmallInt(100), &vec![1, 0]); [INFO] [stderr] | ^^^^^^^^^^^ help: you can use a slice directly: `&[1, 0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/poly/polynomial.rs:625:44 [INFO] [stderr] | [INFO] [stderr] 625 | b.append_monomial(Number::SmallInt(1), &vec![1, 0]); [INFO] [stderr] | ^^^^^^^^^^^ help: you can use a slice directly: `&[1, 0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/raw/finitefield.rs:34:27 [INFO] [stderr] | [INFO] [stderr] 34 | let mut nn = (p as i64 + (n % p as i64)) as ufield; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(p)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/raw/finitefield.rs:34:43 [INFO] [stderr] | [INFO] [stderr] 34 | let mut nn = (p as i64 + (n % p as i64)) as ufield; [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/raw/finitefield.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | n: (n % p as i64) as ufield, [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/poly/raw/finitefield.rs:49:21 [INFO] [stderr] | [INFO] [stderr] 49 | n: (n % p as u64) as ufield, [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/poly/raw/finitefield.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | self.n = self.n % p; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.n %= p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/poly/raw/finitefield.rs:153:48 [INFO] [stderr] | [INFO] [stderr] 153 | n: zp::mul(self.n, zp::inv(other.n % self.p, self.p), self.p), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/poly/raw/finitefield.rs:164:46 [INFO] [stderr] | [INFO] [stderr] 164 | n: zp::mul(self.n, zp::inv(other % self.p, self.p), self.p), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/finitefield.rs:175:38 [INFO] [stderr] | [INFO] [stderr] 175 | n: zp::mul(self.n, other % self.p, self.p), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/finitefield.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | self.clone() * n [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/finitefield.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | self.clone() % FiniteField::new(n, self.p) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/finitefield.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | ff.clone() [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*ff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Add` impl [INFO] [stderr] --> src/poly/raw/fraction.rs:64:27 [INFO] [stderr] | [INFO] [stderr] 64 | den: self.den * other.den, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/poly/raw/multivar.rs:439:46 [INFO] [stderr] | [INFO] [stderr] 439 | for (i, e) in monomial.exponents.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/fraction.rs:149:27 [INFO] [stderr] | [INFO] [stderr] 149 | den: self.den / gcd, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/fraction.rs:156:9 [INFO] [stderr] | [INFO] [stderr] 156 | self.clone() * (n as usize) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/fraction.rs:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | self.clone() % Fraction::new(n as isize, 1) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Add` impl [INFO] [stderr] --> src/poly/raw/multivar.rs:601:43 [INFO] [stderr] | [INFO] [stderr] 601 | new_exponents.truncate(self.nvars * new_nterms); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/poly/raw/gcd.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | pr = pr * (a[k] - a[i]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pr *= (a[k] - a[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 76 [INFO] [stderr] --> src/poly/raw/gcd.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | / fn construct_new_image( [INFO] [stderr] 95 | | ap: &MultivariatePolynomial, [INFO] [stderr] 96 | | bp: &MultivariatePolynomial, [INFO] [stderr] 97 | | aldegree: E, [INFO] [stderr] ... | [INFO] [stderr] 585 | | } [INFO] [stderr] 586 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:750:18 [INFO] [stderr] | [INFO] [stderr] 750 | *e = dividend_exponents[i] [INFO] [stderr] | __________________^ [INFO] [stderr] 751 | | .clone() [INFO] [stderr] | |________________________^ help: try removing the `clone` call: `dividend_exponents[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:752:22 [INFO] [stderr] | [INFO] [stderr] 752 | .sub(divisor_exponents[i].clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `divisor_exponents[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/poly/raw/gcd.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | / fn construct_new_image( [INFO] [stderr] 95 | | ap: &MultivariatePolynomial, [INFO] [stderr] 96 | | bp: &MultivariatePolynomial, [INFO] [stderr] 97 | | aldegree: E, [INFO] [stderr] ... | [INFO] [stderr] 585 | | } [INFO] [stderr] 586 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:774:9 [INFO] [stderr] | [INFO] [stderr] 774 | self.last_exponents()[v].clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.last_exponents()[v]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:782:9 [INFO] [stderr] | [INFO] [stderr] 782 | / self.last_exponents() [INFO] [stderr] 783 | | .iter() [INFO] [stderr] 784 | | .max() [INFO] [stderr] 785 | | .unwrap_or(&E::zero()) [INFO] [stderr] 786 | | .clone() [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 782 | *self.last_exponents() [INFO] [stderr] 783 | .iter() [INFO] [stderr] 784 | .max() [INFO] [stderr] 785 | .unwrap_or(&E::zero()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:1014:26 [INFO] [stderr] | [INFO] [stderr] 1014 | maxdeg = d.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `d` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/poly/raw/multivar.rs:1021:18 [INFO] [stderr] | [INFO] [stderr] 1021 | for d in 0..maxdeg + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `0..=maxdeg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:1063:26 [INFO] [stderr] | [INFO] [stderr] 1063 | me[*x] = e[*x].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `e[*x]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:1239:33 [INFO] [stderr] | [INFO] [stderr] 1239 | .map(|(e1, e2)| e1.clone() - e2.clone()) [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*e1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:1239:46 [INFO] [stderr] | [INFO] [stderr] 1239 | .map(|(e1, e2)| e1.clone() - e2.clone()) [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*e2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:161:27 [INFO] [stderr] | [INFO] [stderr] 161 | .map(|i| (i.clone(), range.sample(&mut rng))) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/poly/raw/multivar.rs:1320:15 [INFO] [stderr] | [INFO] [stderr] 1320 | while h.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!h.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/poly/raw/multivar.rs:1358:20 [INFO] [stderr] | [INFO] [stderr] 1358 | if h.len() == 0 || t != h.peek().unwrap().0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `h.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in c.into_iter().enumerate()` or similar iterators [INFO] [stderr] --> src/poly/raw/gcd.rs:314:35 [INFO] [stderr] | [INFO] [stderr] 314 | for mv in c.into_iter() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:316:51 [INFO] [stderr] | [INFO] [stderr] 316 | ee[var] = E::from_u32(ex.clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*ex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:318:65 [INFO] [stderr] | [INFO] [stderr] 318 | gp.append_monomial(FiniteField::new(x[i].clone(), p.value()), &ee); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `x[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:471:42 [INFO] [stderr] | [INFO] [stderr] 471 | rhs.push(zp::neg(r.iter().last().unwrap().clone(), p)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*r.iter().last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in c.into_iter().enumerate()` or similar iterators [INFO] [stderr] --> src/poly/raw/gcd.rs:516:47 [INFO] [stderr] | [INFO] [stderr] 516 | for mv in c.into_iter() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:518:63 [INFO] [stderr] | [INFO] [stderr] 518 | ee[var] = E::from_u32(ex.clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*ex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:521:62 [INFO] [stderr] | [INFO] [stderr] 521 | FiniteField::new(x[i].clone(), p.value()), [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `x[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:690:17 [INFO] [stderr] | [INFO] [stderr] 690 | let l = d.coefficients.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*d.coefficients.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:692:18 [INFO] [stderr] | [INFO] [stderr] 692 | *x = x.clone() / l.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:692:30 [INFO] [stderr] | [INFO] [stderr] 692 | *x = x.clone() / l.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `l` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/poly/ring.rs:17:26 [INFO] [stderr] | [INFO] [stderr] 17 | fn from_finite_field(&FiniteField) -> Self; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `FiniteField` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | ff.n as i64 - ff.p as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(ff.n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:66:27 [INFO] [stderr] | [INFO] [stderr] 66 | ff.n as i64 - ff.p as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(ff.p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | ff.n as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(ff.n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:75:16 [INFO] [stderr] | [INFO] [stderr] 75 | self * (n as i64) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/poly/raw/gcd.rs:795:5 [INFO] [stderr] | [INFO] [stderr] 795 | / fn gcd_shape_modular( [INFO] [stderr] 796 | | a: &MultivariatePolynomial, [INFO] [stderr] 797 | | b: &MultivariatePolynomial, [INFO] [stderr] 798 | | vars: &[usize], // variables [INFO] [stderr] ... | [INFO] [stderr] 1024 | | } [INFO] [stderr] 1025 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:79:16 [INFO] [stderr] | [INFO] [stderr] 79 | self % (n as i64) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/serialize.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | buffer.write(&numbuffer).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:803:23 [INFO] [stderr] | [INFO] [stderr] 803 | let lastvar = vars.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*vars.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/serialize.rs:137:12 [INFO] [stderr] | [INFO] [stderr] 137 | d: 0 as *mut u64, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/serialize.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | buffer.read(&mut numbuffer)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:917:39 [INFO] [stderr] | [INFO] [stderr] 917 | let mut gseq = vec![gv * (gamma.replace(lastvar, v).coefficients[0].clone() / lc)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gamma.replace(lastvar, v).coefficients[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:969:33 [INFO] [stderr] | [INFO] [stderr] 969 | gseq.push(gv * (gamma.replace(lastvar, v).coefficients[0].clone() / lc)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gamma.replace(lastvar, v).coefficients[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/poly/raw/gcd.rs:1059:17 [INFO] [stderr] | [INFO] [stderr] 1059 | assert!(f.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!f.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/poly/raw/gcd.rs:1129:16 [INFO] [stderr] | [INFO] [stderr] 1129 | if newf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `newf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/serialize.rs:577:33 [INFO] [stderr] | [INFO] [stderr] 577 | b1.seek(SeekFrom::Start(b1coeffstart as u64)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b1coeffstart)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/serialize.rs:578:33 [INFO] [stderr] | [INFO] [stderr] 578 | b2.seek(SeekFrom::Start(b2coeffstart as u64)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b2coeffstart)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/serialize.rs:597:37 [INFO] [stderr] | [INFO] [stderr] 597 | b1.seek(SeekFrom::Start(b1coeffstart as u64)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b1coeffstart)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:1222:27 [INFO] [stderr] | [INFO] [stderr] 1222 | .map(|i| (i.clone(), range.sample(&mut rng))) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 28 [INFO] [stderr] --> src/poly/raw/gcd.rs:1243:5 [INFO] [stderr] | [INFO] [stderr] 1243 | / pub fn gcd( [INFO] [stderr] 1244 | | a: &MultivariatePolynomial, [INFO] [stderr] 1245 | | b: &MultivariatePolynomial, [INFO] [stderr] 1246 | | ) -> MultivariatePolynomial { [INFO] [stderr] ... | [INFO] [stderr] 1420 | | } [INFO] [stderr] 1421 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `streaming::OutputTermStreamer` [INFO] [stderr] --> src/streaming.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | / pub fn new() -> OutputTermStreamer { [INFO] [stderr] 108 | | OutputTermStreamer { [INFO] [stderr] 109 | | sortfiles: vec![], [INFO] [stderr] 110 | | mem_buffer: vec![], // TODO: prevent internal allocation to go beyond MAXTERMMEM [INFO] [stderr] 111 | | termcounter: 0, [INFO] [stderr] 112 | | } [INFO] [stderr] 113 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 100 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/poly/raw/gcd.rs:1269:25 [INFO] [stderr] | [INFO] [stderr] 1269 | for (p, inc) in vec![(a, 1), (b, 2)] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[(a, 1), (b, 2)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/streaming.rs:185:5 [INFO] [stderr] | [INFO] [stderr] 185 | / pub fn sort( [INFO] [stderr] 186 | | &mut self, [INFO] [stderr] 187 | | exprname: &str, [INFO] [stderr] 188 | | input_streamer: &mut InputTermStreamer, [INFO] [stderr] ... | [INFO] [stderr] 463 | | } [INFO] [stderr] 464 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/streaming.rs:185:5 [INFO] [stderr] | [INFO] [stderr] 185 | / pub fn sort( [INFO] [stderr] 186 | | &mut self, [INFO] [stderr] 187 | | exprname: &str, [INFO] [stderr] 188 | | input_streamer: &mut InputTermStreamer, [INFO] [stderr] ... | [INFO] [stderr] 463 | | } [INFO] [stderr] 464 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/poly/raw/gcd.rs:1427:5 [INFO] [stderr] | [INFO] [stderr] 1427 | / fn gcd_zippel( [INFO] [stderr] 1428 | | a: &MultivariatePolynomial, [INFO] [stderr] 1429 | | b: &MultivariatePolynomial, [INFO] [stderr] 1430 | | vars: &[usize], // variables [INFO] [stderr] ... | [INFO] [stderr] 1678 | | } [INFO] [stderr] 1679 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/streaming.rs:219:48 [INFO] [stderr] | [INFO] [stderr] 219 | a = Element::Fn(false, v.clone(), vec![a]); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/streaming.rs:222:63 [INFO] [stderr] | [INFO] [stderr] 222 | if es.len() == 0 || es.iter().any(|e| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 223 | | if let PrintObject::Special(name) = e { [INFO] [stderr] 224 | | exprname == var_info.global_info.get_name(*name) [INFO] [stderr] 225 | | } else { [INFO] [stderr] 226 | | false [INFO] [stderr] 227 | | } [INFO] [stderr] 228 | | }) { [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/streaming.rs:222:28 [INFO] [stderr] | [INFO] [stderr] 222 | if es.len() == 0 || es.iter().any(|e| { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `es.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: attempt to mutate range bound within loop; note that the range of the loop is unchanged [INFO] [stderr] --> src/poly/raw/gcd.rs:1454:17 [INFO] [stderr] | [INFO] [stderr] 1454 | pi += 1; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mut_range_bound)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/streaming.rs:403:33 [INFO] [stderr] | [INFO] [stderr] 403 | v.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/streaming.rs:411:63 [INFO] [stderr] | [INFO] [stderr] 411 | if es.len() == 0 || es.iter().any(|e| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 412 | | if let PrintObject::Special(name) = e { [INFO] [stderr] 413 | | exprname == var_info.global_info.get_name(*name) [INFO] [stderr] 414 | | } else { [INFO] [stderr] 415 | | false [INFO] [stderr] 416 | | } [INFO] [stderr] 417 | | }) { [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/streaming.rs:411:28 [INFO] [stderr] | [INFO] [stderr] 411 | if es.len() == 0 || es.iter().any(|e| { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `es.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/gcd.rs:1538:54 [INFO] [stderr] | [INFO] [stderr] 1538 | .map(|x| Number::from_finite_field(&(x.clone() * gammap / gpc))) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: attempt to mutate range bound within loop; note that the range of the loop is unchanged [INFO] [stderr] --> src/poly/raw/gcd.rs:1575:21 [INFO] [stderr] | [INFO] [stderr] 1575 | pi += 1; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stderr] [INFO] [stderr] warning: item `tools::SliceRef<'a, T>` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/tools.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | / impl<'a, T: 'a> SliceRef<'a, T> { [INFO] [stderr] 20 | | pub fn index(&self, index: usize) -> &'a T { [INFO] [stderr] 21 | | match *self { [INFO] [stderr] 22 | | SliceRef::BorrowedSlice(t) => &t[index], [INFO] [stderr] ... | [INFO] [stderr] 32 | | } [INFO] [stderr] 33 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: defining a method called `index` on this type; consider implementing the `std::ops::Index` trait or choosing a less ambiguous name [INFO] [stderr] --> src/tools.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn index(&self, index: usize) -> &'a T { [INFO] [stderr] 21 | | match *self { [INFO] [stderr] 22 | | SliceRef::BorrowedSlice(t) => &t[index], [INFO] [stderr] 23 | | SliceRef::OwnedSlice(ref t) => t[index], [INFO] [stderr] 24 | | } [INFO] [stderr] 25 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:40:23 [INFO] [stderr] | [INFO] [stderr] 40 | *ee = *ee - er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:55:23 [INFO] [stderr] | [INFO] [stderr] 55 | *ee = *ee - *er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:70:23 [INFO] [stderr] | [INFO] [stderr] 70 | *ee = *ee + er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/tools.rs:293:14 [INFO] [stderr] | [INFO] [stderr] 293 | for i in 1..k + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=k` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:85:23 [INFO] [stderr] | [INFO] [stderr] 85 | *ee = *ee + *er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/poly/raw/monomial.rs:100:23 [INFO] [stderr] | [INFO] [stderr] 100 | *ee = *ee + *er; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tools.rs:325:12 [INFO] [stderr] | [INFO] [stderr] 325 | if self.data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/tools.rs:381:57 [INFO] [stderr] | [INFO] [stderr] 381 | let newden = den.clone() * Number::SmallInt(den1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*den1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/tools.rs:382:51 [INFO] [stderr] | [INFO] [stderr] 382 | *num = num.clone() * Number::SmallInt(den1.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*den1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/tools.rs:383:50 [INFO] [stderr] | [INFO] [stderr] 383 | + den.clone() * Number::SmallInt(num1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*num1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/poly/raw/multivar.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | #[derive(Clone, Hash)] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/poly/raw/multivar.rs:464:1 [INFO] [stderr] | [INFO] [stderr] 464| / impl PartialEq for MultivariatePolynomial { [INFO] [stderr] 465| | #[inline] [INFO] [stderr] 466| | fn eq(&self, other: &Self) -> bool { [INFO] [stderr] 467| | if self.nvars != other.nvars { [INFO] [stderr] ... | [INFO] [stderr] 482| | } [INFO] [stderr] 483| | } [INFO] [stderr] | |_^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/poly/raw/multivar.rs:439:46 [INFO] [stderr] | [INFO] [stderr] 439 | for (i, e) in monomial.exponents.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Add` impl [INFO] [stderr] --> src/poly/raw/multivar.rs:601:43 [INFO] [stderr] | [INFO] [stderr] 601 | new_exponents.truncate(self.nvars * new_nterms); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: aborting due to 24 previous errors [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:750:18 [INFO] [stderr] | [INFO] [stderr] 750 | *e = dividend_exponents[i] [INFO] [stderr] | __________________^ [INFO] [stderr] 751 | | .clone() [INFO] [stderr] | |________________________^ help: try removing the `clone` call: `dividend_exponents[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:752:22 [INFO] [stderr] | [INFO] [stderr] 752 | .sub(divisor_exponents[i].clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `divisor_exponents[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:774:9 [INFO] [stderr] | [INFO] [stderr] 774 | self.last_exponents()[v].clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.last_exponents()[v]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:782:9 [INFO] [stderr] | [INFO] [stderr] 782 | / self.last_exponents() [INFO] [stderr] 783 | | .iter() [INFO] [stderr] 784 | | .max() [INFO] [stderr] 785 | | .unwrap_or(&E::zero()) [INFO] [stderr] 786 | | .clone() [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 782 | *self.last_exponents() [INFO] [stderr] 783 | .iter() [INFO] [stderr] 784 | .max() [INFO] [stderr] 785 | .unwrap_or(&E::zero()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: Could not compile `reform`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:1014:26 [INFO] [stderr] | [INFO] [stderr] 1014 | maxdeg = d.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `d` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/poly/raw/multivar.rs:1021:18 [INFO] [stderr] | [INFO] [stderr] 1021 | for d in 0..maxdeg + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `0..=maxdeg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:1063:26 [INFO] [stderr] | [INFO] [stderr] 1063 | me[*x] = e[*x].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `e[*x]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:1239:33 [INFO] [stderr] | [INFO] [stderr] 1239 | .map(|(e1, e2)| e1.clone() - e2.clone()) [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*e1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/poly/raw/multivar.rs:1239:46 [INFO] [stderr] | [INFO] [stderr] 1239 | .map(|(e1, e2)| e1.clone() - e2.clone()) [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*e2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/poly/raw/multivar.rs:1320:15 [INFO] [stderr] | [INFO] [stderr] 1320 | while h.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!h.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/poly/raw/multivar.rs:1358:20 [INFO] [stderr] | [INFO] [stderr] 1358 | if h.len() == 0 || t != h.peek().unwrap().0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `h.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/poly/ring.rs:17:26 [INFO] [stderr] | [INFO] [stderr] 17 | fn from_finite_field(&FiniteField) -> Self; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `FiniteField` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | ff.n as i64 - ff.p as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(ff.n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:66:27 [INFO] [stderr] | [INFO] [stderr] 66 | ff.n as i64 - ff.p as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(ff.p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | ff.n as i64 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(ff.n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:75:16 [INFO] [stderr] | [INFO] [stderr] 75 | self * (n as i64) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/poly/ring.rs:79:16 [INFO] [stderr] | [INFO] [stderr] 79 | self % (n as i64) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/serialize.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | buffer.write(&numbuffer).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/serialize.rs:137:12 [INFO] [stderr] | [INFO] [stderr] 137 | d: 0 as *mut u64, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/serialize.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | buffer.read(&mut numbuffer)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/serialize.rs:577:33 [INFO] [stderr] | [INFO] [stderr] 577 | b1.seek(SeekFrom::Start(b1coeffstart as u64)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b1coeffstart)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/serialize.rs:578:33 [INFO] [stderr] | [INFO] [stderr] 578 | b2.seek(SeekFrom::Start(b2coeffstart as u64)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b2coeffstart)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/serialize.rs:597:37 [INFO] [stderr] | [INFO] [stderr] 597 | b1.seek(SeekFrom::Start(b1coeffstart as u64)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b1coeffstart)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `streaming::OutputTermStreamer` [INFO] [stderr] --> src/streaming.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | / pub fn new() -> OutputTermStreamer { [INFO] [stderr] 108 | | OutputTermStreamer { [INFO] [stderr] 109 | | sortfiles: vec![], [INFO] [stderr] 110 | | mem_buffer: vec![], // TODO: prevent internal allocation to go beyond MAXTERMMEM [INFO] [stderr] 111 | | termcounter: 0, [INFO] [stderr] 112 | | } [INFO] [stderr] 113 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 100 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/streaming.rs:185:5 [INFO] [stderr] | [INFO] [stderr] 185 | / pub fn sort( [INFO] [stderr] 186 | | &mut self, [INFO] [stderr] 187 | | exprname: &str, [INFO] [stderr] 188 | | input_streamer: &mut InputTermStreamer, [INFO] [stderr] ... | [INFO] [stderr] 463 | | } [INFO] [stderr] 464 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/streaming.rs:185:5 [INFO] [stderr] | [INFO] [stderr] 185 | / pub fn sort( [INFO] [stderr] 186 | | &mut self, [INFO] [stderr] 187 | | exprname: &str, [INFO] [stderr] 188 | | input_streamer: &mut InputTermStreamer, [INFO] [stderr] ... | [INFO] [stderr] 463 | | } [INFO] [stderr] 464 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/streaming.rs:219:48 [INFO] [stderr] | [INFO] [stderr] 219 | a = Element::Fn(false, v.clone(), vec![a]); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/streaming.rs:222:63 [INFO] [stderr] | [INFO] [stderr] 222 | if es.len() == 0 || es.iter().any(|e| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 223 | | if let PrintObject::Special(name) = e { [INFO] [stderr] 224 | | exprname == var_info.global_info.get_name(*name) [INFO] [stderr] 225 | | } else { [INFO] [stderr] 226 | | false [INFO] [stderr] 227 | | } [INFO] [stderr] 228 | | }) { [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/streaming.rs:222:28 [INFO] [stderr] | [INFO] [stderr] 222 | if es.len() == 0 || es.iter().any(|e| { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `es.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/streaming.rs:403:33 [INFO] [stderr] | [INFO] [stderr] 403 | v.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/streaming.rs:411:63 [INFO] [stderr] | [INFO] [stderr] 411 | if es.len() == 0 || es.iter().any(|e| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 412 | | if let PrintObject::Special(name) = e { [INFO] [stderr] 413 | | exprname == var_info.global_info.get_name(*name) [INFO] [stderr] 414 | | } else { [INFO] [stderr] 415 | | false [INFO] [stderr] 416 | | } [INFO] [stderr] 417 | | }) { [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/streaming.rs:411:28 [INFO] [stderr] | [INFO] [stderr] 411 | if es.len() == 0 || es.iter().any(|e| { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `es.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: item `tools::SliceRef<'a, T>` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/tools.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | / impl<'a, T: 'a> SliceRef<'a, T> { [INFO] [stderr] 20 | | pub fn index(&self, index: usize) -> &'a T { [INFO] [stderr] 21 | | match *self { [INFO] [stderr] 22 | | SliceRef::BorrowedSlice(t) => &t[index], [INFO] [stderr] ... | [INFO] [stderr] 32 | | } [INFO] [stderr] 33 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: defining a method called `index` on this type; consider implementing the `std::ops::Index` trait or choosing a less ambiguous name [INFO] [stderr] --> src/tools.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn index(&self, index: usize) -> &'a T { [INFO] [stderr] 21 | | match *self { [INFO] [stderr] 22 | | SliceRef::BorrowedSlice(t) => &t[index], [INFO] [stderr] 23 | | SliceRef::OwnedSlice(ref t) => t[index], [INFO] [stderr] 24 | | } [INFO] [stderr] 25 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/tools.rs:293:14 [INFO] [stderr] | [INFO] [stderr] 293 | for i in 1..k + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=k` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tools.rs:325:12 [INFO] [stderr] | [INFO] [stderr] 325 | if self.data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/tools.rs:381:57 [INFO] [stderr] | [INFO] [stderr] 381 | let newden = den.clone() * Number::SmallInt(den1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*den1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/tools.rs:382:51 [INFO] [stderr] | [INFO] [stderr] 382 | *num = num.clone() * Number::SmallInt(den1.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*den1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/tools.rs:383:50 [INFO] [stderr] | [INFO] [stderr] 383 | + den.clone() * Number::SmallInt(num1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*num1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: aborting due to 25 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `reform`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "5582b68d000315e8697222f73ea5f5010bdd3ceb65869d4074822c032e47abd0"` [INFO] running `"docker" "rm" "-f" "5582b68d000315e8697222f73ea5f5010bdd3ceb65869d4074822c032e47abd0"` [INFO] [stdout] 5582b68d000315e8697222f73ea5f5010bdd3ceb65869d4074822c032e47abd0