[INFO] fetching crate spade-mir 0.16.0... [INFO] linting spade-mir-0.16.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate spade-mir 0.16.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate spade-mir 0.16.0 [INFO] finished tweaking crates.io crate spade-mir 0.16.0 [INFO] tweaked toml for crates.io crate spade-mir 0.16.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate spade-mir 0.16.0 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 spade-mir 0.16.0 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 spade-codespan-reporting v0.12.0 [INFO] [stderr] Downloaded nesty v0.2.0 [INFO] [stderr] Downloaded logos-codegen v0.16.0 [INFO] [stderr] Downloaded logos-derive v0.16.0 [INFO] [stderr] Downloaded spade-codespan v0.12.0 [INFO] [stderr] Downloaded logos v0.16.0 [INFO] [stderr] Downloaded spade-diagnostics v0.16.0 [INFO] [stderr] Downloaded spade-common v0.16.0 [INFO] [stderr] Downloaded prettydiff v0.9.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 9a3aebcf45ab6e39652e24d56cf3476429ca6765e46fce1d561c42428b42c246 [INFO] running `Command { std: "docker" "start" "-a" "9a3aebcf45ab6e39652e24d56cf3476429ca6765e46fce1d561c42428b42c246", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9a3aebcf45ab6e39652e24d56cf3476429ca6765e46fce1d561c42428b42c246", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a3aebcf45ab6e39652e24d56cf3476429ca6765e46fce1d561c42428b42c246", kill_on_drop: false }` [INFO] [stdout] 9a3aebcf45ab6e39652e24d56cf3476429ca6765e46fce1d561c42428b42c246 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 1703ce942b584095e7c1b891ae8ba2d471c6878a12cea9b20ddc86edc91040b6 [INFO] running `Command { std: "docker" "start" "-a" "1703ce942b584095e7c1b891ae8ba2d471c6878a12cea9b20ddc86edc91040b6", kill_on_drop: false }` [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling heapless v0.7.17 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Checking hash32 v0.2.1 [INFO] [stderr] Compiling owo-colors v4.2.3 [INFO] [stderr] Checking nesty v0.2.0 [INFO] [stderr] Checking prettydiff v0.9.0 [INFO] [stderr] Compiling logos-codegen v0.16.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling derive-where v1.6.0 [INFO] [stderr] Compiling logos-derive v0.16.0 [INFO] [stderr] Checking logos v0.16.0 [INFO] [stderr] Checking cobs v0.3.0 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking spade-codespan-reporting v0.12.0 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking spade-codespan v0.12.0 [INFO] [stderr] Checking postcard v1.1.3 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking spade-common v0.16.0 [INFO] [stderr] Checking spade-diagnostics v0.16.0 [INFO] [stderr] Checking spade-mir v0.16.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/diff.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / /// Functions for diffing and comparing mir code while ignoring exact variable IDs [INFO] [stdout] 15 | | [INFO] [stdout] | |_^ [INFO] [stdout] 16 | pub struct VarMap { [INFO] [stdout] | ----------------- the comment documents this struct [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/macros.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / /// Requires the crate to be in scope, i.e. `use spade_mir;` [INFO] [stdout] 3 | | [INFO] [stdout] | |_^ [INFO] [stdout] 4 | #[macro_export] [INFO] [stdout] 5 | macro_rules! value_name { [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] help: if the comment should document the parent module use an inner doc comment [INFO] [stdout] | [INFO] [stdout] 1 ~ //! Macros for writing mir. [INFO] [stdout] 2 ~ //! Requires the crate to be in scope, i.e. `use spade_mir;` [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/diff.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / /// Functions for diffing and comparing mir code while ignoring exact variable IDs [INFO] [stdout] 15 | | [INFO] [stdout] | |_^ [INFO] [stdout] 16 | pub struct VarMap { [INFO] [stdout] | ----------------- the comment documents this struct [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: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/eval.rs:627:9 [INFO] [stdout] | [INFO] [stdout] 627 | 0b1111_1111_1000_0000_0000_0011_1u64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1_1111_1111_0000_0000_0000_0111_u64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/macros.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / /// Requires the crate to be in scope, i.e. `use spade_mir;` [INFO] [stdout] 3 | | [INFO] [stdout] | |_^ [INFO] [stdout] 4 | #[macro_export] [INFO] [stdout] 5 | macro_rules! value_name { [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] help: if the comment should document the parent module use an inner doc comment [INFO] [stdout] | [INFO] [stdout] 1 ~ //! Macros for writing mir. [INFO] [stdout] 2 ~ //! Requires the crate to be in scope, i.e. `use spade_mir;` [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/aliasing.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | / !(binding.operator == Operator::Alias && aliases.contains_key(&binding.operands[0])) [INFO] [stdout] 71 | | && !(binding.operator == Operator::Alias && aliases.contains_key(&binding.name)) [INFO] [stdout] | |________________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 70 - !(binding.operator == Operator::Alias && aliases.contains_key(&binding.operands[0])) [INFO] [stdout] 71 - && !(binding.operator == Operator::Alias && aliases.contains_key(&binding.name)) [INFO] [stdout] 70 + !(binding.operator == Operator::Alias && aliases.contains_key(&binding.operands[0]) || binding.operator == Operator::Alias && aliases.contains_key(&binding.name)) [INFO] [stdout] | [INFO] [stdout] 70 - !(binding.operator == Operator::Alias && aliases.contains_key(&binding.operands[0])) [INFO] [stdout] 71 - && !(binding.operator == Operator::Alias && aliases.contains_key(&binding.name)) [INFO] [stdout] 70 + binding.operator != Operator::Alias || !aliases.contains_key(&binding.operands[0]) && !aliases.contains_key(&binding.name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/codegen/mod.rs:404:33 [INFO] [stdout] | [INFO] [stdout] 404 | Operator::ConstructArray { .. } => { [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] = note: `#[warn(clippy::unneeded_struct_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/codegen/mod.rs:433:17 [INFO] [stdout] | [INFO] [stdout] 433 | format!("{}", op_names[0]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `op_names[0].to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/codegen/mod.rs:948:77 [INFO] [stdout] | [INFO] [stdout] 948 | ... if param_string.is_empty() { "".into() } else { format!("{}", param_string)}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `param_string.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/codegen/mod.rs:1361:19 [INFO] [stdout] | [INFO] [stdout] 1361 | body.join(&statement_declaration(stmt, source_code, &mut name_map)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `statement_declaration(stmt, source_code, &mut name_map)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/codegen/mod.rs:1364:19 [INFO] [stdout] | [INFO] [stdout] 1364 | body.join(&statement_code(stmt, &mut ctx)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `statement_code(stmt, &mut ctx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/diff_printing.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | format!("Error") [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Error".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/passes/auto_clock_gating.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | variants: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 12 - variants: &Vec>, [INFO] [stdout] 12 + variants: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/passes/auto_clock_gating.rs:54:43 [INFO] [stdout] | [INFO] [stdout] 54 | if variants.len() == 2 && variants[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `variants[0].is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:38:29 [INFO] [stdout] | [INFO] [stdout] 38 | Operator::IndexArray { .. } [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:89:31 [INFO] [stdout] | [INFO] [stdout] 89 | | Operator::SignExtend { .. } [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:90:31 [INFO] [stdout] | [INFO] [stdout] 90 | | Operator::ZeroExtend { .. } [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:143:10 [INFO] [stdout] | [INFO] [stdout] 143 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:176:44 [INFO] [stdout] | [INFO] [stdout] 176 | target: target.map(|t| get_replacement(t)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `&get_replacement` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:177:42 [INFO] [stdout] | [INFO] [stdout] 177 | value: value.map(|v| get_replacement(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `&get_replacement` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/passes/split_compound_regs.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 33 | members: &Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 33 - members: &Vec, [INFO] [stdout] 33 + members: &[Type], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/renaming.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 196 | / reset.as_mut().map(|(trig, val)| { [INFO] [stdout] 197 | | *trig = state.get(trig); [INFO] [stdout] 198 | | *val = state.get(val); [INFO] [stdout] 199 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 196 - reset.as_mut().map(|(trig, val)| { [INFO] [stdout] 197 - *trig = state.get(trig); [INFO] [stdout] 198 - *val = state.get(val); [INFO] [stdout] 199 - }); [INFO] [stdout] 196 + if let Some((trig, val)) = reset.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/renaming.rs:201:21 [INFO] [stdout] | [INFO] [stdout] 201 | traced.as_mut().map(|traced| *traced = state.get(traced)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 201 - traced.as_mut().map(|traced| *traced = state.get(traced)); [INFO] [stdout] 201 + if let Some(traced) = traced.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/types.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | / match self { [INFO] [stdout] 106 | | Type::Tuple(unit) if unit.is_empty() => false, [INFO] [stdout] 107 | | _ => true, [INFO] [stdout] 108 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 105 - match self { [INFO] [stdout] 106 - Type::Tuple(unit) if unit.is_empty() => false, [INFO] [stdout] 107 - _ => true, [INFO] [stdout] 108 - } [INFO] [stdout] 105 + !matches!(self, Type::Tuple(unit) if unit.is_empty()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/verilator_wrapper.rs:228:24 [INFO] [stdout] | [INFO] [stdout] 228 | [0] if size_u64 % 32 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `!size_u64.is_multiple_of(32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/aliasing.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | / !(binding.operator == Operator::Alias && aliases.contains_key(&binding.operands[0])) [INFO] [stdout] 71 | | && !(binding.operator == Operator::Alias && aliases.contains_key(&binding.name)) [INFO] [stdout] | |________________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 70 - !(binding.operator == Operator::Alias && aliases.contains_key(&binding.operands[0])) [INFO] [stdout] 71 - && !(binding.operator == Operator::Alias && aliases.contains_key(&binding.name)) [INFO] [stdout] 70 + !(binding.operator == Operator::Alias && aliases.contains_key(&binding.operands[0]) || binding.operator == Operator::Alias && aliases.contains_key(&binding.name)) [INFO] [stdout] | [INFO] [stdout] 70 - !(binding.operator == Operator::Alias && aliases.contains_key(&binding.operands[0])) [INFO] [stdout] 71 - && !(binding.operator == Operator::Alias && aliases.contains_key(&binding.name)) [INFO] [stdout] 70 + binding.operator != Operator::Alias || !aliases.contains_key(&binding.operands[0]) && !aliases.contains_key(&binding.name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/codegen/mod.rs:404:33 [INFO] [stdout] | [INFO] [stdout] 404 | Operator::ConstructArray { .. } => { [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] = note: `#[warn(clippy::unneeded_struct_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/codegen/mod.rs:433:17 [INFO] [stdout] | [INFO] [stdout] 433 | format!("{}", op_names[0]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `op_names[0].to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/codegen/mod.rs:948:77 [INFO] [stdout] | [INFO] [stdout] 948 | ... if param_string.is_empty() { "".into() } else { format!("{}", param_string)}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `param_string.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/codegen/mod.rs:1361:19 [INFO] [stdout] | [INFO] [stdout] 1361 | body.join(&statement_declaration(stmt, source_code, &mut name_map)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `statement_declaration(stmt, source_code, &mut name_map)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/codegen/mod.rs:1364:19 [INFO] [stdout] | [INFO] [stdout] 1364 | body.join(&statement_code(stmt, &mut ctx)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `statement_code(stmt, &mut ctx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1594:49 [INFO] [stdout] | [INFO] [stdout] 1594 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1594 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 1594 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1646:49 [INFO] [stdout] | [INFO] [stdout] 1646 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1646 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 1646 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1695:49 [INFO] [stdout] | [INFO] [stdout] 1695 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1695 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 1695 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1746:49 [INFO] [stdout] | [INFO] [stdout] 1746 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1746 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 1746 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1789:49 [INFO] [stdout] | [INFO] [stdout] 1789 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1789 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 1789 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1834:49 [INFO] [stdout] | [INFO] [stdout] 1834 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1834 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 1834 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1874:49 [INFO] [stdout] | [INFO] [stdout] 1874 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1874 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 1874 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1953:49 [INFO] [stdout] | [INFO] [stdout] 1953 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1953 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 1953 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:1997:58 [INFO] [stdout] | [INFO] [stdout] 1997 | &entity_code(&prepare_codegen(input.clone(), &mut ExprIdTracker::new()), &mut InstanceMap::new(), &None).0.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1997 - &entity_code(&prepare_codegen(input.clone(), &mut ExprIdTracker::new()), &mut InstanceMap::new(), &None).0.to_string(), [INFO] [stdout] 1997 + &entity_code(&prepare_codegen(input.clone(), &ExprIdTracker::new()), &mut InstanceMap::new(), &None).0.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:2051:37 [INFO] [stdout] | [INFO] [stdout] 2051 | &prepare_codegen(input, &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 2051 - &prepare_codegen(input, &mut ExprIdTracker::new()), [INFO] [stdout] 2051 + &prepare_codegen(input, &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `prepare_codegen` doesn't need a mutable reference [INFO] [stdout] --> src/codegen/mod.rs:3543:49 [INFO] [stdout] | [INFO] [stdout] 3543 | &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 3543 - &prepare_codegen(input.clone(), &mut ExprIdTracker::new()), [INFO] [stdout] 3543 + &prepare_codegen(input.clone(), &ExprIdTracker::new()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/diff_printing.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | format!("Error") [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Error".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/passes/auto_clock_gating.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | variants: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 12 - variants: &Vec>, [INFO] [stdout] 12 + variants: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/passes/auto_clock_gating.rs:54:43 [INFO] [stdout] | [INFO] [stdout] 54 | if variants.len() == 2 && variants[0].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `variants[0].is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:38:29 [INFO] [stdout] | [INFO] [stdout] 38 | Operator::IndexArray { .. } [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:89:31 [INFO] [stdout] | [INFO] [stdout] 89 | | Operator::SignExtend { .. } [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:90:31 [INFO] [stdout] | [INFO] [stdout] 90 | | Operator::ZeroExtend { .. } [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:143:10 [INFO] [stdout] | [INFO] [stdout] 143 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:176:44 [INFO] [stdout] | [INFO] [stdout] 176 | target: target.map(|t| get_replacement(t)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `&get_replacement` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:177:42 [INFO] [stdout] | [INFO] [stdout] 177 | value: value.map(|v| get_replacement(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `&get_replacement` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `transform_statements` doesn't need a mutable reference [INFO] [stdout] --> src/passes/deduplicate_mut_wires.rs:277:54 [INFO] [stdout] | [INFO] [stdout] 277 | .transform_statements(&input.statements, &mut ExprIdTracker::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 277 - .transform_statements(&input.statements, &mut ExprIdTracker::new()); [INFO] [stdout] 277 + .transform_statements(&input.statements, &ExprIdTracker::new()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/passes/split_compound_regs.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 33 | members: &Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 33 - members: &Vec, [INFO] [stdout] 33 + members: &[Type], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `transform_statements` doesn't need a mutable reference [INFO] [stdout] --> src/passes/split_compound_regs.rs:146:59 [INFO] [stdout] | [INFO] [stdout] 146 | pass.transform_statements(&before.statements, &mut ExprIdTracker::new_at(100)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 146 - pass.transform_statements(&before.statements, &mut ExprIdTracker::new_at(100)); [INFO] [stdout] 146 + pass.transform_statements(&before.statements, &ExprIdTracker::new_at(100)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `transform_statements` doesn't need a mutable reference [INFO] [stdout] --> src/passes/split_compound_regs.rs:174:59 [INFO] [stdout] | [INFO] [stdout] 174 | pass.transform_statements(&before.statements, &mut ExprIdTracker::new_at(100)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 174 - pass.transform_statements(&before.statements, &mut ExprIdTracker::new_at(100)); [INFO] [stdout] 174 + pass.transform_statements(&before.statements, &ExprIdTracker::new_at(100)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `transform_statements` doesn't need a mutable reference [INFO] [stdout] --> src/passes/split_compound_regs.rs:202:59 [INFO] [stdout] | [INFO] [stdout] 202 | pass.transform_statements(&before.statements, &mut ExprIdTracker::new_at(100)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 202 - pass.transform_statements(&before.statements, &mut ExprIdTracker::new_at(100)); [INFO] [stdout] 202 + pass.transform_statements(&before.statements, &ExprIdTracker::new_at(100)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/renaming.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 196 | / reset.as_mut().map(|(trig, val)| { [INFO] [stdout] 197 | | *trig = state.get(trig); [INFO] [stdout] 198 | | *val = state.get(val); [INFO] [stdout] 199 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 196 - reset.as_mut().map(|(trig, val)| { [INFO] [stdout] 197 - *trig = state.get(trig); [INFO] [stdout] 198 - *val = state.get(val); [INFO] [stdout] 199 - }); [INFO] [stdout] 196 + if let Some((trig, val)) = reset.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/renaming.rs:201:21 [INFO] [stdout] | [INFO] [stdout] 201 | traced.as_mut().map(|traced| *traced = state.get(traced)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 201 - traced.as_mut().map(|traced| *traced = state.get(traced)); [INFO] [stdout] 201 + if let Some(traced) = traced.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/types.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | / match self { [INFO] [stdout] 106 | | Type::Tuple(unit) if unit.is_empty() => false, [INFO] [stdout] 107 | | _ => true, [INFO] [stdout] 108 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 105 - match self { [INFO] [stdout] 106 - Type::Tuple(unit) if unit.is_empty() => false, [INFO] [stdout] 107 - _ => true, [INFO] [stdout] 108 - } [INFO] [stdout] 105 + !matches!(self, Type::Tuple(unit) if unit.is_empty()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/verilator_wrapper.rs:228:24 [INFO] [stdout] | [INFO] [stdout] 228 | [0] if size_u64 % 32 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `!size_u64.is_multiple_of(32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `insert_wal_signals` doesn't need a mutable reference [INFO] [stdout] --> src/wal.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | &mut ExprIdTracker::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 146 - &mut ExprIdTracker::new(), [INFO] [stdout] 146 + &ExprIdTracker::new(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `insert_wal_signals` doesn't need a mutable reference [INFO] [stdout] --> src/wal.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | &mut ExprIdTracker::new_at(10), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 179 - &mut ExprIdTracker::new_at(10), [INFO] [stdout] 179 + &ExprIdTracker::new_at(10), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `insert_wal_signals` doesn't need a mutable reference [INFO] [stdout] --> src/wal.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | &mut ExprIdTracker::new_at(10), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 216 - &mut ExprIdTracker::new_at(10), [INFO] [stdout] 216 + &ExprIdTracker::new_at(10), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:315:26 [INFO] [stdout] | [INFO] [stdout] 315 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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/diff.rs:315:46 [INFO] [stdout] | [INFO] [stdout] 315 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:331:26 [INFO] [stdout] | [INFO] [stdout] 331 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:331:46 [INFO] [stdout] | [INFO] [stdout] 331 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:347:34 [INFO] [stdout] | [INFO] [stdout] 347 | assert!(populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:347:54 [INFO] [stdout] | [INFO] [stdout] 347 | assert!(populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:360:26 [INFO] [stdout] | [INFO] [stdout] 360 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:360:46 [INFO] [stdout] | [INFO] [stdout] 360 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:375:26 [INFO] [stdout] | [INFO] [stdout] 375 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:375:46 [INFO] [stdout] | [INFO] [stdout] 375 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:390:26 [INFO] [stdout] | [INFO] [stdout] 390 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:390:46 [INFO] [stdout] | [INFO] [stdout] 390 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:405:26 [INFO] [stdout] | [INFO] [stdout] 405 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:405:46 [INFO] [stdout] | [INFO] [stdout] 405 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:423:26 [INFO] [stdout] | [INFO] [stdout] 423 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:423:46 [INFO] [stdout] | [INFO] [stdout] 423 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:440:26 [INFO] [stdout] | [INFO] [stdout] 440 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:440:46 [INFO] [stdout] | [INFO] [stdout] 440 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:459:26 [INFO] [stdout] | [INFO] [stdout] 459 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:459:46 [INFO] [stdout] | [INFO] [stdout] 459 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:478:26 [INFO] [stdout] | [INFO] [stdout] 478 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:478:46 [INFO] [stdout] | [INFO] [stdout] 478 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:495:26 [INFO] [stdout] | [INFO] [stdout] 495 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:495:46 [INFO] [stdout] | [INFO] [stdout] 495 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:512:26 [INFO] [stdout] | [INFO] [stdout] 512 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:512:46 [INFO] [stdout] | [INFO] [stdout] 512 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:529:26 [INFO] [stdout] | [INFO] [stdout] 529 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:529:46 [INFO] [stdout] | [INFO] [stdout] 529 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:546:26 [INFO] [stdout] | [INFO] [stdout] 546 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:546:46 [INFO] [stdout] | [INFO] [stdout] 546 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:563:26 [INFO] [stdout] | [INFO] [stdout] 563 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:563:46 [INFO] [stdout] | [INFO] [stdout] 563 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:580:26 [INFO] [stdout] | [INFO] [stdout] 580 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:580:46 [INFO] [stdout] | [INFO] [stdout] 580 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:597:26 [INFO] [stdout] | [INFO] [stdout] 597 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:597:46 [INFO] [stdout] | [INFO] [stdout] 597 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:611:26 [INFO] [stdout] | [INFO] [stdout] 611 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:611:46 [INFO] [stdout] | [INFO] [stdout] 611 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:623:26 [INFO] [stdout] | [INFO] [stdout] 623 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:623:46 [INFO] [stdout] | [INFO] [stdout] 623 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:637:26 [INFO] [stdout] | [INFO] [stdout] 637 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:637:46 [INFO] [stdout] | [INFO] [stdout] 637 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:649:26 [INFO] [stdout] | [INFO] [stdout] 649 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:649:46 [INFO] [stdout] | [INFO] [stdout] 649 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:661:26 [INFO] [stdout] | [INFO] [stdout] 661 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[lhs.clone()]` [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] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/diff.rs:661:46 [INFO] [stdout] | [INFO] [stdout] 661 | populate_var_map(&vec![lhs.clone()], &vec![rhs.clone()], &mut map).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[rhs.clone()]` [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 25.82s [INFO] running `Command { std: "docker" "inspect" "1703ce942b584095e7c1b891ae8ba2d471c6878a12cea9b20ddc86edc91040b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1703ce942b584095e7c1b891ae8ba2d471c6878a12cea9b20ddc86edc91040b6", kill_on_drop: false }` [INFO] [stdout] 1703ce942b584095e7c1b891ae8ba2d471c6878a12cea9b20ddc86edc91040b6