[INFO] fetching crate cnfgen2 0.1.1... [INFO] linting cnfgen2-0.1.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate cnfgen2 0.1.1 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate cnfgen2 0.1.1 [INFO] finished tweaking crates.io crate cnfgen2 0.1.1 [INFO] tweaked toml for crates.io crate cnfgen2 0.1.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate cnfgen2 0.1.1 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate cnfgen2 0.1.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded itoap v1.0.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f9e3ac5e65f4ef3a3a05a9e5eae7bdb7278ca0891585520a8963efc0b75d411b [INFO] running `Command { std: "docker" "start" "-a" "f9e3ac5e65f4ef3a3a05a9e5eae7bdb7278ca0891585520a8963efc0b75d411b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f9e3ac5e65f4ef3a3a05a9e5eae7bdb7278ca0891585520a8963efc0b75d411b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9e3ac5e65f4ef3a3a05a9e5eae7bdb7278ca0891585520a8963efc0b75d411b", kill_on_drop: false }` [INFO] [stdout] f9e3ac5e65f4ef3a3a05a9e5eae7bdb7278ca0891585520a8963efc0b75d411b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 27845a87c8f39971af14f06c2bdad60a3093ee2f6f56a596c6140829a03e029d [INFO] running `Command { std: "docker" "start" "-a" "27845a87c8f39971af14f06c2bdad60a3093ee2f6f56a596c6140829a03e029d", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Checking itoap v1.0.1 [INFO] [stderr] Checking generic-array v1.3.5 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking cnfgen2 v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/writer.rs:819:25 [INFO] [stdout] | [INFO] [stdout] 819 | pub fn write_clause>(&mut self, clause: C) -> Result<(), CNFError> [INFO] [stdout] | ^ [INFO] [stdout] 820 | where [INFO] [stdout] 821 | T: Neg, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/dynintexpr/arith.rs:1168:1 [INFO] [stdout] | [INFO] [stdout] 1168 | / /// Most advanced: multiplication. [INFO] [stdout] 1169 | | [INFO] [stdout] | |_^ [INFO] [stdout] 1170 | impl IntModMul> for DynIntExprNode [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/dynintexpr/arith.rs:1260:1 [INFO] [stdout] | [INFO] [stdout] 1260 | / /// Full multiplication [INFO] [stdout] 1261 | | [INFO] [stdout] | |_^ [INFO] [stdout] 1262 | impl FullMul> for DynIntExprNode [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/writer.rs:819:25 [INFO] [stdout] | [INFO] [stdout] 819 | pub fn write_clause>(&mut self, clause: C) -> Result<(), CNFError> [INFO] [stdout] | ^ [INFO] [stdout] 820 | where [INFO] [stdout] 821 | T: Neg, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/intexpr/int_arith.rs:390:1 [INFO] [stdout] | [INFO] [stdout] 390 | / /// Most advanced: multiplication. [INFO] [stdout] 391 | | [INFO] [stdout] | |_^ [INFO] [stdout] 392 | impl IntModMul> for IntExprNode [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/intexpr/int_arith.rs:489:1 [INFO] [stdout] | [INFO] [stdout] 489 | / /// Full multiplication [INFO] [stdout] 490 | | [INFO] [stdout] | |_^ [INFO] [stdout] 491 | impl FullMul> for IntExprNode [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/intexpr/int_arith.rs:745:1 [INFO] [stdout] | [INFO] [stdout] 745 | / /// Division and remainder [INFO] [stdout] 746 | | [INFO] [stdout] | |_^ [INFO] [stdout] 747 | macro_rules! impl_int_div_mod { [INFO] [stdout] | ----------------------------- the comment documents this macro definition [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/dynintexpr/arith.rs:1168:1 [INFO] [stdout] | [INFO] [stdout] 1168 | / /// Most advanced: multiplication. [INFO] [stdout] 1169 | | [INFO] [stdout] | |_^ [INFO] [stdout] 1170 | impl IntModMul> for DynIntExprNode [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/dynintexpr/arith.rs:1260:1 [INFO] [stdout] | [INFO] [stdout] 1260 | / /// Full multiplication [INFO] [stdout] 1261 | | [INFO] [stdout] | |_^ [INFO] [stdout] 1262 | impl FullMul> for DynIntExprNode [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/intexpr/int_arith.rs:390:1 [INFO] [stdout] | [INFO] [stdout] 390 | / /// Most advanced: multiplication. [INFO] [stdout] 391 | | [INFO] [stdout] | |_^ [INFO] [stdout] 392 | impl IntModMul> for IntExprNode [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/intexpr/int_arith.rs:489:1 [INFO] [stdout] | [INFO] [stdout] 489 | / /// Full multiplication [INFO] [stdout] 490 | | [INFO] [stdout] | |_^ [INFO] [stdout] 491 | impl FullMul> for IntExprNode [INFO] [stdout] | - the comment documents this implementation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/intexpr/int_arith.rs:745:1 [INFO] [stdout] | [INFO] [stdout] 745 | / /// Division and remainder [INFO] [stdout] 746 | | [INFO] [stdout] | |_^ [INFO] [stdout] 747 | macro_rules! impl_int_div_mod { [INFO] [stdout] | ----------------------------- the comment documents this macro definition [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/writer.rs:278:6 [INFO] [stdout] | [INFO] [stdout] 278 | impl<'a, T> Clause for &'a [T] [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 278 - impl<'a, T> Clause for &'a [T] [INFO] [stdout] 278 + impl Clause for &[T] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/writer.rs:623:6 [INFO] [stdout] | [INFO] [stdout] 623 | impl<'a, T> QuantSet for &'a [T] [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 623 - impl<'a, T> QuantSet for &'a [T] [INFO] [stdout] 623 + impl QuantSet for &[T] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/boolvar.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | RefCell::new(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(None) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_thread_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/boolvar.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | RefCell::new(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(None) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/boolvar.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | RefCell::new(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(None) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/arith.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 80 | indexes: (0..self.indexes.len()) [INFO] [stdout] | ______________________^ [INFO] [stdout] 81 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..self.indexes.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/dynintexpr/arith.rs:743:5 [INFO] [stdout] | [INFO] [stdout] 743 | / let mut chooser_table = vec![]; [INFO] [stdout] 744 | | chooser_table.push(!index.bit(k - 1)); [INFO] [stdout] 745 | | chooser_table.push(index.bit(k - 1)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let mut chooser_table = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `chooser_table` [INFO] [stdout] --> src/dynintexpr/arith.rs:748:18 [INFO] [stdout] | [INFO] [stdout] 748 | for i in 0..1 << l { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 748 - for i in 0..1 << l { [INFO] [stdout] 748 + for in chooser_table.iter().take(1 << l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/dynintexpr/arith.rs:775:5 [INFO] [stdout] | [INFO] [stdout] 775 | / let mut chooser_table = vec![]; [INFO] [stdout] 776 | | chooser_table.push(!index.bit(k - 1)); [INFO] [stdout] 777 | | chooser_table.push(index.bit(k - 1)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let mut chooser_table = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `chooser_table` [INFO] [stdout] --> src/dynintexpr/arith.rs:780:18 [INFO] [stdout] | [INFO] [stdout] 780 | for i in 0..1 << l { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 780 - for i in 0..1 << l { [INFO] [stdout] 780 + for in chooser_table.iter().take(1 << l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/mod.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | / (0..n) [INFO] [stdout] 120 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..n)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/dynintexpr/mod.rs:248:24 [INFO] [stdout] | [INFO] [stdout] 248 | .chain(rest.indexes.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 248 - .chain(rest.indexes.into_iter()) [INFO] [stdout] 248 + .chain(rest.indexes) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/dynintexpr/mod.rs:496:6 [INFO] [stdout] | [INFO] [stdout] 496 | impl<'a, T, const SIGN: bool> BitVal for &'a DynIntExprNode [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 496 - impl<'a, T, const SIGN: bool> BitVal for &'a DynIntExprNode [INFO] [stdout] 496 + impl BitVal for &DynIntExprNode [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_iter` can be confused for the standard trait method `std::iter::FromIterator::from_iter` [INFO] [stdout] --> src/dynintvar/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | / pub fn from_iter>>(iter: impl IntoIterator) -> Self { [INFO] [stdout] 161 | | Self(DynIntExprNode::from_boolexprs( [INFO] [stdout] 162 | | iter.into_iter().map(|x| BoolExprNode::from(x.into())), [INFO] [stdout] 163 | | )) [INFO] [stdout] 164 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::iter::FromIterator` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/dynintvar/mod.rs:250:18 [INFO] [stdout] | [INFO] [stdout] 250 | .map(|x| { [INFO] [stdout] | __________________^ [INFO] [stdout] 251 | | let v = x.iter().collect::>(); [INFO] [stdout] 252 | | v.into_iter() [INFO] [stdout] 253 | | }) [INFO] [stdout] 254 | | .flatten(), [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 250 ~ .flat_map(|x| { [INFO] [stdout] 251 + let v = x.iter().collect::>(); [INFO] [stdout] 252 + v.into_iter() [INFO] [stdout] 253 ~ }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/dynintvar/mod.rs:420:6 [INFO] [stdout] | [INFO] [stdout] 420 | impl<'a, T, const SIGN: bool> BitVal for &'a DynIntVar [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 420 - impl<'a, T, const SIGN: bool> BitVal for &'a DynIntVar [INFO] [stdout] 420 + impl BitVal for &DynIntVar [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintvar/mod.rs:1234:20 [INFO] [stdout] | [INFO] [stdout] 1234 | .chain(std::iter::repeat(fill.into()).take((1 << k) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into(), (1 << k) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintvar/mod.rs:1290:20 [INFO] [stdout] | [INFO] [stdout] 1290 | .chain(std::iter::repeat(fill.into().into()).take((1 << k) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into().into(), (1 << k) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintvar/mod.rs:1389:20 [INFO] [stdout] | [INFO] [stdout] 1389 | .chain(std::iter::repeat(fill.into()).take((1 << k) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into(), (1 << k) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintvar/mod.rs:1446:20 [INFO] [stdout] | [INFO] [stdout] 1446 | .chain(std::iter::repeat(fill.into().into()).take((1 << k) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into().into(), (1 << k) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/int_utils.rs:135:22 [INFO] [stdout] | [INFO] [stdout] 135 | let mut matrix = (0..col_num).into_iter().map(|_| vec![]).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..col_num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/intexpr/traits.rs:645:6 [INFO] [stdout] | [INFO] [stdout] 645 | impl<'a, T, N, const SIGN: bool> BitVal for &'a IntExprNode [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 645 - impl<'a, T, N, const SIGN: bool> BitVal for &'a IntExprNode [INFO] [stdout] 645 + impl BitVal for &IntExprNode [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intexpr/traits.rs:678:50 [INFO] [stdout] | [INFO] [stdout] 678 | indexes: GenericArray::try_from_iter(iter::repeat(t.index).take(N::USIZE)).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(t.index, N::USIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `is_*` usually take `self` by mutable reference or `self` by reference or no `self` [INFO] [stdout] --> src/intexpr/traits.rs:1132:24 [INFO] [stdout] | [INFO] [stdout] 1132 | fn is_power_of_two(self) -> Self::BoolOutput; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/bin_arith.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | (0..N::USIZE).into_iter().map(|x| (!self.bit(x)).index), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..N::USIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intexpr/mod.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | iter::repeat(creator.borrow_mut().single(v)).take(N::USIZE), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(creator.borrow_mut().single(v), N::USIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intexpr/mod.rs:219:50 [INFO] [stdout] | [INFO] [stdout] 219 | indexes: GenericArray::try_from_iter(iter::repeat(v.index).take(N::USIZE)).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(v.index, N::USIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/intexpr/mod.rs:842:5 [INFO] [stdout] | [INFO] [stdout] 842 | / let mut chooser_table = vec![]; [INFO] [stdout] 843 | | chooser_table.push(!index.bit(K::USIZE - 1)); [INFO] [stdout] 844 | | chooser_table.push(index.bit(K::USIZE - 1)); [INFO] [stdout] | |________________________________________________^ help: consider using the `vec![]` macro: `let mut chooser_table = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `chooser_table` [INFO] [stdout] --> src/intexpr/mod.rs:847:18 [INFO] [stdout] | [INFO] [stdout] 847 | for i in 0..1 << l { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 847 - for i in 0..1 << l { [INFO] [stdout] 847 + for in chooser_table.iter().take(1 << l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/intexpr/mod.rs:874:5 [INFO] [stdout] | [INFO] [stdout] 874 | / let mut chooser_table = vec![]; [INFO] [stdout] 875 | | chooser_table.push(!index.bit(K::USIZE - 1)); [INFO] [stdout] 876 | | chooser_table.push(index.bit(K::USIZE - 1)); [INFO] [stdout] | |________________________________________________^ help: consider using the `vec![]` macro: `let mut chooser_table = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `chooser_table` [INFO] [stdout] --> src/intexpr/mod.rs:879:18 [INFO] [stdout] | [INFO] [stdout] 879 | for i in 0..1 << l { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 879 - for i in 0..1 << l { [INFO] [stdout] 879 + for in chooser_table.iter().take(1 << l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_iter` can be confused for the standard trait method `std::iter::FromIterator::from_iter` [INFO] [stdout] --> src/intvar/mod.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | / pub fn from_iter>>(iter: impl IntoIterator) -> Option { [INFO] [stdout] 143 | | IntExprNode::from_boolexprs(iter.into_iter().map(|x| BoolExprNode::from(x.into()))) [INFO] [stdout] 144 | | .map(|x| Self(x)) [INFO] [stdout] 145 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::iter::FromIterator` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/intvar/mod.rs:228:18 [INFO] [stdout] | [INFO] [stdout] 228 | .map(|x| { [INFO] [stdout] | __________________^ [INFO] [stdout] 229 | | let v = x.iter().collect::>(); [INFO] [stdout] 230 | | v.into_iter() [INFO] [stdout] 231 | | }) [INFO] [stdout] 232 | | .flatten(), [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 228 ~ .flat_map(|x| { [INFO] [stdout] 229 + let v = x.iter().collect::>(); [INFO] [stdout] 230 + v.into_iter() [INFO] [stdout] 231 ~ }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/intvar/mod.rs:507:6 [INFO] [stdout] | [INFO] [stdout] 507 | impl<'a, T, N, const SIGN: bool> BitVal for &'a IntVar [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 507 - impl<'a, T, N, const SIGN: bool> BitVal for &'a IntVar [INFO] [stdout] 507 + impl BitVal for &IntVar [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intvar/mod.rs:1310:20 [INFO] [stdout] | [INFO] [stdout] 1310 | .chain(std::iter::repeat(fill.into()).take((1 << K::USIZE) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into(), (1 << K::USIZE) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intvar/mod.rs:1367:20 [INFO] [stdout] | [INFO] [stdout] 1367 | .chain(std::iter::repeat(fill.into().into()).take((1 << K::USIZE) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into().into(), (1 << K::USIZE) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intvar/mod.rs:1428:20 [INFO] [stdout] | [INFO] [stdout] 1428 | .chain(std::iter::repeat(fill.into()).take((1 << K::USIZE) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into(), (1 << K::USIZE) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intvar/mod.rs:1486:20 [INFO] [stdout] | [INFO] [stdout] 1486 | .chain(std::iter::repeat(fill.into().into()).take((1 << K::USIZE) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into().into(), (1 << K::USIZE) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/writer.rs:278:6 [INFO] [stdout] | [INFO] [stdout] 278 | impl<'a, T> Clause for &'a [T] [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 278 - impl<'a, T> Clause for &'a [T] [INFO] [stdout] 278 + impl Clause for &[T] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/writer.rs:623:6 [INFO] [stdout] | [INFO] [stdout] 623 | impl<'a, T> QuantSet for &'a [T] [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 623 - impl<'a, T> QuantSet for &'a [T] [INFO] [stdout] 623 + impl QuantSet for &[T] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>>` which implements the `Copy` trait [INFO] [stdout] --> src/writer.rs:960:13 [INFO] [stdout] | [INFO] [stdout] 960 | / GenericArray::<_, typenum::U3>::try_from_slice(&[1, 2, 4]) [INFO] [stdout] 961 | | .unwrap() [INFO] [stdout] 962 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 960 ~ *GenericArray::<_, typenum::U3>::try_from_slice(&[1, 2, 4]) [INFO] [stdout] 961 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>>` which implements the `Copy` trait [INFO] [stdout] --> src/writer.rs:971:24 [INFO] [stdout] | [INFO] [stdout] 971 | let gnclause = GenericArray::<_, typenum::U3>::try_from_slice(&[1, 2, 4]) [INFO] [stdout] | ________________________^ [INFO] [stdout] 972 | | .unwrap() [INFO] [stdout] 973 | | .clone(); [INFO] [stdout] | |____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 971 ~ let gnclause = *GenericArray::<_, typenum::U3>::try_from_slice(&[1, 2, 4]) [INFO] [stdout] 972 ~ .unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>>` which implements the `Copy` trait [INFO] [stdout] --> src/writer.rs:1177:13 [INFO] [stdout] | [INFO] [stdout] 1177 | / GenericArray::<_, typenum::U3>::try_from_slice(&[1, 2, 4]) [INFO] [stdout] 1178 | | .unwrap() [INFO] [stdout] 1179 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 1177 ~ *GenericArray::<_, typenum::U3>::try_from_slice(&[1, 2, 4]) [INFO] [stdout] 1178 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>>` which implements the `Copy` trait [INFO] [stdout] --> src/writer.rs:1188:26 [INFO] [stdout] | [INFO] [stdout] 1188 | let gnquantset = GenericArray::<_, typenum::U3>::try_from_slice(&[1, 2, 4]) [INFO] [stdout] | __________________________^ [INFO] [stdout] 1189 | | .unwrap() [INFO] [stdout] 1190 | | .clone(); [INFO] [stdout] | |____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 1188 ~ let gnquantset = *GenericArray::<_, typenum::U3>::try_from_slice(&[1, 2, 4]) [INFO] [stdout] 1189 ~ .unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `writer::Literal` [INFO] [stdout] --> src/boolexpr.rs:993:17 [INFO] [stdout] | [INFO] [stdout] 993 | let _ = Literal::from(v5x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider removing `Literal::from()`: `v5x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `writer::Literal` [INFO] [stdout] --> src/boolexpr.rs:997:16 [INFO] [stdout] | [INFO] [stdout] 997 | | (Literal::from(v4x) & v1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider removing `Literal::from()`: `v4x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/boolexpr.rs:1642:9 [INFO] [stdout] | [INFO] [stdout] 1642 | / (0..var_count) [INFO] [stdout] 1643 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..var_count)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/boolvar.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | RefCell::new(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(None) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_thread_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/boolvar.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | RefCell::new(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(None) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> src/boolvar.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | RefCell::new(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(None) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/arith.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 80 | indexes: (0..self.indexes.len()) [INFO] [stdout] | ______________________^ [INFO] [stdout] 81 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..self.indexes.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/dynintexpr/arith.rs:743:5 [INFO] [stdout] | [INFO] [stdout] 743 | / let mut chooser_table = vec![]; [INFO] [stdout] 744 | | chooser_table.push(!index.bit(k - 1)); [INFO] [stdout] 745 | | chooser_table.push(index.bit(k - 1)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let mut chooser_table = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `chooser_table` [INFO] [stdout] --> src/dynintexpr/arith.rs:748:18 [INFO] [stdout] | [INFO] [stdout] 748 | for i in 0..1 << l { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 748 - for i in 0..1 << l { [INFO] [stdout] 748 + for in chooser_table.iter().take(1 << l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/dynintexpr/arith.rs:775:5 [INFO] [stdout] | [INFO] [stdout] 775 | / let mut chooser_table = vec![]; [INFO] [stdout] 776 | | chooser_table.push(!index.bit(k - 1)); [INFO] [stdout] 777 | | chooser_table.push(index.bit(k - 1)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let mut chooser_table = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `chooser_table` [INFO] [stdout] --> src/dynintexpr/arith.rs:780:18 [INFO] [stdout] | [INFO] [stdout] 780 | for i in 0..1 << l { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 780 - for i in 0..1 << l { [INFO] [stdout] 780 + for in chooser_table.iter().take(1 << l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/arith.rs:1512:22 [INFO] [stdout] | [INFO] [stdout] 1512 | let values = (0..(1 << 5)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1513 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..(1 << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/arith.rs:1520:22 [INFO] [stdout] | [INFO] [stdout] 1520 | let values = (0..(1 << 5)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1521 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..(1 << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/arith.rs:1534:22 [INFO] [stdout] | [INFO] [stdout] 1534 | let values = (0..(1 << 5)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1535 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..(1 << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/arith.rs:1542:22 [INFO] [stdout] | [INFO] [stdout] 1542 | let values = (0..(1 << 5)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1543 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..(1 << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/mod.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | / (0..n) [INFO] [stdout] 120 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..n)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/dynintexpr/mod.rs:248:24 [INFO] [stdout] | [INFO] [stdout] 248 | .chain(rest.indexes.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 248 - .chain(rest.indexes.into_iter()) [INFO] [stdout] 248 + .chain(rest.indexes) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/dynintexpr/mod.rs:496:6 [INFO] [stdout] | [INFO] [stdout] 496 | impl<'a, T, const SIGN: bool> BitVal for &'a DynIntExprNode [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 496 - impl<'a, T, const SIGN: bool> BitVal for &'a DynIntExprNode [INFO] [stdout] 496 + impl BitVal for &DynIntExprNode [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintexpr/mod.rs:670:13 [INFO] [stdout] | [INFO] [stdout] 670 | / iter::repeat(bxp.index) [INFO] [stdout] 671 | | .take(4) [INFO] [stdout] | |________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(bxp.index, 4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/mod.rs:710:13 [INFO] [stdout] | [INFO] [stdout] 710 | (2..(2 + 24)).into_iter().collect::>().as_slice(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(2..(2 + 24))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/mod.rs:715:13 [INFO] [stdout] | [INFO] [stdout] 715 | / ((2 + 16)..(2 + 24)) [INFO] [stdout] 716 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `((2 + 16)..(2 + 24))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/mod.rs:717:24 [INFO] [stdout] | [INFO] [stdout] 717 | .chain((2..18).into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(2..18)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/mod.rs:725:13 [INFO] [stdout] | [INFO] [stdout] 725 | / ((2 + 16 + 5)..(2 + 24)) [INFO] [stdout] 726 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `((2 + 16 + 5)..(2 + 24))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/mod.rs:727:24 [INFO] [stdout] | [INFO] [stdout] 727 | .chain((2..18).into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(2..18)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/dynintexpr/mod.rs:927:13 [INFO] [stdout] | [INFO] [stdout] 927 | / (0..64) [INFO] [stdout] 928 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_iter` can be confused for the standard trait method `std::iter::FromIterator::from_iter` [INFO] [stdout] --> src/dynintvar/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | / pub fn from_iter>>(iter: impl IntoIterator) -> Self { [INFO] [stdout] 161 | | Self(DynIntExprNode::from_boolexprs( [INFO] [stdout] 162 | | iter.into_iter().map(|x| BoolExprNode::from(x.into())), [INFO] [stdout] 163 | | )) [INFO] [stdout] 164 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::iter::FromIterator` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/dynintvar/mod.rs:250:18 [INFO] [stdout] | [INFO] [stdout] 250 | .map(|x| { [INFO] [stdout] | __________________^ [INFO] [stdout] 251 | | let v = x.iter().collect::>(); [INFO] [stdout] 252 | | v.into_iter() [INFO] [stdout] 253 | | }) [INFO] [stdout] 254 | | .flatten(), [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 250 ~ .flat_map(|x| { [INFO] [stdout] 251 + let v = x.iter().collect::>(); [INFO] [stdout] 252 + v.into_iter() [INFO] [stdout] 253 ~ }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/dynintvar/mod.rs:420:6 [INFO] [stdout] | [INFO] [stdout] 420 | impl<'a, T, const SIGN: bool> BitVal for &'a DynIntVar [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 420 - impl<'a, T, const SIGN: bool> BitVal for &'a DynIntVar [INFO] [stdout] 420 + impl BitVal for &DynIntVar [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintvar/mod.rs:1234:20 [INFO] [stdout] | [INFO] [stdout] 1234 | .chain(std::iter::repeat(fill.into()).take((1 << k) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into(), (1 << k) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintvar/mod.rs:1290:20 [INFO] [stdout] | [INFO] [stdout] 1290 | .chain(std::iter::repeat(fill.into().into()).take((1 << k) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into().into(), (1 << k) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintvar/mod.rs:1389:20 [INFO] [stdout] | [INFO] [stdout] 1389 | .chain(std::iter::repeat(fill.into()).take((1 << k) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into(), (1 << k) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/dynintvar/mod.rs:1446:20 [INFO] [stdout] | [INFO] [stdout] 1446 | .chain(std::iter::repeat(fill.into().into()).take((1 << k) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into().into(), (1 << k) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/int_utils.rs:135:22 [INFO] [stdout] | [INFO] [stdout] 135 | let mut matrix = (0..col_num).into_iter().map(|_| vec![]).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..col_num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec>` [INFO] [stdout] --> src/int_utils.rs:421:17 [INFO] [stdout] | [INFO] [stdout] 421 | Vec::from(c) [INFO] [stdout] | ^^^^^^^^^^^^ help: consider removing `Vec::from()`: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec>` [INFO] [stdout] --> src/int_utils.rs:457:17 [INFO] [stdout] | [INFO] [stdout] 457 | Vec::from(c) [INFO] [stdout] | ^^^^^^^^^^^^ help: consider removing `Vec::from()`: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>, B0>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:494:26 [INFO] [stdout] | [INFO] [stdout] 494 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 495 | | bvs[0].index, [INFO] [stdout] 496 | | bvs[1].index, [INFO] [stdout] 497 | | bvs[3].index, [INFO] [stdout] ... | [INFO] [stdout] 502 | | .unwrap() [INFO] [stdout] 503 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 494 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 495 + bvs[0].index, [INFO] [stdout] 496 + bvs[1].index, [INFO] [stdout] 497 + bvs[3].index, [INFO] [stdout] 498 + s1.index, [INFO] [stdout] 499 + s2.index, [INFO] [stdout] 500 + bvs[11].index, [INFO] [stdout] 501 + ]) [INFO] [stdout] 502 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>, B0>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:507:26 [INFO] [stdout] | [INFO] [stdout] 507 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 508 | | 0, [INFO] [stdout] 509 | | bvs[2].index, [INFO] [stdout] 510 | | s0.index, [INFO] [stdout] ... | [INFO] [stdout] 515 | | .unwrap() [INFO] [stdout] 516 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 507 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 508 + 0, [INFO] [stdout] 509 + bvs[2].index, [INFO] [stdout] 510 + s0.index, [INFO] [stdout] 511 + c0.index, [INFO] [stdout] 512 + c1.index, [INFO] [stdout] 513 + c2.index, [INFO] [stdout] 514 + ]) [INFO] [stdout] 515 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>, B1>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:547:26 [INFO] [stdout] | [INFO] [stdout] 547 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 548 | | bvs[0].index, [INFO] [stdout] 549 | | bvs[1].index, [INFO] [stdout] 550 | | bvs[3].index, [INFO] [stdout] ... | [INFO] [stdout] 556 | | .unwrap() [INFO] [stdout] 557 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 547 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 548 + bvs[0].index, [INFO] [stdout] 549 + bvs[1].index, [INFO] [stdout] 550 + bvs[3].index, [INFO] [stdout] 551 + s1.index, [INFO] [stdout] 552 + s2.index, [INFO] [stdout] 553 + bvs[11].index, [INFO] [stdout] 554 + 0, [INFO] [stdout] 555 + ]) [INFO] [stdout] 556 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>, B1>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:561:26 [INFO] [stdout] | [INFO] [stdout] 561 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 562 | | 0, [INFO] [stdout] 563 | | bvs[2].index, [INFO] [stdout] 564 | | s0.index, [INFO] [stdout] ... | [INFO] [stdout] 570 | | .unwrap() [INFO] [stdout] 571 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 561 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 562 + 0, [INFO] [stdout] 563 + bvs[2].index, [INFO] [stdout] 564 + s0.index, [INFO] [stdout] 565 + c0.index, [INFO] [stdout] 566 + c1.index, [INFO] [stdout] 567 + c2.index, [INFO] [stdout] 568 + 0, [INFO] [stdout] 569 + ]) [INFO] [stdout] 570 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B0>, B0>, B0>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:614:26 [INFO] [stdout] | [INFO] [stdout] 614 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 615 | | bvs[0].index, [INFO] [stdout] 616 | | bvs[1].index, [INFO] [stdout] 617 | | bvs[3].index, [INFO] [stdout] ... | [INFO] [stdout] 624 | | .unwrap() [INFO] [stdout] 625 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 614 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 615 + bvs[0].index, [INFO] [stdout] 616 + bvs[1].index, [INFO] [stdout] 617 + bvs[3].index, [INFO] [stdout] 618 + s1_2.index, [INFO] [stdout] 619 + s2_2.index, [INFO] [stdout] 620 + s3_2.index, [INFO] [stdout] 621 + s4_2.index, [INFO] [stdout] 622 + bvs[19].index, [INFO] [stdout] 623 + ]) [INFO] [stdout] 624 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B0>, B0>, B0>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:629:26 [INFO] [stdout] | [INFO] [stdout] 629 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 630 | | 0, [INFO] [stdout] 631 | | bvs[2].index, [INFO] [stdout] 632 | | s0_2.index, [INFO] [stdout] ... | [INFO] [stdout] 639 | | .unwrap() [INFO] [stdout] 640 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 629 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 630 + 0, [INFO] [stdout] 631 + bvs[2].index, [INFO] [stdout] 632 + s0_2.index, [INFO] [stdout] 633 + c0_2.index, [INFO] [stdout] 634 + c1_2.index, [INFO] [stdout] 635 + c2_2.index, [INFO] [stdout] 636 + c3_2.index, [INFO] [stdout] 637 + c4_2.index, [INFO] [stdout] 638 + ]) [INFO] [stdout] 639 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>, B0>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:680:26 [INFO] [stdout] | [INFO] [stdout] 680 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 681 | | bvs[0].index, [INFO] [stdout] 682 | | bvs[1].index, [INFO] [stdout] 683 | | bvs[3].index, [INFO] [stdout] ... | [INFO] [stdout] 688 | | .unwrap() [INFO] [stdout] 689 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 680 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 681 + bvs[0].index, [INFO] [stdout] 682 + bvs[1].index, [INFO] [stdout] 683 + bvs[3].index, [INFO] [stdout] 684 + s1_2.index, [INFO] [stdout] 685 + s2_2.index, [INFO] [stdout] 686 + s3_2.index, [INFO] [stdout] 687 + ]) [INFO] [stdout] 688 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B1>, B0>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:693:26 [INFO] [stdout] | [INFO] [stdout] 693 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 694 | | 0, [INFO] [stdout] 695 | | bvs[2].index, [INFO] [stdout] 696 | | s0_2.index, [INFO] [stdout] ... | [INFO] [stdout] 701 | | .unwrap() [INFO] [stdout] 702 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 693 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 694 + 0, [INFO] [stdout] 695 + bvs[2].index, [INFO] [stdout] 696 + s0_2.index, [INFO] [stdout] 697 + c0_2.index, [INFO] [stdout] 698 + c1_2.index, [INFO] [stdout] 699 + c2_2.index, [INFO] [stdout] 700 + ]) [INFO] [stdout] 701 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B0>, B1>, B1>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:781:26 [INFO] [stdout] | [INFO] [stdout] 781 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 782 | | bvs[0].index, [INFO] [stdout] 783 | | bvs[1].index, [INFO] [stdout] 784 | | bvs[3].index, [INFO] [stdout] ... | [INFO] [stdout] 794 | | .unwrap() [INFO] [stdout] 795 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 781 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 782 + bvs[0].index, [INFO] [stdout] 783 + bvs[1].index, [INFO] [stdout] 784 + bvs[3].index, [INFO] [stdout] 785 + s1_3.index, [INFO] [stdout] 786 + s2_3.index, [INFO] [stdout] 787 + s3_3.index, [INFO] [stdout] 788 + s4_3.index, [INFO] [stdout] 789 + s5_3.index, [INFO] [stdout] 790 + s6_3.index, [INFO] [stdout] 791 + s7_3.index, [INFO] [stdout] 792 + bvs[34].index, [INFO] [stdout] 793 + ]) [INFO] [stdout] 794 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B0>, B1>, B1>>` which implements the `Copy` trait [INFO] [stdout] --> src/int_utils.rs:799:26 [INFO] [stdout] | [INFO] [stdout] 799 | indexes: GenericArray::try_from_slice(&[ [INFO] [stdout] | __________________________^ [INFO] [stdout] 800 | | 0, [INFO] [stdout] 801 | | bvs[2].index, [INFO] [stdout] 802 | | s0_3.index, [INFO] [stdout] ... | [INFO] [stdout] 812 | | .unwrap() [INFO] [stdout] 813 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 799 ~ indexes: *GenericArray::try_from_slice(&[ [INFO] [stdout] 800 + 0, [INFO] [stdout] 801 + bvs[2].index, [INFO] [stdout] 802 + s0_3.index, [INFO] [stdout] 803 + c0_3.index, [INFO] [stdout] 804 + c1_3.index, [INFO] [stdout] 805 + c2_3.index, [INFO] [stdout] 806 + c3_3.index, [INFO] [stdout] 807 + c4_3.index, [INFO] [stdout] 808 + c5_3.index, [INFO] [stdout] 809 + c6_3.index, [INFO] [stdout] 810 + c7_3.index, [INFO] [stdout] 811 + ]) [INFO] [stdout] 812 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/intexpr/traits.rs:645:6 [INFO] [stdout] | [INFO] [stdout] 645 | impl<'a, T, N, const SIGN: bool> BitVal for &'a IntExprNode [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 645 - impl<'a, T, N, const SIGN: bool> BitVal for &'a IntExprNode [INFO] [stdout] 645 + impl BitVal for &IntExprNode [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intexpr/traits.rs:678:50 [INFO] [stdout] | [INFO] [stdout] 678 | indexes: GenericArray::try_from_iter(iter::repeat(t.index).take(N::USIZE)).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(t.index, N::USIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `is_*` usually take `self` by mutable reference or `self` by reference or no `self` [INFO] [stdout] --> src/intexpr/traits.rs:1132:24 [INFO] [stdout] | [INFO] [stdout] 1132 | fn is_power_of_two(self) -> Self::BoolOutput; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1168:9 [INFO] [stdout] | [INFO] [stdout] 1168 | assert_eq!(25u16.bit(1), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1168 - assert_eq!(25u16.bit(1), false); [INFO] [stdout] 1168 + assert!(!25u16.bit(1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1169:9 [INFO] [stdout] | [INFO] [stdout] 1169 | assert_eq!(25u16.bit(4), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1169 - assert_eq!(25u16.bit(4), true); [INFO] [stdout] 1169 + assert!(25u16.bit(4)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1170:9 [INFO] [stdout] | [INFO] [stdout] 1170 | assert_eq!(25u16.bit(19), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1170 - assert_eq!(25u16.bit(19), false); [INFO] [stdout] 1170 + assert!(!25u16.bit(19)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1171:9 [INFO] [stdout] | [INFO] [stdout] 1171 | assert_eq!(0xff00u16.bit(19), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1171 - assert_eq!(0xff00u16.bit(19), false); [INFO] [stdout] 1171 + assert!(!0xff00u16.bit(19)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1172:9 [INFO] [stdout] | [INFO] [stdout] 1172 | assert_eq!(25i16.bit(1), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1172 - assert_eq!(25i16.bit(1), false); [INFO] [stdout] 1172 + assert!(!25i16.bit(1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1173:9 [INFO] [stdout] | [INFO] [stdout] 1173 | assert_eq!(25i16.bit(4), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1173 - assert_eq!(25i16.bit(4), true); [INFO] [stdout] 1173 + assert!(25i16.bit(4)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1174:9 [INFO] [stdout] | [INFO] [stdout] 1174 | assert_eq!(25i16.bit(15), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1174 - assert_eq!(25i16.bit(15), false); [INFO] [stdout] 1174 + assert!(!25i16.bit(15)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1175:9 [INFO] [stdout] | [INFO] [stdout] 1175 | assert_eq!(25i16.bit(19), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1175 - assert_eq!(25i16.bit(19), false); [INFO] [stdout] 1175 + assert!(!25i16.bit(19)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1176:9 [INFO] [stdout] | [INFO] [stdout] 1176 | assert_eq!((-25i16).bit(1), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1176 - assert_eq!((-25i16).bit(1), true); [INFO] [stdout] 1176 + assert!((-25i16).bit(1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1177:9 [INFO] [stdout] | [INFO] [stdout] 1177 | assert_eq!((-25i16).bit(4), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1177 - assert_eq!((-25i16).bit(4), false); [INFO] [stdout] 1177 + assert!(!(-25i16).bit(4)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1178:9 [INFO] [stdout] | [INFO] [stdout] 1178 | assert_eq!((-25i16).bit(14), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1178 - assert_eq!((-25i16).bit(14), true); [INFO] [stdout] 1178 + assert!((-25i16).bit(14)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1179:9 [INFO] [stdout] | [INFO] [stdout] 1179 | assert_eq!((-25i16).bit(19), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1179 - assert_eq!((-25i16).bit(19), true); [INFO] [stdout] 1179 + assert!((-25i16).bit(19)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/intexpr/traits.rs:1180:9 [INFO] [stdout] | [INFO] [stdout] 1180 | assert_eq!((-0x100i16).bit(19), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1180 - assert_eq!((-0x100i16).bit(19), true); [INFO] [stdout] 1180 + assert!((-0x100i16).bit(19)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1307:13 [INFO] [stdout] | [INFO] [stdout] 1307 | / (0..64) [INFO] [stdout] 1308 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1328:13 [INFO] [stdout] | [INFO] [stdout] 1328 | / (0..64) [INFO] [stdout] 1329 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1494:22 [INFO] [stdout] | [INFO] [stdout] 1494 | let xv = (0..8) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1495 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1521:13 [INFO] [stdout] | [INFO] [stdout] 1521 | / (0..10) [INFO] [stdout] 1522 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..10)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1530:13 [INFO] [stdout] | [INFO] [stdout] 1530 | / (0..10) [INFO] [stdout] 1531 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..10)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1538:13 [INFO] [stdout] | [INFO] [stdout] 1538 | / (0..10) [INFO] [stdout] 1539 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..10)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1547:13 [INFO] [stdout] | [INFO] [stdout] 1547 | / (0..10) [INFO] [stdout] 1548 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..10)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1598:22 [INFO] [stdout] | [INFO] [stdout] 1598 | let xv = (0..8) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1599 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1640:21 [INFO] [stdout] | [INFO] [stdout] 1640 | / (0..9) [INFO] [stdout] 1641 | | .into_iter() [INFO] [stdout] | |____________________________________^ help: consider removing `.into_iter()`: `(0..9)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1651:21 [INFO] [stdout] | [INFO] [stdout] 1651 | / (0..9) [INFO] [stdout] 1652 | | .into_iter() [INFO] [stdout] | |____________________________________^ help: consider removing `.into_iter()`: `(0..9)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1661:21 [INFO] [stdout] | [INFO] [stdout] 1661 | / (0..9) [INFO] [stdout] 1662 | | .into_iter() [INFO] [stdout] | |____________________________________^ help: consider removing `.into_iter()`: `(0..9)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/traits.rs:1672:21 [INFO] [stdout] | [INFO] [stdout] 1672 | / (0..9) [INFO] [stdout] 1673 | | .into_iter() [INFO] [stdout] | |____________________________________^ help: consider removing `.into_iter()`: `(0..9)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/bin_arith.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | (0..N::USIZE).into_iter().map(|x| (!self.bit(x)).index), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..N::USIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/bin_arith.rs:961:19 [INFO] [stdout] | [INFO] [stdout] 961 | let exp = (0..5) [INFO] [stdout] | ___________________^ [INFO] [stdout] 962 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..5)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/bin_arith.rs:976:9 [INFO] [stdout] | [INFO] [stdout] 976 | / (0..bits) [INFO] [stdout] 977 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..bits)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/bin_arith.rs:1233:9 [INFO] [stdout] | [INFO] [stdout] 1233 | / (0..bits) [INFO] [stdout] 1234 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..bits)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/bin_arith.rs:1671:9 [INFO] [stdout] | [INFO] [stdout] 1671 | / (0..bits) [INFO] [stdout] 1672 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..bits)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/bin_arith.rs:1792:9 [INFO] [stdout] | [INFO] [stdout] 1792 | / (0..bits) [INFO] [stdout] 1793 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..bits)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/intexpr/int_arith.rs:869:9 [INFO] [stdout] | [INFO] [stdout] 869 | / let mut temp = vec![]; [INFO] [stdout] 870 | | temp.push(half_adder(bvs[0].clone(), bntrue)); [INFO] [stdout] 871 | | temp.push(half_adder(bvs[1].clone(), temp[0].clone().1)); [INFO] [stdout] 872 | | temp.push(half_adder(bvs[2].clone(), temp[1].clone().1)); [INFO] [stdout] 873 | | temp.push(half_adder(bvs[3].clone(), temp[2].clone().1)); [INFO] [stdout] 874 | | temp.push((bvs[4].clone() ^ temp[3].clone().1, bnfalse)); [INFO] [stdout] | |_________________________________________________________________^ help: consider using the `vec![]` macro: `let temp = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/intexpr/int_arith.rs:922:13 [INFO] [stdout] | [INFO] [stdout] 922 | / let mut temp = vec![]; [INFO] [stdout] 923 | | temp.push(opt_full_adder( [INFO] [stdout] 924 | | bvs[0].clone(), [INFO] [stdout] 925 | | bvs[5].clone(), [INFO] [stdout] ... | [INFO] [stdout] 946 | | temp[3].clone().1, [INFO] [stdout] 947 | | )); [INFO] [stdout] | |_______________^ help: consider using the `vec![]` macro: `let temp = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/intexpr/int_arith.rs:1042:13 [INFO] [stdout] | [INFO] [stdout] 1042 | / let mut temp = vec![]; [INFO] [stdout] 1043 | | temp.push(half_adder(bvs[0].clone(), bvs[5].clone())); [INFO] [stdout] 1044 | | temp.push(half_adder(bvs[1].clone(), temp[0].clone().1)); [INFO] [stdout] 1045 | | temp.push(half_adder(bvs[2].clone(), temp[1].clone().1)); [INFO] [stdout] 1046 | | temp.push(half_adder(bvs[3].clone(), temp[2].clone().1)); [INFO] [stdout] 1047 | | temp.push((bvs[4].clone() ^ temp[3].clone().1, bnfalse)); [INFO] [stdout] | |_____________________________________________________________________^ help: consider using the `vec![]` macro: `let temp = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `GenericArray, B0>, B1>, B0>, B0>>` which implements the `Copy` trait [INFO] [stdout] --> src/intexpr/int_arith.rs:1589:22 [INFO] [stdout] | [INFO] [stdout] 1589 | indexes: GenericArray::try_from_slice(&gen_dadda_mult(exp_ec.clone(), &mut matrix)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1590 | | .unwrap() [INFO] [stdout] 1591 | | .clone(), [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 1589 ~ indexes: *GenericArray::try_from_slice(&gen_dadda_mult(exp_ec.clone(), &mut matrix)) [INFO] [stdout] 1590 ~ .unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intexpr/mod.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | iter::repeat(creator.borrow_mut().single(v)).take(N::USIZE), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(creator.borrow_mut().single(v), N::USIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intexpr/mod.rs:219:50 [INFO] [stdout] | [INFO] [stdout] 219 | indexes: GenericArray::try_from_iter(iter::repeat(v.index).take(N::USIZE)).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(v.index, N::USIZE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/intexpr/mod.rs:842:5 [INFO] [stdout] | [INFO] [stdout] 842 | / let mut chooser_table = vec![]; [INFO] [stdout] 843 | | chooser_table.push(!index.bit(K::USIZE - 1)); [INFO] [stdout] 844 | | chooser_table.push(index.bit(K::USIZE - 1)); [INFO] [stdout] | |________________________________________________^ help: consider using the `vec![]` macro: `let mut chooser_table = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `chooser_table` [INFO] [stdout] --> src/intexpr/mod.rs:847:18 [INFO] [stdout] | [INFO] [stdout] 847 | for i in 0..1 << l { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 847 - for i in 0..1 << l { [INFO] [stdout] 847 + for in chooser_table.iter().take(1 << l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/intexpr/mod.rs:874:5 [INFO] [stdout] | [INFO] [stdout] 874 | / let mut chooser_table = vec![]; [INFO] [stdout] 875 | | chooser_table.push(!index.bit(K::USIZE - 1)); [INFO] [stdout] 876 | | chooser_table.push(index.bit(K::USIZE - 1)); [INFO] [stdout] | |________________________________________________^ help: consider using the `vec![]` macro: `let mut chooser_table = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `chooser_table` [INFO] [stdout] --> src/intexpr/mod.rs:879:18 [INFO] [stdout] | [INFO] [stdout] 879 | for i in 0..1 << l { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 879 - for i in 0..1 << l { [INFO] [stdout] 879 + for in chooser_table.iter().take(1 << l) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intexpr/mod.rs:918:13 [INFO] [stdout] | [INFO] [stdout] 918 | / iter::repeat(bxp.index) [INFO] [stdout] 919 | | .take(4) [INFO] [stdout] | |________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(bxp.index, 4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:965:13 [INFO] [stdout] | [INFO] [stdout] 965 | (2..(2 + 24)).into_iter().collect::>().as_slice(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(2..(2 + 24))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:970:13 [INFO] [stdout] | [INFO] [stdout] 970 | / ((2 + 16)..(2 + 24)) [INFO] [stdout] 971 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `((2 + 16)..(2 + 24))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:972:24 [INFO] [stdout] | [INFO] [stdout] 972 | .chain((2..18).into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(2..18)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:980:13 [INFO] [stdout] | [INFO] [stdout] 980 | / ((2 + 16 + 5)..(2 + 24)) [INFO] [stdout] 981 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `((2 + 16 + 5)..(2 + 24))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:982:24 [INFO] [stdout] | [INFO] [stdout] 982 | .chain((2..18).into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(2..18)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> src/intexpr/mod.rs:1057:19 [INFO] [stdout] | [INFO] [stdout] 1057 | let ix2 = IntExprNode::::try_from(x1.clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `IntExprNode, B0>, B0>, B0>, false>` to `IntExprNode, B0>, B0>, B1>, true>` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fallible_conversions)]` on by default [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 1057 - let ix2 = IntExprNode::::try_from(x1.clone()).unwrap(); [INFO] [stdout] 1057 + let ix2 = IntExprNode::::from(x1.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> src/intexpr/mod.rs:1062:19 [INFO] [stdout] | [INFO] [stdout] 1062 | let ix2 = IntExprNode::::try_from(x1.clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `IntExprNode, B0>, B0>, B0>, false>` to `IntExprNode, B0>, B0>, B1>, true>` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 1062 - let ix2 = IntExprNode::::try_from(x1.clone()).unwrap(); [INFO] [stdout] 1062 + let ix2 = IntExprNode::::from(x1.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:1179:22 [INFO] [stdout] | [INFO] [stdout] 1179 | let values = (0..(1 << 5)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1180 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..(1 << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:1187:22 [INFO] [stdout] | [INFO] [stdout] 1187 | let values = (0..(1 << 5)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1188 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..(1 << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:1234:22 [INFO] [stdout] | [INFO] [stdout] 1234 | let values = (0..(1 << 5)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1235 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..(1 << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/intexpr/mod.rs:1242:22 [INFO] [stdout] | [INFO] [stdout] 1242 | let values = (0..(1 << 5)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 1243 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..(1 << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/intexpr/mod.rs:1317:14 [INFO] [stdout] | [INFO] [stdout] 1317 | .map(|x| [x.clone() & !idx.bit(2), x.clone() & idx.bit(2)]) [INFO] [stdout] | ______________^ [INFO] [stdout] 1318 | | .flatten() [INFO] [stdout] | |______________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|x| [x.clone() & !idx.bit(2), x.clone() & idx.bit(2)])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/intexpr/mod.rs:1322:14 [INFO] [stdout] | [INFO] [stdout] 1322 | .map(|x| [x.clone() & !idx.bit(1), x.clone() & idx.bit(1)]) [INFO] [stdout] | ______________^ [INFO] [stdout] 1323 | | .flatten() [INFO] [stdout] | |______________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|x| [x.clone() & !idx.bit(1), x.clone() & idx.bit(1)])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/intexpr/mod.rs:1327:14 [INFO] [stdout] | [INFO] [stdout] 1327 | .map(|x| [x.clone() & !idx.bit(0), x.clone() & idx.bit(0)]) [INFO] [stdout] | ______________^ [INFO] [stdout] 1328 | | .flatten() [INFO] [stdout] | |______________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|x| [x.clone() & !idx.bit(0), x.clone() & idx.bit(0)])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/intexpr/mod.rs:1371:14 [INFO] [stdout] | [INFO] [stdout] 1371 | .map(|x| [x.clone() & !idx.bit(2), x.clone() & idx.bit(2)]) [INFO] [stdout] | ______________^ [INFO] [stdout] 1372 | | .flatten() [INFO] [stdout] | |______________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|x| [x.clone() & !idx.bit(2), x.clone() & idx.bit(2)])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/intexpr/mod.rs:1376:14 [INFO] [stdout] | [INFO] [stdout] 1376 | .map(|x| [x.clone() & !idx.bit(1), x.clone() & idx.bit(1)]) [INFO] [stdout] | ______________^ [INFO] [stdout] 1377 | | .flatten() [INFO] [stdout] | |______________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|x| [x.clone() & !idx.bit(1), x.clone() & idx.bit(1)])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/intexpr/mod.rs:1381:14 [INFO] [stdout] | [INFO] [stdout] 1381 | .map(|x| [x.clone() & !idx.bit(0), x.clone() & idx.bit(0)]) [INFO] [stdout] | ______________^ [INFO] [stdout] 1382 | | .flatten() [INFO] [stdout] | |______________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|x| [x.clone() & !idx.bit(0), x.clone() & idx.bit(0)])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_iter` can be confused for the standard trait method `std::iter::FromIterator::from_iter` [INFO] [stdout] --> src/intvar/mod.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | / pub fn from_iter>>(iter: impl IntoIterator) -> Option { [INFO] [stdout] 143 | | IntExprNode::from_boolexprs(iter.into_iter().map(|x| BoolExprNode::from(x.into()))) [INFO] [stdout] 144 | | .map(|x| Self(x)) [INFO] [stdout] 145 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::iter::FromIterator` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/intvar/mod.rs:228:18 [INFO] [stdout] | [INFO] [stdout] 228 | .map(|x| { [INFO] [stdout] | __________________^ [INFO] [stdout] 229 | | let v = x.iter().collect::>(); [INFO] [stdout] 230 | | v.into_iter() [INFO] [stdout] 231 | | }) [INFO] [stdout] 232 | | .flatten(), [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 228 ~ .flat_map(|x| { [INFO] [stdout] 229 + let v = x.iter().collect::>(); [INFO] [stdout] 230 + v.into_iter() [INFO] [stdout] 231 ~ }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/intvar/mod.rs:507:6 [INFO] [stdout] | [INFO] [stdout] 507 | impl<'a, T, N, const SIGN: bool> BitVal for &'a IntVar [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 507 - impl<'a, T, N, const SIGN: bool> BitVal for &'a IntVar [INFO] [stdout] 507 + impl BitVal for &IntVar [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intvar/mod.rs:1310:20 [INFO] [stdout] | [INFO] [stdout] 1310 | .chain(std::iter::repeat(fill.into()).take((1 << K::USIZE) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into(), (1 << K::USIZE) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intvar/mod.rs:1367:20 [INFO] [stdout] | [INFO] [stdout] 1367 | .chain(std::iter::repeat(fill.into().into()).take((1 << K::USIZE) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into().into(), (1 << K::USIZE) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intvar/mod.rs:1428:20 [INFO] [stdout] | [INFO] [stdout] 1428 | .chain(std::iter::repeat(fill.into()).take((1 << K::USIZE) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into(), (1 << K::USIZE) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/intvar/mod.rs:1486:20 [INFO] [stdout] | [INFO] [stdout] 1486 | .chain(std::iter::repeat(fill.into().into()).take((1 << K::USIZE) - tbl_len)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(fill.into().into(), (1 << K::USIZE) - tbl_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/intexpr/mod.rs:1314:22 [INFO] [stdout] | [INFO] [stdout] 1314 | let stage0 = vec![!idx.bit(3), idx.bit(3)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[!idx.bit(3), idx.bit(3)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/intexpr/mod.rs:1368:22 [INFO] [stdout] | [INFO] [stdout] 1368 | let stage0 = vec![!idx.bit(3), idx.bit(3)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[!idx.bit(3), idx.bit(3)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 49s [INFO] running `Command { std: "docker" "inspect" "27845a87c8f39971af14f06c2bdad60a3093ee2f6f56a596c6140829a03e029d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27845a87c8f39971af14f06c2bdad60a3093ee2f6f56a596c6140829a03e029d", kill_on_drop: false }` [INFO] [stdout] 27845a87c8f39971af14f06c2bdad60a3093ee2f6f56a596c6140829a03e029d