[INFO] fetching crate basicaf 0.1.2... [INFO] linting basicaf-0.1.2 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate basicaf 0.1.2 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate basicaf 0.1.2 [INFO] finished tweaking crates.io crate basicaf 0.1.2 [INFO] tweaked toml for crates.io crate basicaf 0.1.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate basicaf 0.1.2 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 24 packages to latest compatible versions [INFO] [stderr] Adding clap v2.34.0 (available: v4.6.0) [INFO] [stderr] Adding nom v3.2.1 (available: v8.0.0) [INFO] [stderr] Adding regex v0.2.11 (available: v1.12.3) [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] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded memchr v1.0.2 [INFO] [stderr] Downloaded ucd-util v0.1.10 [INFO] [stderr] Downloaded unescape v0.1.0 [INFO] [stderr] Downloaded nom v3.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] e682eb057be970140cc093080ed39e4b7db4ff20b83157daefe7d026d8478c83 [INFO] running `Command { std: "docker" "start" "-a" "e682eb057be970140cc093080ed39e4b7db4ff20b83157daefe7d026d8478c83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e682eb057be970140cc093080ed39e4b7db4ff20b83157daefe7d026d8478c83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e682eb057be970140cc093080ed39e4b7db4ff20b83157daefe7d026d8478c83", kill_on_drop: false }` [INFO] [stdout] e682eb057be970140cc093080ed39e4b7db4ff20b83157daefe7d026d8478c83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 2dc859ecd90b4a596e57060ab624987bc17d36169458ea323a0d404a1f8df33c [INFO] running `Command { std: "docker" "start" "-a" "2dc859ecd90b4a596e57060ab624987bc17d36169458ea323a0d404a1f8df33c", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Checking ucd-util v0.1.10 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking aho-corasick v0.6.10 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking utf8-ranges v1.0.5 [INFO] [stderr] Checking regex-syntax v0.5.6 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking unescape v0.1.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking nom v3.2.1 [INFO] [stderr] Checking basicaf v0.1.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: lint name `explicit_iter_loop` is deprecated and may not have an effect in the future [INFO] [stdout] --> src/main.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | #![allow(explicit_iter_loop,needless_return)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::explicit_iter_loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint name `needless_return` is deprecated and may not have an effect in the future [INFO] [stdout] --> src/main.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | #![allow(explicit_iter_loop,needless_return)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_return` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/codegen/quads.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | #[cfg_attr(feature = "cargo-clippy", allow(cyclomatic_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] = note: `#[warn(clippy::deprecated_clippy_cfg_attr)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint name `explicit_iter_loop` is deprecated and may not have an effect in the future [INFO] [stdout] --> src/main.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | #![allow(explicit_iter_loop,needless_return)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::explicit_iter_loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint name `needless_return` is deprecated and may not have an effect in the future [INFO] [stdout] --> src/main.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | #![allow(explicit_iter_loop,needless_return)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_return` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/codegen/quads.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | #[cfg_attr(feature = "cargo-clippy", allow(cyclomatic_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] = note: `#[warn(clippy::deprecated_clippy_cfg_attr)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/ir/blockgen.rs:376:40 [INFO] [stdout] | [INFO] [stdout] 376 | ... #[cfg_attr(feature = "cargo-clippy", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/ir/blockgen.rs:376:40 [INFO] [stdout] | [INFO] [stdout] 376 | ... #[cfg_attr(feature = "cargo-clippy", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/codegen/quads.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | #[cfg_attr(feature = "cargo-clippy", allow(cyclomatic_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/ir/blockgen.rs:376:40 [INFO] [stdout] | [INFO] [stdout] 376 | ... #[cfg_attr(feature = "cargo-clippy", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | ... dims: dims } ) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `dims` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:145:33 [INFO] [stdout] | [INFO] [stdout] 145 | ... expr: expr} ) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:250:32 [INFO] [stdout] | [INFO] [stdout] 250 | >> (DBStmt::IF{ expr1: expr1, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `expr1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:252:32 [INFO] [stdout] | [INFO] [stdout] 252 | ... expr2: expr2, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `expr2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:266:33 [INFO] [stdout] | [INFO] [stdout] 266 | ... expr: expr }) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ir/block_to_ir.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | blocks: blocks, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ir/block_to_ir.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | const_opt: const_opt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `const_opt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/codegen/quads.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | #[cfg_attr(feature = "cargo-clippy", allow(cyclomatic_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/ir/blockgen.rs:376:40 [INFO] [stdout] | [INFO] [stdout] 376 | ... #[cfg_attr(feature = "cargo-clippy", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | ... dims: dims } ) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `dims` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:145:33 [INFO] [stdout] | [INFO] [stdout] 145 | ... expr: expr} ) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:250:32 [INFO] [stdout] | [INFO] [stdout] 250 | >> (DBStmt::IF{ expr1: expr1, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `expr1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:252:32 [INFO] [stdout] | [INFO] [stdout] 252 | ... expr2: expr2, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `expr2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser/parse.rs:266:33 [INFO] [stdout] | [INFO] [stdout] 266 | ... expr: expr }) [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ir/block_to_ir.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | blocks: blocks, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ir/block_to_ir.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | const_opt: const_opt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `const_opt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/optimizer/mod.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | let optimizers: Vec> = vec![ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | let optimizers: Vec> = vec![ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/optimizer/mod.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | let optimizers: Vec> = vec![ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | let optimizers: Vec> = vec![ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `step_expr` is never read [INFO] [stdout] --> src/parser/structs.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 45 | FOR { varname: String, from_expr: DBExpr, to_expr: DBExpr, [INFO] [stdout] | --- field in this variant [INFO] [stdout] 46 | step_expr: Box> }, // boxing the step for memory layout [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DBStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Term` is never used [INFO] [stdout] --> src/parser/ast.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum Term { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `loop_nodes` is never read [INFO] [stdout] --> src/ir/blockgen.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Block { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub loop_nodes: HashSet, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Block` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `VAR` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | VAR (String), [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Var` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `ARR` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | ARR (DBArrayDef) [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Arr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DEF` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | DEF { funcname: String, varname: String, expr: DBExpr }, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Def` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DIM` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | DIM { arrays: Vec }, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Dim` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `END` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | END, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `End` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FOR` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | FOR { varname: String, from_expr: DBExpr, to_expr: DBExpr, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `For` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NEXT` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | NEXT { varname: String }, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Next` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `GOSUB` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | GOSUB { lineno: u32 }, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Gosub` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RETURN` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | RETURN, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Return` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `GOTO` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | GOTO { lineno: u32}, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Goto` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LET` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | LET { target: DBLetTarget, expr: DBExpr }, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Let` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `PRINT` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | PRINT { seq: Vec }, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Print` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DATA` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | DATA {seq: Vec }, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `READ` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | READ {varnames: Vec}, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Read` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `REM` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | REM [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Rem` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/parser/structs.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | DBStmt::END {..} => "END", [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: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/parser/structs.rs:69:27 [INFO] [stdout] | [INFO] [stdout] 69 | DBStmt::RETURN {..} => "RETURN", [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/parser/structs.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | DBStmt::REM {..} => "REM" [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: redundant closure [INFO] [stdout] --> src/parser/parse.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | complete!(db_array_dim) => { |x| Expr::A(x) } | [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Expr::A` [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/parser/parse.rs:76:36 [INFO] [stdout] | [INFO] [stdout] 76 | complete!(db_name) => { |x| Expr::V(x) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Expr::V` [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: redundant closure [INFO] [stdout] --> src/parser/parse.rs:294:41 [INFO] [stdout] | [INFO] [stdout] 294 | complete!(db_array_dim) => { |x| DBLetTarget::ARR(x) } | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `DBLetTarget::ARR` [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: redundant closure [INFO] [stdout] --> src/parser/parse.rs:295:37 [INFO] [stdout] | [INFO] [stdout] 295 | complete!(db_name) => { |x| DBLetTarget::VAR(x) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `DBLetTarget::VAR` [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: field `step_expr` is never read [INFO] [stdout] --> src/parser/structs.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 45 | FOR { varname: String, from_expr: DBExpr, to_expr: DBExpr, [INFO] [stdout] | --- field in this variant [INFO] [stdout] 46 | step_expr: Box> }, // boxing the step for memory layout [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DBStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Term` is never used [INFO] [stdout] --> src/parser/ast.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum Term { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `loop_nodes` is never read [INFO] [stdout] --> src/ir/blockgen.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Block { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub loop_nodes: HashSet, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Block` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `VAR` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | VAR (String), [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Var` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `ARR` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | ARR (DBArrayDef) [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Arr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DEF` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | DEF { funcname: String, varname: String, expr: DBExpr }, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Def` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DIM` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | DIM { arrays: Vec }, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Dim` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `END` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | END, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `End` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FOR` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | FOR { varname: String, from_expr: DBExpr, to_expr: DBExpr, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `For` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NEXT` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | NEXT { varname: String }, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Next` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `GOSUB` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | GOSUB { lineno: u32 }, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Gosub` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RETURN` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | RETURN, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Return` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `GOTO` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | GOTO { lineno: u32}, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Goto` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LET` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | LET { target: DBLetTarget, expr: DBExpr }, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Let` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `PRINT` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | PRINT { seq: Vec }, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Print` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DATA` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | DATA {seq: Vec }, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `READ` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | READ {varnames: Vec}, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Read` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `REM` contains a capitalized acronym [INFO] [stdout] --> src/parser/structs.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | REM [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Rem` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/parser/structs.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | DBStmt::END {..} => "END", [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: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/parser/structs.rs:69:27 [INFO] [stdout] | [INFO] [stdout] 69 | DBStmt::RETURN {..} => "RETURN", [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/parser/structs.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | DBStmt::REM {..} => "REM" [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: redundant closure [INFO] [stdout] --> src/parser/parse.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | complete!(db_array_dim) => { |x| Expr::A(x) } | [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Expr::A` [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/parser/parse.rs:76:36 [INFO] [stdout] | [INFO] [stdout] 76 | complete!(db_name) => { |x| Expr::V(x) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Expr::V` [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: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/ir/allocator.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | let el = *self.free_set.iter().take(1).last().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 56 - let el = *self.free_set.iter().take(1).last().unwrap(); [INFO] [stdout] 56 + let el = *self.free_set.iter().take(1).next_back().unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/ir/blockgen.rs:162:27 [INFO] [stdout] | [INFO] [stdout] 162 | .expect( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 163 | | format!("Not enough DATA for READ on line {}", [INFO] [stdout] 164 | | ln).as_str())); [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 162 ~ .unwrap_or_else(|| panic!("Not enough DATA for READ on line {}", [INFO] [stdout] 163 ~ ln))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `blocks` [INFO] [stdout] --> src/ir/blockgen.rs:378:38 [INFO] [stdout] | [INFO] [stdout] 378 | ... for i in out_block..j+1 { [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] 378 - for i in out_block..j+1 { [INFO] [stdout] 378 + for in blocks.iter().take(j+1).skip(out_block) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/ir/block_to_ir.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | for &(ref dims, ref pos) in self.array_t.values() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 94 - for &(ref dims, ref pos) in self.array_t.values() { [INFO] [stdout] 94 + for (dims, pos) in self.array_t.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ir/block_to_ir.rs:448:45 [INFO] [stdout] | [INFO] [stdout] 448 | ... assert!(!index1.is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `index1.is_none()` [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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ir/block_to_ir.rs:463:45 [INFO] [stdout] | [INFO] [stdout] 463 | ... assert!(!index0.is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `index0.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/ir/block_to_ir.rs:365:53 [INFO] [stdout] | [INFO] [stdout] 365 | ... .position(|&e| e == return_loc as usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `return_loc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/ir/block_to_ir.rs:644:51 [INFO] [stdout] | [INFO] [stdout] 644 | let (e1l, e1c) = self.ir_for_expr(&*e1); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 644 - let (e1l, e1c) = self.ir_for_expr(&*e1); [INFO] [stdout] 644 + let (e1l, e1c) = self.ir_for_expr(e1); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 644 | let (e1l, e1c) = self.ir_for_expr(&**e1); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/ir/block_to_ir.rs:645:51 [INFO] [stdout] | [INFO] [stdout] 645 | let (e2l, e2c) = self.ir_for_expr(&*e2); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 645 - let (e2l, e2c) = self.ir_for_expr(&*e2); [INFO] [stdout] 645 + let (e2l, e2c) = self.ir_for_expr(e2); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 645 | let (e2l, e2c) = self.ir_for_expr(&**e2); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/ir/block_to_ir.rs:791:25 [INFO] [stdout] | [INFO] [stdout] 791 | .expect(format!("Variable {} is not defined!", varname).as_str())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Variable {} is not defined!", varname))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/ir/block_to_ir.rs:879:9 [INFO] [stdout] | [INFO] [stdout] 879 | let ir = ir_gen.generate_ir(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding and replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 879 ~ ir_gen.generate_ir(); [INFO] [stdout] 880 ~ println!("{:?}", ()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/ir/goto_elim.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let v = stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 45 ~ while let Some(v) = stack.pop() { [INFO] [stdout] 46 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/ir/goto_elim.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | for blk_idx in stmts[v as usize].out_blocks.iter() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/ir/goto_elim.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let v = stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 84 ~ while let Some(v) = stack.pop() { [INFO] [stdout] 85 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/ir/goto_elim.rs:91:34 [INFO] [stdout] | [INFO] [stdout] 91 | for blk_idx in stmts[v as usize].out_blocks.iter() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/ir/goto_elim.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | let v = stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 181 ~ while let Some(v) = stack.pop() { [INFO] [stdout] 182 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | write!(&mut w, "digraph G {{\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 53 - write!(&mut w, "digraph G {{\n").unwrap(); [INFO] [stdout] 53 + writeln!(&mut w, "digraph G {{").unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | / write!(&mut w, "{} [label=\"{}: {} - {} ({})\"];\n", [INFO] [stdout] 72 | | idx, idx, lno_first, lno_last, [INFO] [stdout] 73 | | cmd_last.get_string_type()).unwrap(); [INFO] [stdout] | |______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 71 - write!(&mut w, "{} [label=\"{}: {} - {} ({})\"];\n", [INFO] [stdout] 71 + writeln!(&mut w, "{} [label=\"{}: {} - {} ({})\"];", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | / write!(&mut w, "{} [label=\"Loop\"];\n", [INFO] [stdout] 77 | | idx).unwrap(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 76 - write!(&mut w, "{} [label=\"Loop\"];\n", [INFO] [stdout] 76 + writeln!(&mut w, "{} [label=\"Loop\"];", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/parser/parse.rs:294:41 [INFO] [stdout] | [INFO] [stdout] 294 | complete!(db_array_dim) => { |x| DBLetTarget::ARR(x) } | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `DBLetTarget::ARR` [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: redundant closure [INFO] [stdout] --> src/parser/parse.rs:295:37 [INFO] [stdout] | [INFO] [stdout] 295 | complete!(db_name) => { |x| DBLetTarget::VAR(x) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `DBLetTarget::VAR` [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: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | write!(&mut w, "{} -> {};\n", idx, out_blk).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 85 - write!(&mut w, "{} -> {};\n", idx, out_blk).unwrap(); [INFO] [stdout] 85 + writeln!(&mut w, "{} -> {};", idx, out_blk).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | / write!(&mut w, "{} -> {} [style=dotted];\n", [INFO] [stdout] 93 | | idx, pos).unwrap(); [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 92 - write!(&mut w, "{} -> {} [style=dotted];\n", [INFO] [stdout] 92 + writeln!(&mut w, "{} -> {} [style=dotted];", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | write!(&mut w, "{} -> {};\n", idx, out_blk).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 100 - write!(&mut w, "{} -> {};\n", idx, out_blk).unwrap(); [INFO] [stdout] 100 + writeln!(&mut w, "{} -> {};", idx, out_blk).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | write!(&mut w, "}}\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 105 - write!(&mut w, "}}\n").unwrap(); [INFO] [stdout] 105 + writeln!(&mut w, "}}").unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/optimizer/big_nums.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | while num % sqrt != 0 && sqrt <= num { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `!num.is_multiple_of(sqrt)` [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: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/ir/allocator.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | let el = *self.free_set.iter().take(1).last().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 56 - let el = *self.free_set.iter().take(1).last().unwrap(); [INFO] [stdout] 56 + let el = *self.free_set.iter().take(1).next_back().unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/ir/blockgen.rs:162:27 [INFO] [stdout] | [INFO] [stdout] 162 | .expect( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 163 | | format!("Not enough DATA for READ on line {}", [INFO] [stdout] 164 | | ln).as_str())); [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 162 ~ .unwrap_or_else(|| panic!("Not enough DATA for READ on line {}", [INFO] [stdout] 163 ~ ln))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `blocks` [INFO] [stdout] --> src/ir/blockgen.rs:378:38 [INFO] [stdout] | [INFO] [stdout] 378 | ... for i in out_block..j+1 { [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] 378 - for i in out_block..j+1 { [INFO] [stdout] 378 + for in blocks.iter().take(j+1).skip(out_block) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/ir/block_to_ir.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | for &(ref dims, ref pos) in self.array_t.values() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 94 - for &(ref dims, ref pos) in self.array_t.values() { [INFO] [stdout] 94 + for (dims, pos) in self.array_t.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ir/block_to_ir.rs:448:45 [INFO] [stdout] | [INFO] [stdout] 448 | ... assert!(!index1.is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `index1.is_none()` [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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ir/block_to_ir.rs:463:45 [INFO] [stdout] | [INFO] [stdout] 463 | ... assert!(!index0.is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `index0.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/ir/block_to_ir.rs:365:53 [INFO] [stdout] | [INFO] [stdout] 365 | ... .position(|&e| e == return_loc as usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `return_loc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/ir/block_to_ir.rs:644:51 [INFO] [stdout] | [INFO] [stdout] 644 | let (e1l, e1c) = self.ir_for_expr(&*e1); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 644 - let (e1l, e1c) = self.ir_for_expr(&*e1); [INFO] [stdout] 644 + let (e1l, e1c) = self.ir_for_expr(e1); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 644 | let (e1l, e1c) = self.ir_for_expr(&**e1); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/ir/block_to_ir.rs:645:51 [INFO] [stdout] | [INFO] [stdout] 645 | let (e2l, e2c) = self.ir_for_expr(&*e2); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 645 - let (e2l, e2c) = self.ir_for_expr(&*e2); [INFO] [stdout] 645 + let (e2l, e2c) = self.ir_for_expr(e2); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 645 | let (e2l, e2c) = self.ir_for_expr(&**e2); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/ir/block_to_ir.rs:791:25 [INFO] [stdout] | [INFO] [stdout] 791 | .expect(format!("Variable {} is not defined!", varname).as_str())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Variable {} is not defined!", varname))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/ir/goto_elim.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let v = stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 45 ~ while let Some(v) = stack.pop() { [INFO] [stdout] 46 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/ir/goto_elim.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | for blk_idx in stmts[v as usize].out_blocks.iter() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/ir/goto_elim.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let v = stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 84 ~ while let Some(v) = stack.pop() { [INFO] [stdout] 85 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/ir/goto_elim.rs:91:34 [INFO] [stdout] | [INFO] [stdout] 91 | for blk_idx in stmts[v as usize].out_blocks.iter() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/ir/goto_elim.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | let v = stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 181 ~ while let Some(v) = stack.pop() { [INFO] [stdout] 182 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | write!(&mut w, "digraph G {{\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 53 - write!(&mut w, "digraph G {{\n").unwrap(); [INFO] [stdout] 53 + writeln!(&mut w, "digraph G {{").unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | / write!(&mut w, "{} [label=\"{}: {} - {} ({})\"];\n", [INFO] [stdout] 72 | | idx, idx, lno_first, lno_last, [INFO] [stdout] 73 | | cmd_last.get_string_type()).unwrap(); [INFO] [stdout] | |______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 71 - write!(&mut w, "{} [label=\"{}: {} - {} ({})\"];\n", [INFO] [stdout] 71 + writeln!(&mut w, "{} [label=\"{}: {} - {} ({})\"];", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | / write!(&mut w, "{} [label=\"Loop\"];\n", [INFO] [stdout] 77 | | idx).unwrap(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 76 - write!(&mut w, "{} [label=\"Loop\"];\n", [INFO] [stdout] 76 + writeln!(&mut w, "{} [label=\"Loop\"];", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | write!(&mut w, "{} -> {};\n", idx, out_blk).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 85 - write!(&mut w, "{} -> {};\n", idx, out_blk).unwrap(); [INFO] [stdout] 85 + writeln!(&mut w, "{} -> {};", idx, out_blk).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | / write!(&mut w, "{} -> {} [style=dotted];\n", [INFO] [stdout] 93 | | idx, pos).unwrap(); [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 92 - write!(&mut w, "{} -> {} [style=dotted];\n", [INFO] [stdout] 92 + writeln!(&mut w, "{} -> {} [style=dotted];", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | write!(&mut w, "{} -> {};\n", idx, out_blk).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 100 - write!(&mut w, "{} -> {};\n", idx, out_blk).unwrap(); [INFO] [stdout] 100 + writeln!(&mut w, "{} -> {};", idx, out_blk).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/ir/mod.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | write!(&mut w, "}}\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 105 - write!(&mut w, "}}\n").unwrap(); [INFO] [stdout] 105 + writeln!(&mut w, "}}").unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/optimizer/big_nums.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | while num % sqrt != 0 && sqrt <= num { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `!num.is_multiple_of(sqrt)` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.87s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "2dc859ecd90b4a596e57060ab624987bc17d36169458ea323a0d404a1f8df33c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2dc859ecd90b4a596e57060ab624987bc17d36169458ea323a0d404a1f8df33c", kill_on_drop: false }` [INFO] [stdout] 2dc859ecd90b4a596e57060ab624987bc17d36169458ea323a0d404a1f8df33c