[INFO] cloning repository https://github.com/tom-lubenow/nu_plugin_ebpf [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tom-lubenow/nu_plugin_ebpf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftom-lubenow%2Fnu_plugin_ebpf", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftom-lubenow%2Fnu_plugin_ebpf'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d9d7ad481cb90a553a0e8b4765695f102eb56e26 [INFO] linting tom-lubenow/nu_plugin_ebpf against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftom-lubenow%2Fnu_plugin_ebpf" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tom-lubenow/nu_plugin_ebpf [INFO] finished tweaking git repo https://github.com/tom-lubenow/nu_plugin_ebpf [INFO] tweaked toml for git repo https://github.com/tom-lubenow/nu_plugin_ebpf written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tom-lubenow/nu_plugin_ebpf 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 git repo https://github.com/tom-lubenow/nu_plugin_ebpf 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 zmij v1.0.16 [INFO] [stderr] Downloaded strip-ansi-escapes v0.2.1 [INFO] [stderr] Downloaded os_pipe v1.2.3 [INFO] [stderr] Downloaded lean_string v0.5.1 [INFO] [stderr] Downloaded lscolors v0.20.0 [INFO] [stderr] Downloaded ref-cast-impl v1.0.25 [INFO] [stderr] Downloaded nu-derive-value v0.110.0 [INFO] [stderr] Downloaded buf-trait v0.4.1 [INFO] [stderr] Downloaded ref-cast v1.0.25 [INFO] [stderr] Downloaded core-error v0.0.0 [INFO] [stderr] Downloaded vte v0.14.1 [INFO] [stderr] Downloaded btf v0.5.1 [INFO] [stderr] Downloaded nu-plugin-protocol v0.110.0 [INFO] [stderr] Downloaded is_debug v1.1.0 [INFO] [stderr] Downloaded byteyarn v0.5.1 [INFO] [stderr] Downloaded nu-cmd-base v0.110.0 [INFO] [stderr] Downloaded nu-plugin v0.110.0 [INFO] [stderr] Downloaded const_format v0.2.35 [INFO] [stderr] Downloaded nu-engine v0.110.0 [INFO] [stderr] Downloaded flate2 v1.1.8 [INFO] [stderr] Downloaded procfs-core v0.18.0 [INFO] [stderr] Downloaded ntapi v0.4.2 [INFO] [stderr] Downloaded aya-obj v0.2.1 [INFO] [stderr] Downloaded pure-rust-locales v0.8.2 [INFO] [stderr] Downloaded aya v0.13.1 [INFO] [stderr] Downloaded time v0.3.46 [INFO] [stderr] Downloaded nu-parser v0.110.0 [INFO] [stderr] Downloaded fancy-regex v0.17.0 [INFO] [stderr] Downloaded tzdb_data v0.2.3 [INFO] [stderr] Downloaded nu-protocol v0.110.0 [INFO] [stderr] Downloaded cc v1.2.54 [INFO] [stderr] Downloaded libproc v0.14.11 [INFO] [stderr] Downloaded procfs v0.18.0 [INFO] [stderr] Downloaded shadow-rs v1.6.0 [INFO] [stderr] Downloaded nu-cmd-lang v0.110.0 [INFO] [stderr] Downloaded nu-plugin-engine v0.110.0 [INFO] [stderr] Downloaded nu-plugin-core v0.110.0 [INFO] [stderr] Downloaded owo-colors v4.2.3 [INFO] [stderr] Downloaded nu-system v0.110.0 [INFO] [stderr] Downloaded num-format v0.4.4 [INFO] [stderr] Downloaded time-macros v0.2.26 [INFO] [stderr] Downloaded tz-rs v0.7.2 [INFO] [stderr] Downloaded nu-plugin-test-support v0.110.0 [INFO] [stderr] Downloaded nu-glob v0.110.0 [INFO] [stderr] Downloaded nu-path v0.110.0 [INFO] [stderr] Downloaded mach2 v0.6.0 [INFO] [stderr] Downloaded tzdb v0.7.3 [INFO] [stderr] Downloaded is_ci v1.2.0 [INFO] [stderr] Downloaded supports-color v3.0.2 [INFO] [stderr] Downloaded supports-hyperlinks v3.2.0 [INFO] [stderr] Downloaded supports-unicode v3.0.0 [INFO] [stderr] Downloaded terminal_size v0.4.3 [INFO] [stderr] Downloaded nu-experimental v0.110.0 [INFO] [stderr] Downloaded omnipath v0.1.6 [INFO] [stderr] Downloaded pwd v1.4.0 [INFO] [stderr] Downloaded nu-utils v0.110.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1f401bdcb774e7bacd730b9bb1346a4a6f0ccce480f8e3f983807a88421fd8b5 [INFO] running `Command { std: "docker" "start" "-a" "1f401bdcb774e7bacd730b9bb1346a4a6f0ccce480f8e3f983807a88421fd8b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1f401bdcb774e7bacd730b9bb1346a4a6f0ccce480f8e3f983807a88421fd8b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1f401bdcb774e7bacd730b9bb1346a4a6f0ccce480f8e3f983807a88421fd8b5", kill_on_drop: false }` [INFO] [stdout] 1f401bdcb774e7bacd730b9bb1346a4a6f0ccce480f8e3f983807a88421fd8b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cee81fd22d2b83b5e92581a01532b0192835acf0ad52e2c8b46c37b51dfc4033 [INFO] running `Command { std: "docker" "start" "-a" "cee81fd22d2b83b5e92581a01532b0192835acf0ad52e2c8b46c37b51dfc4033", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking foldhash v0.2.0 [INFO] [stderr] Checking hashbrown v0.16.1 [INFO] [stderr] Checking pure-rust-locales v0.8.2 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Compiling zmij v1.0.16 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling owo-colors v4.2.3 [INFO] [stderr] Compiling procfs v0.18.0 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Checking buf-trait v0.4.1 [INFO] [stderr] Checking flate2 v1.1.8 [INFO] [stderr] Checking castaway v0.2.4 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking signal-hook-mio v0.2.5 [INFO] [stderr] Checking vte v0.14.1 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking is_ci v1.2.0 [INFO] [stderr] Checking bytes v1.11.0 [INFO] [stderr] Checking ryu v1.0.22 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking unicode-width v0.2.2 [INFO] [stderr] Checking unicode-linebreak v0.1.5 [INFO] [stderr] Checking lscolors v0.20.0 [INFO] [stderr] Checking textwrap v0.16.2 [INFO] [stderr] Checking num-format v0.4.4 [INFO] [stderr] Checking supports-color v3.0.2 [INFO] [stderr] Checking strip-ansi-escapes v0.2.1 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking sysinfo v0.37.2 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking erased-serde v0.4.9 [INFO] [stderr] Checking brotli-decompressor v5.0.0 [INFO] [stderr] Checking terminal_size v0.4.3 [INFO] [stderr] Checking byteyarn v0.5.1 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking rmp v0.8.15 [INFO] [stderr] Checking supports-hyperlinks v3.2.0 [INFO] [stderr] Checking unicase v2.9.0 [INFO] [stderr] Checking supports-unicode v3.0.0 [INFO] [stderr] Checking sys-locale v0.3.2 [INFO] [stderr] Checking os_pipe v1.2.3 [INFO] [stderr] Checking lru v0.16.3 [INFO] [stderr] Checking nu-glob v0.110.0 [INFO] [stderr] Checking heck v0.5.0 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking semver v1.0.27 [INFO] [stderr] Compiling doctest-file v1.0.0 [INFO] [stderr] Compiling const_format_proc_macros v0.2.34 [INFO] [stderr] Checking brotli v8.0.2 [INFO] [stderr] Compiling tz-rs v0.7.2 [INFO] [stderr] Checking interprocess v2.2.3 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling core-error v0.0.0 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling tzdb_data v0.2.3 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling const_format v0.2.35 [INFO] [stderr] Compiling is_debug v1.1.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking crossterm v0.29.0 [INFO] [stderr] Checking fancy-regex v0.17.0 [INFO] [stderr] Compiling typetag-impl v0.2.21 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking pwd v1.4.0 [INFO] [stderr] Compiling miette-derive v7.6.0 [INFO] [stderr] Checking nu-path v0.110.0 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling nu-derive-value v0.110.0 [INFO] [stderr] Compiling tzdb v0.7.3 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Compiling time v0.3.46 [INFO] [stderr] Checking nu-experimental v0.110.0 [INFO] [stderr] Checking assert_matches v1.5.0 [INFO] [stderr] Checking shadow-rs v1.6.0 [INFO] [stderr] Checking btf v0.5.1 [INFO] [stderr] Checking miette v7.6.0 [INFO] [stderr] Checking similar v2.7.0 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking aya-obj v0.2.1 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking lean_string v0.5.1 [INFO] [stderr] Checking rmp-serde v1.3.1 [INFO] [stderr] Checking typetag v0.2.21 [INFO] [stderr] Checking nu-utils v0.110.0 [INFO] [stderr] Compiling nu-cmd-lang v0.110.0 [INFO] [stderr] Checking aya v0.13.1 [INFO] [stderr] Checking procfs-core v0.18.0 [INFO] [stderr] Checking chrono-humanize v0.2.3 [INFO] [stderr] Checking nu-system v0.110.0 [INFO] [stderr] Checking nu-protocol v0.110.0 [INFO] [stderr] Checking nu-plugin-protocol v0.110.0 [INFO] [stderr] Checking nu-engine v0.110.0 [INFO] [stderr] Checking nu-plugin-core v0.110.0 [INFO] [stderr] Checking nu-plugin-engine v0.110.0 [INFO] [stderr] Checking nu-plugin v0.110.0 [INFO] [stderr] Checking nu_plugin_ebpf v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking nu-parser v0.110.0 [INFO] [stderr] Checking nu-cmd-base v0.110.0 [INFO] [stderr] Checking nu-plugin-test-support v0.110.0 [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/commands/setup.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | / if let Ok(out) = output { [INFO] [stdout] 168 | | if out.status.success() { [INFO] [stdout] 169 | | sysctl_applied = true; [INFO] [stdout] 170 | | } [INFO] [stdout] 171 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 167 ~ if let Ok(out) = output [INFO] [stdout] 168 ~ && out.status.success() { [INFO] [stdout] 169 | sysctl_applied = true; [INFO] [stdout] 170 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/compiler/elf/program_impl.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | / pub fn with_maps( [INFO] [stdout] 50 | | prog_type: EbpfProgramType, [INFO] [stdout] 51 | | target: impl Into, [INFO] [stdout] 52 | | name: impl Into, [INFO] [stdout] ... | [INFO] [stdout] 58 | | event_schema: Option, [INFO] [stdout] 59 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/graph_coloring/coalesce.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | / if self.node_state.get(&vreg) == Some(&NodeState::Coalesced) { [INFO] [stdout] 136 | | if let Some(&alias) = self.alias.get(&vreg) { [INFO] [stdout] 137 | | return self.get_alias(alias); [INFO] [stdout] 138 | | } [INFO] [stdout] 139 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 135 ~ if self.node_state.get(&vreg) == Some(&NodeState::Coalesced) [INFO] [stdout] 136 ~ && let Some(&alias) = self.alias.get(&vreg) { [INFO] [stdout] 137 | return self.get_alias(alias); [INFO] [stdout] 138 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/graph_coloring/coloring.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | / if !self.is_move_related(other) && self.graph.degree(other) < self.k { [INFO] [stdout] 32 | | if self.freeze_worklist.remove(&other) { [INFO] [stdout] 33 | | self.simplify_worklist.push_back(other); [INFO] [stdout] 34 | | self.node_state.insert(other, NodeState::Simplify); [INFO] [stdout] 35 | | } [INFO] [stdout] 36 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 31 ~ if !self.is_move_related(other) && self.graph.degree(other) < self.k [INFO] [stdout] 32 ~ && self.freeze_worklist.remove(&other) { [INFO] [stdout] 33 | self.simplify_worklist.push_back(other); [INFO] [stdout] 34 | self.node_state.insert(other, NodeState::Simplify); [INFO] [stdout] 35 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/compiler/graph_coloring.rs:456:9 [INFO] [stdout] | [INFO] [stdout] 456 | spilled.sort_by(|a, b| self.graph.degree(*b).cmp(&self.graph.degree(*a))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 456 - spilled.sort_by(|a, b| self.graph.degree(*b).cmp(&self.graph.degree(*a))); [INFO] [stdout] 456 + spilled.sort_by_key(|b| std::cmp::Reverse(self.graph.degree(*b))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/graph_coloring.rs:464:17 [INFO] [stdout] | [INFO] [stdout] 464 | / if self.spilled_nodes.contains(&neighbor) { [INFO] [stdout] 465 | | if let Some(&slot) = slot_for.get(&neighbor) { [INFO] [stdout] 466 | | used.insert(slot); [INFO] [stdout] 467 | | } [INFO] [stdout] 468 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 464 ~ if self.spilled_nodes.contains(&neighbor) [INFO] [stdout] 465 ~ && let Some(&slot) = slot_for.get(&neighbor) { [INFO] [stdout] 466 | used.insert(slot); [INFO] [stdout] 467 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/hir/lowering.rs:461:9 [INFO] [stdout] | [INFO] [stdout] 461 | / if matches!( [INFO] [stdout] 462 | | inst, [INFO] [stdout] 463 | | Instruction::Jump { .. } [INFO] [stdout] 464 | | | Instruction::BranchIf { .. } [INFO] [stdout] ... | [INFO] [stdout] 475 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 471 ~ ) [INFO] [stdout] 472 ~ && idx + 1 < instructions.len() { [INFO] [stdout] 473 | starts.insert(idx + 1); [INFO] [stdout] 474 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/hir.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | / if let Instruction::LoadVariable { var_id, .. } = instruction { [INFO] [stdout] 315 | | if !stored_vars.contains(var_id) && !first_loaded.contains(var_id) { [INFO] [stdout] 316 | | first_loaded.push(*var_id); [INFO] [stdout] 317 | | } [INFO] [stdout] 318 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 314 ~ if let Instruction::LoadVariable { var_id, .. } = instruction [INFO] [stdout] 315 ~ && !stored_vars.contains(var_id) && !first_loaded.contains(var_id) { [INFO] [stdout] 316 | first_loaded.push(*var_id); [INFO] [stdout] 317 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `if let` [INFO] [stdout] --> src/compiler/hir.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | / match lit { [INFO] [stdout] 335 | | Literal::Closure(block_id) [INFO] [stdout] 336 | | | Literal::Block(block_id) [INFO] [stdout] 337 | | | Literal::RowCondition(block_id) => { [INFO] [stdout] ... | [INFO] [stdout] 342 | | _ => {} [INFO] [stdout] 343 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/compiler/hir.rs:333:43 [INFO] [stdout] | [INFO] [stdout] 333 | if let Instruction::LoadLiteral { lit, .. } = instruction { [INFO] [stdout] | ^^^ replace this binding [INFO] [stdout] 334 | match lit { [INFO] [stdout] 335 | / Literal::Closure(block_id) [INFO] [stdout] 336 | | | Literal::Block(block_id) [INFO] [stdout] 337 | | | Literal::RowCondition(block_id) => { [INFO] [stdout] | |_________________________________________________^ with this pattern, prefixed by `lit: ` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/hir.rs:338:21 [INFO] [stdout] | [INFO] [stdout] 338 | / if !block_ids.contains(block_id) { [INFO] [stdout] 339 | | block_ids.push(*block_id); [INFO] [stdout] 340 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 337 ~ | Literal::RowCondition(block_id) [INFO] [stdout] 338 ~ if !block_ids.contains(block_id) => { [INFO] [stdout] 339 | block_ids.push(*block_id); [INFO] [stdout] 340 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/hir.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | / if let Instruction::Call { decl_id, .. } = instruction { [INFO] [stdout] 356 | | if !decl_ids.contains(decl_id) { [INFO] [stdout] 357 | | decl_ids.push(*decl_id); [INFO] [stdout] 358 | | } [INFO] [stdout] 359 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 355 ~ if let Instruction::Call { decl_id, .. } = instruction [INFO] [stdout] 356 ~ && !decl_ids.contains(decl_id) { [INFO] [stdout] 357 | decl_ids.push(*decl_id); [INFO] [stdout] 358 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:530:17 [INFO] [stdout] | [INFO] [stdout] 530 | / let Some(kind) = kernel_btf [INFO] [stdout] 531 | | .kfunc_return_ref_family(kfunc) [INFO] [stdout] 532 | | .map(ref_kind_from_btf_family) [INFO] [stdout] 533 | | else { [INFO] [stdout] 534 | | return None; [INFO] [stdout] 535 | | }; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] help: replace it with [INFO] [stdout] | [INFO] [stdout] 530 ~ let kind = kernel_btf [INFO] [stdout] 531 + .kfunc_return_ref_family(kfunc) [INFO] [stdout] 532 + .map(ref_kind_from_btf_family)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:254:35 [INFO] [stdout] | [INFO] [stdout] 254 | let aligned_len = align_to_eight(max_len).min(MAX_STRING_SIZE).max(16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `align_to_eight(max_len).clamp(16, MAX_STRING_SIZE)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:300:35 [INFO] [stdout] | [INFO] [stdout] 300 | let aligned_len = align_to_eight(max_len).min(MAX_STRING_SIZE).max(16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `align_to_eight(max_len).clamp(16, MAX_STRING_SIZE)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:458:21 [INFO] [stdout] | [INFO] [stdout] 458 | / if let Some(reg) = input_reg { [INFO] [stdout] 459 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 460 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 461 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 465 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 458 ~ if let Some(reg) = input_reg [INFO] [stdout] 459 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 460 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 463 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 464 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:496:21 [INFO] [stdout] | [INFO] [stdout] 496 | / if let Some(meta) = meta { [INFO] [stdout] 497 | | if let Some((_slot, max_len)) = meta.list_buffer { [INFO] [stdout] 498 | | // Create a new list for output [INFO] [stdout] 499 | | let out_slot = self.func.alloc_stack_slot( [INFO] [stdout] ... | [INFO] [stdout] 533 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 496 ~ if let Some(meta) = meta [INFO] [stdout] 497 ~ && let Some((_slot, max_len)) = meta.list_buffer { [INFO] [stdout] 498 | // Create a new list for output [INFO] [stdout] ... [INFO] [stdout] 531 | return Ok(()); [INFO] [stdout] 532 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:544:21 [INFO] [stdout] | [INFO] [stdout] 544 | / if let Some(reg) = input_reg { [INFO] [stdout] 545 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 546 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 547 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 551 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 544 ~ if let Some(reg) = input_reg [INFO] [stdout] 545 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 546 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 549 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 550 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:611:17 [INFO] [stdout] | [INFO] [stdout] 611 | / if let Some(reg) = input_reg { [INFO] [stdout] 612 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 613 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 614 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 618 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 611 ~ if let Some(reg) = input_reg [INFO] [stdout] 612 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 613 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 616 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 617 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:646:21 [INFO] [stdout] | [INFO] [stdout] 646 | / if let Some(reg) = input_reg { [INFO] [stdout] 647 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 648 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 649 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 653 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 646 ~ if let Some(reg) = input_reg [INFO] [stdout] 647 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 648 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 651 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 652 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:661:21 [INFO] [stdout] | [INFO] [stdout] 661 | / if let Some(reg) = input_reg { [INFO] [stdout] 662 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 663 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 664 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 661 ~ if let Some(reg) = input_reg [INFO] [stdout] 662 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 663 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 666 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 667 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/closures.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | / if let HirStmt::LoadVariable { var_id, .. } = stmt { [INFO] [stdout] 80 | | if !loaded_var_ids.contains(var_id) { [INFO] [stdout] 81 | | loaded_var_ids.push(*var_id); [INFO] [stdout] 82 | | } [INFO] [stdout] 83 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 79 ~ if let HirStmt::LoadVariable { var_id, .. } = stmt [INFO] [stdout] 80 ~ && !loaded_var_ids.contains(var_id) { [INFO] [stdout] 81 | loaded_var_ids.push(*var_id); [INFO] [stdout] 82 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> src/compiler/ir_to_mir/closures.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | / if !self.var_mappings.contains_key(&var_id) { [INFO] [stdout] 99 | | param_var_ids.push(var_id); [INFO] [stdout] 100 | | self.var_mappings.insert(var_id, in_vreg); [INFO] [stdout] 101 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 98 ~ self.var_mappings.entry(var_id).or_insert_with(|| { [INFO] [stdout] 99 + param_var_ids.push(var_id); [INFO] [stdout] 100 + in_vreg [INFO] [stdout] 101 + }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/control_flow.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | / if let Some(meta) = src_meta { [INFO] [stdout] 191 | | if let Some((_slot, max_len)) = meta.list_buffer { [INFO] [stdout] 192 | | // Emit length load and bounded copy loop [INFO] [stdout] 193 | | let len_vreg = self.func.alloc_vreg(); [INFO] [stdout] ... | [INFO] [stdout] 214 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 190 ~ if let Some(meta) = src_meta [INFO] [stdout] 191 ~ && let Some((_slot, max_len)) = meta.list_buffer { [INFO] [stdout] 192 | // Emit length load and bounded copy loop [INFO] [stdout] ... [INFO] [stdout] 212 | } [INFO] [stdout] 213 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/compiler/ir_to_mir/core_utils.rs:76:22 [INFO] [stdout] | [INFO] [stdout] 76 | let needed = align_to_eight(required_len.saturating_add(1)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 77 | | .min(MAX_STRING_SIZE) [INFO] [stdout] 78 | | .max(16); [INFO] [stdout] | |____________________^ help: replace with clamp: `align_to_eight(required_len.saturating_add(1)).clamp(16, MAX_STRING_SIZE)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/compiler/ir_to_mir/expr_lowering.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 40 | let aligned_len = align_to_eight(content_len + 1).min(MAX_STRING_SIZE).max(16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `align_to_eight(content_len + 1).clamp(16, MAX_STRING_SIZE)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/compiler/ir_to_mir/expr_lowering.rs:177:31 [INFO] [stdout] | [INFO] [stdout] 177 | let max_len = (*capacity as usize).min(MAX_LIST_CAPACITY); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `(*capacity)` [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: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/compiler/ir_to_mir/subfunctions.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | / if let Err(err) = result { [INFO] [stdout] 117 | | return Err(err); [INFO] [stdout] 118 | | } [INFO] [stdout] | |_________^ help: replace it with: `result?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/user_functions.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | / if let HirStmt::LoadVariable { var_id, .. } = stmt { [INFO] [stdout] 19 | | if *var_id != IN_VARIABLE_ID && !stored.contains(var_id) { [INFO] [stdout] 20 | | params.insert(*var_id); [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 18 ~ if let HirStmt::LoadVariable { var_id, .. } = stmt [INFO] [stdout] 19 ~ && *var_id != IN_VARIABLE_ID && !stored.contains(var_id) { [INFO] [stdout] 20 | params.insert(*var_id); [INFO] [stdout] 21 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/user_functions.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | / if let HirStmt::LoadVariable { var_id, .. } = stmt { [INFO] [stdout] 46 | | if *var_id != IN_VARIABLE_ID && !stored.contains(var_id) { [INFO] [stdout] 47 | | let id = var_id.get(); [INFO] [stdout] 48 | | min_var = Some(min_var.map_or(id, |cur| cur.min(id))); [INFO] [stdout] 49 | | } [INFO] [stdout] 50 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 45 ~ if let HirStmt::LoadVariable { var_id, .. } = stmt [INFO] [stdout] 46 ~ && *var_id != IN_VARIABLE_ID && !stored.contains(var_id) { [INFO] [stdout] 47 | let id = var_id.get(); [INFO] [stdout] 48 | min_var = Some(min_var.map_or(id, |cur| cur.min(id))); [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/user_functions.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | / if let HirStmt::LoadVariable { var_id, .. } = stmt { [INFO] [stdout] 61 | | if *var_id == IN_VARIABLE_ID { [INFO] [stdout] 62 | | return true; [INFO] [stdout] 63 | | } [INFO] [stdout] 64 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 60 ~ if let HirStmt::LoadVariable { var_id, .. } = stmt [INFO] [stdout] 61 ~ && *var_id == IN_VARIABLE_ID { [INFO] [stdout] 62 | return true; [INFO] [stdout] 63 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/compiler/ir_to_mir.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | / fn new( [INFO] [stdout] 269 | | probe_ctx: Option<&'a ProbeContext>, [INFO] [stdout] 270 | | decl_names: &'a HashMap, [INFO] [stdout] 271 | | closure_irs: &'a HashMap, [INFO] [stdout] ... | [INFO] [stdout] 276 | | decl_signatures: &'a HashMap, [INFO] [stdout] 277 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `LirFunction` [INFO] [stdout] --> src/compiler/lir.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | / pub fn new() -> Self { [INFO] [stdout] 80 | | Self { [INFO] [stdout] 81 | | name: None, [INFO] [stdout] 82 | | blocks: Vec::new(), [INFO] [stdout] ... | [INFO] [stdout] 90 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 78 + impl Default for LirFunction { [INFO] [stdout] 79 + fn default() -> Self { [INFO] [stdout] 80 + Self::new() [INFO] [stdout] 81 + } [INFO] [stdout] 82 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/compiler/mir/inst_impl.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | / if let MirValue::VReg(vreg) = $value { [INFO] [stdout] 26 | | f(vreg); [INFO] [stdout] 27 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] ... [INFO] [stdout] 88 | visit_value!(value); [INFO] [stdout] | ------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/compiler/mir/inst_impl.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | if let MirValue::VReg(vreg) = $value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] ... [INFO] [stdout] 87 | if let Some(value) = val { [INFO] [stdout] | ^^^^^ replace this binding [INFO] [stdout] 88 | visit_value!(value); [INFO] [stdout] | ------------------- in this macro invocation [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: this warning originates in the macro `visit_value` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/compiler/mir_to_ebpf/function_setup.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | ) -> Result< [INFO] [stdout] | __________^ [INFO] [stdout] 26 | | ( [INFO] [stdout] 27 | | HashMap, [INFO] [stdout] 28 | | HashMap, [INFO] [stdout] ... | [INFO] [stdout] 33 | | CompileError, [INFO] [stdout] 34 | | > { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `arg_regs` [INFO] [stdout] --> src/compiler/mir_to_ebpf/function_setup.rs:281:18 [INFO] [stdout] | [INFO] [stdout] 281 | for i in 0..func.param_count { [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 and enumerate() [INFO] [stdout] | [INFO] [stdout] 281 - for i in 0..func.param_count { [INFO] [stdout] 281 + for (i, ) in arg_regs.iter().enumerate().take(func.param_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/compiler/mir_to_ebpf/maps.rs:365:31 [INFO] [stdout] | [INFO] [stdout] 365 | } else if !(defaulted && !spec.value_size_defaulted) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!defaulted || spec.value_size_defaulted` [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 `if` statement can be collapsed [INFO] [stdout] --> src/compiler/mir_to_ebpf/value_ops.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / if let (Some(rhs_reg_value), Some(rhs_vreg)) = (rhs_reg, rhs_vreg) { [INFO] [stdout] 127 | | if rhs_reg_value == dst_reg && lhs_vreg != Some(rhs_vreg) { [INFO] [stdout] 128 | | // Preserve RHS before we clobber dst_reg with LHS. [INFO] [stdout] 129 | | if dst_reg != EbpfReg::R0 { [INFO] [stdout] ... | [INFO] [stdout] 135 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 126 ~ if let (Some(rhs_reg_value), Some(rhs_vreg)) = (rhs_reg, rhs_vreg) [INFO] [stdout] 127 ~ && rhs_reg_value == dst_reg && lhs_vreg != Some(rhs_vreg) { [INFO] [stdout] 128 | // Preserve RHS before we clobber dst_reg with LHS. [INFO] [stdout] ... [INFO] [stdout] 133 | } [INFO] [stdout] 134 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/mir_to_ebpf.rs:440:9 [INFO] [stdout] | [INFO] [stdout] 440 | / if let Err(errors) = verifier_types::verify_mir(func, &types) { [INFO] [stdout] 441 | | if let Some(err) = errors.into_iter().next() { [INFO] [stdout] 442 | | return Err(CompileError::VerifierTypeError(err)); [INFO] [stdout] 443 | | } [INFO] [stdout] 444 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 440 ~ if let Err(errors) = verifier_types::verify_mir(func, &types) [INFO] [stdout] 441 ~ && let Some(err) = errors.into_iter().next() { [INFO] [stdout] 442 | return Err(CompileError::VerifierTypeError(err)); [INFO] [stdout] 443 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/passes/branch_opt.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | / if block.instructions.is_empty() { [INFO] [stdout] 51 | | if let MirInst::Jump { target } = &block.terminator { [INFO] [stdout] 52 | | jump_targets.insert(block.id, *target); [INFO] [stdout] 53 | | } [INFO] [stdout] 54 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 50 ~ if block.instructions.is_empty() [INFO] [stdout] 51 ~ && let MirInst::Jump { target } = &block.terminator { [INFO] [stdout] 52 | jump_targets.insert(block.id, *target); [INFO] [stdout] 53 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | / if self.mark_edge(block_id, *target, reachable_blocks, executable_edges) { [INFO] [stdout] 200 | | changed = true; [INFO] [stdout] 201 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 198 ~ MirInst::Jump { target } [INFO] [stdout] 199 ~ if self.mark_edge(block_id, *target, reachable_blocks, executable_edges) => { [INFO] [stdout] 200 | changed = true; [INFO] [stdout] 201 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | / if self.mark_edge(block_id, *header, reachable_blocks, executable_edges) { [INFO] [stdout] 238 | | changed = true; [INFO] [stdout] 239 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 236 ~ MirInst::LoopBack { header, .. } [INFO] [stdout] 237 ~ if self.mark_edge(block_id, *header, reachable_blocks, executable_edges) => { [INFO] [stdout] 238 | changed = true; [INFO] [stdout] 239 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:399:17 [INFO] [stdout] | [INFO] [stdout] 399 | / if self.rewrite_value(src, values) { [INFO] [stdout] 400 | | changed = true; [INFO] [stdout] 401 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 398 ~ MirInst::Copy { src, .. } [INFO] [stdout] 399 ~ if self.rewrite_value(src, values) => { [INFO] [stdout] 400 | changed = true; [INFO] [stdout] 401 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:412:17 [INFO] [stdout] | [INFO] [stdout] 412 | / if self.rewrite_value(src, values) { [INFO] [stdout] 413 | | changed = true; [INFO] [stdout] 414 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 411 ~ MirInst::UnaryOp { src, .. } [INFO] [stdout] 412 ~ if self.rewrite_value(src, values) => { [INFO] [stdout] 413 | changed = true; [INFO] [stdout] 414 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:420:17 [INFO] [stdout] | [INFO] [stdout] 420 | / if self.rewrite_value(val, values) { [INFO] [stdout] 421 | | changed = true; [INFO] [stdout] 422 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 419 ~ | MirInst::StringAppend { val, .. } [INFO] [stdout] 420 ~ if self.rewrite_value(val, values) => { [INFO] [stdout] 421 | changed = true; [INFO] [stdout] 422 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:432:17 [INFO] [stdout] | [INFO] [stdout] 432 | / if self.rewrite_value(idx, values) { [INFO] [stdout] 433 | | changed = true; [INFO] [stdout] 434 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 431 ~ MirInst::ListGet { idx, .. } | MirInst::TailCall { index: idx, .. } [INFO] [stdout] 432 ~ if self.rewrite_value(idx, values) => { [INFO] [stdout] 433 | changed = true; [INFO] [stdout] 434 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | / if let Some(value) = val { [INFO] [stdout] 459 | | self.rewrite_value(value, values) [INFO] [stdout] 460 | | } else { [INFO] [stdout] 461 | | false [INFO] [stdout] 462 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/compiler/passes/const_fold.rs:457:31 [INFO] [stdout] | [INFO] [stdout] 457 | MirInst::Return { val } => { [INFO] [stdout] | ^^^ replace this binding [INFO] [stdout] 458 | if let Some(value) = val { [INFO] [stdout] | ^^^^^^^^^^^ with this pattern, prefixed by `val: ` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/passes/list_lowering.rs:113:29 [INFO] [stdout] | [INFO] [stdout] 113 | / ... if consistent { [INFO] [stdout] 114 | | ... if let Some(m) = meta { [INFO] [stdout] 115 | | ... let entry = info.entry(*dst).or_insert(m); [INFO] [stdout] 116 | | ... if *entry != m { [INFO] [stdout] ... | [INFO] [stdout] 121 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 113 ~ if consistent [INFO] [stdout] 114 ~ && let Some(m) = meta { [INFO] [stdout] 115 | let entry = info.entry(*dst).or_insert(m); [INFO] [stdout] ... [INFO] [stdout] 119 | } [INFO] [stdout] 120 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/passes/ssa.rs:234:13 [INFO] [stdout] | [INFO] [stdout] 234 | / if let Some(def_vreg) = self.func.blocks[block_idx].instructions[i].def() { [INFO] [stdout] 235 | | if self.original_vregs.contains(&def_vreg) { [INFO] [stdout] 236 | | let orig_vreg = self.get_original_vreg(def_vreg); [INFO] [stdout] 237 | | let new_vreg = self.new_version(orig_vreg); [INFO] [stdout] ... | [INFO] [stdout] 243 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 234 ~ if let Some(def_vreg) = self.func.blocks[block_idx].instructions[i].def() [INFO] [stdout] 235 ~ && self.original_vregs.contains(&def_vreg) { [INFO] [stdout] 236 | let orig_vreg = self.get_original_vreg(def_vreg); [INFO] [stdout] ... [INFO] [stdout] 241 | update_def(&mut self.func.blocks[block_idx].instructions[i], new_vreg); [INFO] [stdout] 242 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/ssa_destruct.rs:211:17 [INFO] [stdout] | [INFO] [stdout] 211 | / if *target == old_target { [INFO] [stdout] 212 | | *target = new_target; [INFO] [stdout] 213 | | true [INFO] [stdout] 214 | | } else { [INFO] [stdout] 215 | | false [INFO] [stdout] 216 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 210 ~ MirInst::Jump { target } [INFO] [stdout] 211 ~ if *target == old_target => { [INFO] [stdout] 212 | *target = new_target; [INFO] [stdout] 213 | true [INFO] [stdout] 214 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/ssa_destruct.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | / if *header == old_target { [INFO] [stdout] 246 | | *header = new_target; [INFO] [stdout] 247 | | true [INFO] [stdout] 248 | | } else { [INFO] [stdout] 249 | | false [INFO] [stdout] 250 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 244 ~ MirInst::LoopBack { header, .. } [INFO] [stdout] 245 ~ if *header == old_target => { [INFO] [stdout] 246 | *header = new_target; [INFO] [stdout] 247 | true [INFO] [stdout] 248 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/compiler/passes/strength.rs:65:25 [INFO] [stdout] | [INFO] [stdout] 65 | let same_vreg = match (lhs, rhs) { [INFO] [stdout] | _________________________^ [INFO] [stdout] 66 | | (MirValue::VReg(l), MirValue::VReg(r)) if l == r => true, [INFO] [stdout] 67 | | _ => false, [INFO] [stdout] 68 | | }; [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] 65 - let same_vreg = match (lhs, rhs) { [INFO] [stdout] 66 - (MirValue::VReg(l), MirValue::VReg(r)) if l == r => true, [INFO] [stdout] 67 - _ => false, [INFO] [stdout] 68 - }; [INFO] [stdout] 65 + let same_vreg = matches!((lhs, rhs), (MirValue::VReg(l), MirValue::VReg(r)) if l == r); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/compiler/type_infer/helper_semantics.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | / pub(super) fn validate_helper_semantics( [INFO] [stdout] 188 | | &self, [INFO] [stdout] 189 | | helper_id: u32, [INFO] [stdout] 190 | | args: &[MirValue], [INFO] [stdout] ... | [INFO] [stdout] 195 | | errors: &mut Vec, [INFO] [stdout] 196 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/compiler/type_infer/helper_semantics.rs:474:13 [INFO] [stdout] | [INFO] [stdout] 474 | / match self.mir_type_for_vreg(*ptr_vreg, types) { [INFO] [stdout] 475 | | MirType::Ptr { [INFO] [stdout] 476 | | address_space, [INFO] [stdout] 477 | | pointee, [INFO] [stdout] ... | [INFO] [stdout] 512 | | _ => {} [INFO] [stdout] 513 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 474 ~ if let MirType::Ptr { [INFO] [stdout] 475 + address_space, [INFO] [stdout] 476 + pointee, [INFO] [stdout] 477 + } = self.mir_type_for_vreg(*ptr_vreg, types) { match address_space { [INFO] [stdout] 478 + AddressSpace::Stack => { [INFO] [stdout] 479 + if Self::kfunc_pointer_arg_requires_stack_slot_base(kfunc, ptr_arg_idx) { [INFO] [stdout] 480 + let is_base = stack_bounds [INFO] [stdout] 481 + .get(ptr_vreg) [INFO] [stdout] 482 + .is_some_and(|bounds| bounds.min == 0 && bounds.max == 0); [INFO] [stdout] 483 + if !is_base { [INFO] [stdout] 484 + errors.push(TypeError::new(format!( [INFO] [stdout] 485 + "kfunc '{}' arg{} expects stack slot base pointer", [INFO] [stdout] 486 + kfunc, ptr_arg_idx [INFO] [stdout] 487 + ))); [INFO] [stdout] 488 + } [INFO] [stdout] 489 + } [INFO] [stdout] 490 + if let Some(bounds) = stack_bounds.get(ptr_vreg) { [INFO] [stdout] 491 + let end = bounds.max + access_size as i64 - 1; [INFO] [stdout] 492 + if bounds.min < 0 || end > bounds.limit { [INFO] [stdout] 493 + errors.push(TypeError::new(format!( [INFO] [stdout] 494 + "kfunc '{}' arg{} pointer access requires {} bytes, stack pointer range [{}..{}] exceeds [0..{}]", [INFO] [stdout] 495 + kfunc, ptr_arg_idx, access_size, bounds.min, bounds.max, bounds.limit [INFO] [stdout] 496 + ))); [INFO] [stdout] 497 + } [INFO] [stdout] 498 + } [INFO] [stdout] 499 + } [INFO] [stdout] 500 + AddressSpace::Map => { [INFO] [stdout] 501 + let pointee_size = pointee.size(); [INFO] [stdout] 502 + if access_size > pointee_size { [INFO] [stdout] 503 + errors.push(TypeError::new(format!( [INFO] [stdout] 504 + "kfunc '{}' arg{} pointer access requires {} bytes, map value has {} bytes", [INFO] [stdout] 505 + kfunc, ptr_arg_idx, access_size, pointee_size [INFO] [stdout] 506 + ))); [INFO] [stdout] 507 + } [INFO] [stdout] 508 + } [INFO] [stdout] 509 + AddressSpace::Kernel | AddressSpace::User => {} [INFO] [stdout] 510 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/type_infer/ranges.rs:81:29 [INFO] [stdout] | [INFO] [stdout] 81 | / ... if consistent { [INFO] [stdout] 82 | | ... if let Some(c) = cap { [INFO] [stdout] 83 | | ... let entry = caps.entry(*dst).or_insert(c); [INFO] [stdout] 84 | | ... if *entry != c { [INFO] [stdout] ... | [INFO] [stdout] 89 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 81 ~ if consistent [INFO] [stdout] 82 ~ && let Some(c) = cap { [INFO] [stdout] 83 | let entry = caps.entry(*dst).or_insert(c); [INFO] [stdout] ... [INFO] [stdout] 87 | } [INFO] [stdout] 88 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/compiler/type_infer/validate.rs:513:36 [INFO] [stdout] | [INFO] [stdout] 513 | ... if !matches!(arg_ty, MirType::Ptr { .. }) [INFO] [stdout] | __________________________^ [INFO] [stdout] 514 | | ... && !(is_const_zero [INFO] [stdout] 515 | | ... && Self::helper_pointer_arg_allows_const_zero(*helper, idx)) [INFO] [stdout] | |__________________________________________________________________________________________^ help: try: `!(matches!(arg_ty, MirType::Ptr { .. }) || is_const_zero && Self::helper_pointer_arg_allows_const_zero(*helper, idx))` [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: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:227:17 [INFO] [stdout] | [INFO] [stdout] 227 | / if *size > 8 { [INFO] [stdout] 228 | | let data_ty = self.mir_type_for_vreg(*data, types); [INFO] [stdout] 229 | | match data_ty { [INFO] [stdout] 230 | | MirType::Ptr { address_space, .. } [INFO] [stdout] ... | [INFO] [stdout] 238 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 226 ~ MirInst::EmitEvent { data, size } [INFO] [stdout] 227 ~ if *size > 8 => { [INFO] [stdout] 228 | let data_ty = self.mir_type_for_vreg(*data, types); [INFO] [stdout] ... [INFO] [stdout] 237 | } [INFO] [stdout] 238 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:661:17 [INFO] [stdout] | [INFO] [stdout] 661 | / if args.len() > 5 { [INFO] [stdout] 662 | | errors.push(TypeError::new( [INFO] [stdout] 663 | | "BPF subfunctions support at most 5 arguments".to_string(), [INFO] [stdout] 664 | | )); [INFO] [stdout] 665 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 660 ~ MirInst::CallSubfn { args, .. } [INFO] [stdout] 661 ~ if args.len() > 5 => { [INFO] [stdout] 662 | errors.push(TypeError::new( [INFO] [stdout] 663 | "BPF subfunctions support at most 5 arguments".to_string(), [INFO] [stdout] 664 | )); [INFO] [stdout] 665 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:63:37 [INFO] [stdout] | [INFO] [stdout] 63 | / ... if lhs_space != rhs_space { [INFO] [stdout] 64 | | ... errors.push(TypeError::new(format!( [INFO] [stdout] 65 | | ... "pointer comparison requires same address space (lhs={:?}, rhs={:?})", [INFO] [stdout] 66 | | ... lhs_space, rhs_space [INFO] [stdout] 67 | | ... ))); [INFO] [stdout] 68 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 62 ~ (Some(lhs_space), Some(rhs_space)) [INFO] [stdout] 63 ~ if lhs_space != rhs_space => { [INFO] [stdout] 64 | errors.push(TypeError::new(format!( [INFO] [stdout] ... [INFO] [stdout] 67 | ))); [INFO] [stdout] 68 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:71:37 [INFO] [stdout] | [INFO] [stdout] 71 | / ... if !Self::is_const_zero(rhs) { [INFO] [stdout] 72 | | ... errors.push(TypeError::new( [INFO] [stdout] 73 | | ... "pointer comparison only supports null (0) constants" [INFO] [stdout] 74 | | ... .to_string(), [INFO] [stdout] 75 | | ... )); [INFO] [stdout] 76 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 70 ~ (Some(_), None) [INFO] [stdout] 71 ~ if !Self::is_const_zero(rhs) => { [INFO] [stdout] 72 | errors.push(TypeError::new( [INFO] [stdout] ... [INFO] [stdout] 75 | )); [INFO] [stdout] 76 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:79:37 [INFO] [stdout] | [INFO] [stdout] 79 | / ... if !Self::is_const_zero(lhs) { [INFO] [stdout] 80 | | ... errors.push(TypeError::new( [INFO] [stdout] 81 | | ... "pointer comparison only supports null (0) constants" [INFO] [stdout] 82 | | ... .to_string(), [INFO] [stdout] 83 | | ... )); [INFO] [stdout] 84 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 78 ~ (None, Some(_)) [INFO] [stdout] 79 ~ if !Self::is_const_zero(lhs) => { [INFO] [stdout] 80 | errors.push(TypeError::new( [INFO] [stdout] ... [INFO] [stdout] 83 | )); [INFO] [stdout] 84 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:231:32 [INFO] [stdout] | [INFO] [stdout] 231 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] = note: `#[warn(clippy::redundant_guards)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 230 - MirType::Ptr { address_space, .. } [INFO] [stdout] 231 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 230 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:248:36 [INFO] [stdout] | [INFO] [stdout] 248 | ... if matches!( [INFO] [stdout] | __________________________^ [INFO] [stdout] 249 | | ... address_space, [INFO] [stdout] 250 | | ... AddressSpace::Stack | AddressSpace::Map [INFO] [stdout] 251 | | ... ) => {} [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 247 - MirType::Ptr { address_space, .. } [INFO] [stdout] 248 - if matches!( [INFO] [stdout] 249 - address_space, [INFO] [stdout] 250 - AddressSpace::Stack | AddressSpace::Map [INFO] [stdout] 251 - ) => {} [INFO] [stdout] 247 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:272:32 [INFO] [stdout] | [INFO] [stdout] 272 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 271 - MirType::Ptr { address_space, .. } [INFO] [stdout] 272 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 271 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:292:32 [INFO] [stdout] | [INFO] [stdout] 292 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 291 - MirType::Ptr { address_space, .. } [INFO] [stdout] 292 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 291 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:302:32 [INFO] [stdout] | [INFO] [stdout] 302 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 301 - MirType::Ptr { address_space, .. } [INFO] [stdout] 302 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 301 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:315:28 [INFO] [stdout] | [INFO] [stdout] 315 | if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 314 - MirType::Ptr { address_space, .. } [INFO] [stdout] 315 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => {} [INFO] [stdout] 314 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:329:32 [INFO] [stdout] | [INFO] [stdout] 329 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 328 - MirType::Ptr { address_space, .. } [INFO] [stdout] 329 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 328 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:339:32 [INFO] [stdout] | [INFO] [stdout] 339 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 338 - MirType::Ptr { address_space, .. } [INFO] [stdout] 339 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 338 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `VccFunction` [INFO] [stdout] --> src/compiler/vcc.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | / pub fn new() -> Self { [INFO] [stdout] 495 | | let entry = VccBlockId(0); [INFO] [stdout] 496 | | Self { [INFO] [stdout] 497 | | entry, [INFO] [stdout] ... | [INFO] [stdout] 505 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 493 + impl Default for VccFunction { [INFO] [stdout] 494 + fn default() -> Self { [INFO] [stdout] 495 + Self::new() [INFO] [stdout] 496 + } [INFO] [stdout] 497 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | / if let Some(range) = state.value_range(*value, ty) { [INFO] [stdout] 79 | | if range.max <= 0 || range.min <= 0 { [INFO] [stdout] 80 | | self.errors.push(VccError::new( [INFO] [stdout] 81 | | VccErrorKind::UnsupportedInstruction, [INFO] [stdout] ... | [INFO] [stdout] 85 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 78 ~ if let Some(range) = state.value_range(*value, ty) [INFO] [stdout] 79 ~ && (range.max <= 0 || range.min <= 0) { [INFO] [stdout] 80 | self.errors.push(VccError::new( [INFO] [stdout] ... [INFO] [stdout] 83 | )); [INFO] [stdout] 84 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:205:21 [INFO] [stdout] | [INFO] [stdout] 205 | / if let (VccAddrSpace::Stack(_) | VccAddrSpace::MapValue, Some(bounds)) = [INFO] [stdout] 206 | | (ptr_info.space, ptr_info.bounds) [INFO] [stdout] 207 | | { [INFO] [stdout] 208 | | if bounds.shifted_with_size(0, size_range.max).is_none() { [INFO] [stdout] ... | [INFO] [stdout] 214 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 206 ~ (ptr_info.space, ptr_info.bounds) [INFO] [stdout] 207 ~ && bounds.shifted_with_size(0, size_range.max).is_none() { [INFO] [stdout] 208 | self.errors.push(VccError::new( [INFO] [stdout] ... [INFO] [stdout] 211 | )); [INFO] [stdout] 212 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:295:37 [INFO] [stdout] | [INFO] [stdout] 295 | / ... if lp.space != rp.space [INFO] [stdout] 296 | | ... && lp.space != VccAddrSpace::Unknown [INFO] [stdout] 297 | | ... && rp.space != VccAddrSpace::Unknown [INFO] [stdout] ... | [INFO] [stdout] 306 | | ... return; [INFO] [stdout] 307 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 294 ~ (VccValueType::Ptr(lp), VccValueType::Ptr(rp)) [INFO] [stdout] 295 | if lp.space != rp.space [INFO] [stdout] 296 | && lp.space != VccAddrSpace::Unknown [INFO] [stdout] 297 | && rp.space != VccAddrSpace::Unknown [INFO] [stdout] 298 ~ => { [INFO] [stdout] 299 | self.errors.push(VccError::new( [INFO] [stdout] ... [INFO] [stdout] 306 | return; [INFO] [stdout] 307 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:310:37 [INFO] [stdout] | [INFO] [stdout] 310 | / ... if !self.is_null_scalar(*lhs, lhs_ty) [INFO] [stdout] 311 | | ... && !self.is_null_scalar(*rhs, rhs_ty) [INFO] [stdout] 312 | | ... && other.class() != VccTypeClass::Ptr [INFO] [stdout] ... | [INFO] [stdout] 321 | | ... return; [INFO] [stdout] 322 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 309 ~ (VccValueType::Ptr(_), other) | (other, VccValueType::Ptr(_)) [INFO] [stdout] 310 | if !self.is_null_scalar(*lhs, lhs_ty) [INFO] [stdout] 311 | && !self.is_null_scalar(*rhs, rhs_ty) [INFO] [stdout] 312 | && other.class() != VccTypeClass::Ptr [INFO] [stdout] 313 ~ => { [INFO] [stdout] 314 | self.errors.push(VccError::new( [INFO] [stdout] ... [INFO] [stdout] 321 | return; [INFO] [stdout] 322 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:1587:28 [INFO] [stdout] | [INFO] [stdout] 1587 | && info [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1588 | | .bounds [INFO] [stdout] 1589 | | .map_or(true, |bounds| bounds.min == 0 && bounds.max == 0) => [INFO] [stdout] | |______________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 1589 - .map_or(true, |bounds| bounds.min == 0 && bounds.max == 0) => [INFO] [stdout] 1589 + .is_none_or(|bounds| bounds.min == 0 && bounds.max == 0) => [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:1642:17 [INFO] [stdout] | [INFO] [stdout] 1642 | / if let Some(value) = value { [INFO] [stdout] 1643 | | if let Err(err) = state.value_type(*value) { [INFO] [stdout] 1644 | | self.errors.push(err); [INFO] [stdout] 1645 | | } [INFO] [stdout] 1646 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1642 ~ if let Some(value) = value [INFO] [stdout] 1643 ~ && let Err(err) = state.value_type(*value) { [INFO] [stdout] 1644 | self.errors.push(err); [INFO] [stdout] 1645 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/verifier/refinement.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | / if let VccValue::Reg(cond_reg) = cond { [INFO] [stdout] 15 | | if let Some(refinement) = state.cond_refinement(cond_reg) { [INFO] [stdout] 16 | | match refinement { [INFO] [stdout] 17 | | VccCondRefinement::PtrNull { [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 14 ~ if let VccValue::Reg(cond_reg) = cond [INFO] [stdout] 15 ~ && let Some(refinement) = state.cond_refinement(cond_reg) { [INFO] [stdout] 16 | match refinement { [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/state.rs:743:13 [INFO] [stdout] | [INFO] [stdout] 743 | / if let Some(right) = other.cond_refinements.get(reg) { [INFO] [stdout] 744 | | if left == right { [INFO] [stdout] 745 | | cond_refinements.insert(*reg, *left); [INFO] [stdout] 746 | | } [INFO] [stdout] 747 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 743 ~ if let Some(right) = other.cond_refinements.get(reg) [INFO] [stdout] 744 ~ && left == right { [INFO] [stdout] 745 | cond_refinements.insert(*reg, *left); [INFO] [stdout] 746 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/compiler/vcc/lower/helper_checks.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 472 | / pub(super) fn check_helper_ptr_arg_value( [INFO] [stdout] 473 | | &mut self, [INFO] [stdout] 474 | | helper_id: u32, [INFO] [stdout] 475 | | arg_idx: usize, [INFO] [stdout] ... | [INFO] [stdout] 484 | | out: &mut Vec, [INFO] [stdout] 485 | | ) -> Result<(), VccError> { [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/helper_checks.rs:711:9 [INFO] [stdout] | [INFO] [stdout] 711 | / if semantics.ringbuf_record_arg0 { [INFO] [stdout] 712 | | if let Some(record) = args.first() { [INFO] [stdout] 713 | | self.check_helper_ringbuf_record_arg( [INFO] [stdout] 714 | | helper_id, [INFO] [stdout] ... | [INFO] [stdout] 721 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 711 ~ if semantics.ringbuf_record_arg0 [INFO] [stdout] 712 ~ && let Some(record) = args.first() { [INFO] [stdout] 713 | self.check_helper_ringbuf_record_arg( [INFO] [stdout] ... [INFO] [stdout] 719 | )?; [INFO] [stdout] 720 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/helper_checks.rs:749:9 [INFO] [stdout] | [INFO] [stdout] 749 | / if let Some(ty) = self.types.get(®) { [INFO] [stdout] 750 | | if !matches!(ty, MirType::Ptr { .. }) { [INFO] [stdout] 751 | | let size = match ty.size() { [INFO] [stdout] 752 | | 0 => 8, [INFO] [stdout] ... | [INFO] [stdout] 765 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 749 ~ if let Some(ty) = self.types.get(®) [INFO] [stdout] 750 ~ && !matches!(ty, MirType::Ptr { .. }) { [INFO] [stdout] 751 | let size = match ty.size() { [INFO] [stdout] ... [INFO] [stdout] 763 | } [INFO] [stdout] 764 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/compiler/vcc/lower/helper_checks.rs:800:5 [INFO] [stdout] | [INFO] [stdout] 800 | / pub(super) fn check_kfunc_ptr_arg_value( [INFO] [stdout] 801 | | &mut self, [INFO] [stdout] 802 | | kfunc: &str, [INFO] [stdout] 803 | | arg_idx: usize, [INFO] [stdout] ... | [INFO] [stdout] 812 | | out: &mut Vec, [INFO] [stdout] 813 | | ) -> Result<(), VccError> { [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `lhs_ptr` after checking its variant with `is_some` [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:131:40 [INFO] [stdout] | [INFO] [stdout] 130 | let (base, offset_val, base_ptr) = if lhs_ptr.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = lhs_ptr` [INFO] [stdout] 131 | (lhs, rhs, lhs_ptr.unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | / if matches!( [INFO] [stdout] 459 | | BpfHelper::from_u32(*helper), [INFO] [stdout] 460 | | Some(BpfHelper::RingbufSubmit | BpfHelper::RingbufDiscard) [INFO] [stdout] 461 | | ) { [INFO] [stdout] ... | [INFO] [stdout] 466 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 461 ~ ) [INFO] [stdout] 462 ~ && let Some(arg0) = args.first() { [INFO] [stdout] 463 | let release_ptr = self.lower_value(arg0, out); [INFO] [stdout] 464 | out.push(VccInst::RingbufRelease { ptr: release_ptr }); [INFO] [stdout] 465 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:496:17 [INFO] [stdout] | [INFO] [stdout] 496 | / if let Some(kind) = Self::kfunc_release_kind(kfunc) { [INFO] [stdout] 497 | | if let Some(release_arg_idx) = Self::kfunc_release_arg_index(kfunc) [INFO] [stdout] 498 | | && let Some(arg) = args.get(release_arg_idx) [INFO] [stdout] ... | [INFO] [stdout] 506 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 496 ~ if let Some(kind) = Self::kfunc_release_kind(kfunc) [INFO] [stdout] 497 ~ && let Some(release_arg_idx) = Self::kfunc_release_arg_index(kfunc) [INFO] [stdout] 498 | && let Some(arg) = args.get(release_arg_idx) [INFO] [stdout] ... [INFO] [stdout] 504 | }); [INFO] [stdout] 505 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | / if kfunc == "bpf_local_irq_save" { [INFO] [stdout] 520 | | if let Some(flags) = args.first() { [INFO] [stdout] 521 | | out.push(VccInst::LocalIrqDisableAcquire { [INFO] [stdout] 522 | | flags: VccReg(flags.0), [INFO] [stdout] ... | [INFO] [stdout] 525 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 519 ~ if kfunc == "bpf_local_irq_save" [INFO] [stdout] 520 ~ && let Some(flags) = args.first() { [INFO] [stdout] 521 | out.push(VccInst::LocalIrqDisableAcquire { [INFO] [stdout] 522 | flags: VccReg(flags.0), [INFO] [stdout] 523 | }); [INFO] [stdout] 524 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:526:17 [INFO] [stdout] | [INFO] [stdout] 526 | / if kfunc == "bpf_local_irq_restore" { [INFO] [stdout] 527 | | if let Some(flags) = args.first() { [INFO] [stdout] 528 | | out.push(VccInst::LocalIrqDisableRelease { [INFO] [stdout] 529 | | flags: VccReg(flags.0), [INFO] [stdout] ... | [INFO] [stdout] 532 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 526 ~ if kfunc == "bpf_local_irq_restore" [INFO] [stdout] 527 ~ && let Some(flags) = args.first() { [INFO] [stdout] 528 | out.push(VccInst::LocalIrqDisableRelease { [INFO] [stdout] 529 | flags: VccReg(flags.0), [INFO] [stdout] 530 | }); [INFO] [stdout] 531 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:539:17 [INFO] [stdout] | [INFO] [stdout] 539 | / if kfunc == "bpf_res_spin_lock_irqsave" { [INFO] [stdout] 540 | | if let Some(flags) = args.get(1) { [INFO] [stdout] 541 | | out.push(VccInst::ResSpinLockIrqsaveAcquire { [INFO] [stdout] 542 | | flags: VccReg(flags.0), [INFO] [stdout] ... | [INFO] [stdout] 545 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 539 ~ if kfunc == "bpf_res_spin_lock_irqsave" [INFO] [stdout] 540 ~ && let Some(flags) = args.get(1) { [INFO] [stdout] 541 | out.push(VccInst::ResSpinLockIrqsaveAcquire { [INFO] [stdout] 542 | flags: VccReg(flags.0), [INFO] [stdout] 543 | }); [INFO] [stdout] 544 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:546:17 [INFO] [stdout] | [INFO] [stdout] 546 | / if kfunc == "bpf_res_spin_unlock_irqrestore" { [INFO] [stdout] 547 | | if let Some(flags) = args.get(1) { [INFO] [stdout] 548 | | out.push(VccInst::ResSpinLockIrqsaveRelease { [INFO] [stdout] 549 | | flags: VccReg(flags.0), [INFO] [stdout] ... | [INFO] [stdout] 552 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 546 ~ if kfunc == "bpf_res_spin_unlock_irqrestore" [INFO] [stdout] 547 ~ && let Some(flags) = args.get(1) { [INFO] [stdout] 548 | out.push(VccInst::ResSpinLockIrqsaveRelease { [INFO] [stdout] 549 | flags: VccReg(flags.0), [INFO] [stdout] 550 | }); [INFO] [stdout] 551 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:553:17 [INFO] [stdout] | [INFO] [stdout] 553 | / if kfunc == "bpf_iter_task_vma_new" { [INFO] [stdout] 554 | | if let Some(iter) = args.first() { [INFO] [stdout] 555 | | out.push(VccInst::IterTaskVmaNew { [INFO] [stdout] 556 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 559 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 553 ~ if kfunc == "bpf_iter_task_vma_new" [INFO] [stdout] 554 ~ && let Some(iter) = args.first() { [INFO] [stdout] 555 | out.push(VccInst::IterTaskVmaNew { [INFO] [stdout] 556 | iter: VccReg(iter.0), [INFO] [stdout] 557 | }); [INFO] [stdout] 558 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:560:17 [INFO] [stdout] | [INFO] [stdout] 560 | / if kfunc == "bpf_iter_task_vma_next" { [INFO] [stdout] 561 | | if let Some(iter) = args.first() { [INFO] [stdout] 562 | | out.push(VccInst::IterTaskVmaNext { [INFO] [stdout] 563 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 566 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 560 ~ if kfunc == "bpf_iter_task_vma_next" [INFO] [stdout] 561 ~ && let Some(iter) = args.first() { [INFO] [stdout] 562 | out.push(VccInst::IterTaskVmaNext { [INFO] [stdout] 563 | iter: VccReg(iter.0), [INFO] [stdout] 564 | }); [INFO] [stdout] 565 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:567:17 [INFO] [stdout] | [INFO] [stdout] 567 | / if kfunc == "bpf_iter_task_vma_destroy" { [INFO] [stdout] 568 | | if let Some(iter) = args.first() { [INFO] [stdout] 569 | | out.push(VccInst::IterTaskVmaDestroy { [INFO] [stdout] 570 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 573 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 567 ~ if kfunc == "bpf_iter_task_vma_destroy" [INFO] [stdout] 568 ~ && let Some(iter) = args.first() { [INFO] [stdout] 569 | out.push(VccInst::IterTaskVmaDestroy { [INFO] [stdout] 570 | iter: VccReg(iter.0), [INFO] [stdout] 571 | }); [INFO] [stdout] 572 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:574:17 [INFO] [stdout] | [INFO] [stdout] 574 | / if kfunc == "bpf_iter_task_new" { [INFO] [stdout] 575 | | if let Some(iter) = args.first() { [INFO] [stdout] 576 | | out.push(VccInst::IterTaskNew { [INFO] [stdout] 577 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 580 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 574 ~ if kfunc == "bpf_iter_task_new" [INFO] [stdout] 575 ~ && let Some(iter) = args.first() { [INFO] [stdout] 576 | out.push(VccInst::IterTaskNew { [INFO] [stdout] 577 | iter: VccReg(iter.0), [INFO] [stdout] 578 | }); [INFO] [stdout] 579 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:581:17 [INFO] [stdout] | [INFO] [stdout] 581 | / if kfunc == "bpf_iter_task_next" { [INFO] [stdout] 582 | | if let Some(iter) = args.first() { [INFO] [stdout] 583 | | out.push(VccInst::IterTaskNext { [INFO] [stdout] 584 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 587 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 581 ~ if kfunc == "bpf_iter_task_next" [INFO] [stdout] 582 ~ && let Some(iter) = args.first() { [INFO] [stdout] 583 | out.push(VccInst::IterTaskNext { [INFO] [stdout] 584 | iter: VccReg(iter.0), [INFO] [stdout] 585 | }); [INFO] [stdout] 586 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:588:17 [INFO] [stdout] | [INFO] [stdout] 588 | / if kfunc == "bpf_iter_task_destroy" { [INFO] [stdout] 589 | | if let Some(iter) = args.first() { [INFO] [stdout] 590 | | out.push(VccInst::IterTaskDestroy { [INFO] [stdout] 591 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 594 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 588 ~ if kfunc == "bpf_iter_task_destroy" [INFO] [stdout] 589 ~ && let Some(iter) = args.first() { [INFO] [stdout] 590 | out.push(VccInst::IterTaskDestroy { [INFO] [stdout] 591 | iter: VccReg(iter.0), [INFO] [stdout] 592 | }); [INFO] [stdout] 593 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:595:17 [INFO] [stdout] | [INFO] [stdout] 595 | / if kfunc == "bpf_iter_scx_dsq_new" { [INFO] [stdout] 596 | | if let Some(iter) = args.first() { [INFO] [stdout] 597 | | out.push(VccInst::IterScxDsqNew { [INFO] [stdout] 598 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 601 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 595 ~ if kfunc == "bpf_iter_scx_dsq_new" [INFO] [stdout] 596 ~ && let Some(iter) = args.first() { [INFO] [stdout] 597 | out.push(VccInst::IterScxDsqNew { [INFO] [stdout] 598 | iter: VccReg(iter.0), [INFO] [stdout] 599 | }); [INFO] [stdout] 600 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:602:17 [INFO] [stdout] | [INFO] [stdout] 602 | / if kfunc == "bpf_iter_scx_dsq_next" { [INFO] [stdout] 603 | | if let Some(iter) = args.first() { [INFO] [stdout] 604 | | out.push(VccInst::IterScxDsqNext { [INFO] [stdout] 605 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 608 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 602 ~ if kfunc == "bpf_iter_scx_dsq_next" [INFO] [stdout] 603 ~ && let Some(iter) = args.first() { [INFO] [stdout] 604 | out.push(VccInst::IterScxDsqNext { [INFO] [stdout] 605 | iter: VccReg(iter.0), [INFO] [stdout] 606 | }); [INFO] [stdout] 607 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:609:17 [INFO] [stdout] | [INFO] [stdout] 609 | / if kfunc == "bpf_iter_scx_dsq_destroy" { [INFO] [stdout] 610 | | if let Some(iter) = args.first() { [INFO] [stdout] 611 | | out.push(VccInst::IterScxDsqDestroy { [INFO] [stdout] 612 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 615 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 609 ~ if kfunc == "bpf_iter_scx_dsq_destroy" [INFO] [stdout] 610 ~ && let Some(iter) = args.first() { [INFO] [stdout] 611 | out.push(VccInst::IterScxDsqDestroy { [INFO] [stdout] 612 | iter: VccReg(iter.0), [INFO] [stdout] 613 | }); [INFO] [stdout] 614 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:616:17 [INFO] [stdout] | [INFO] [stdout] 616 | / if kfunc == "scx_bpf_dsq_move" { [INFO] [stdout] 617 | | if let Some(iter) = args.first() { [INFO] [stdout] 618 | | out.push(VccInst::IterScxDsqMove { [INFO] [stdout] 619 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 622 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 616 ~ if kfunc == "scx_bpf_dsq_move" [INFO] [stdout] 617 ~ && let Some(iter) = args.first() { [INFO] [stdout] 618 | out.push(VccInst::IterScxDsqMove { [INFO] [stdout] 619 | iter: VccReg(iter.0), [INFO] [stdout] 620 | }); [INFO] [stdout] 621 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:623:17 [INFO] [stdout] | [INFO] [stdout] 623 | / if kfunc == "scx_bpf_dsq_move_set_slice" { [INFO] [stdout] 624 | | if let Some(iter) = args.first() { [INFO] [stdout] 625 | | out.push(VccInst::IterScxDsqMoveSetSlice { [INFO] [stdout] 626 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 629 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 623 ~ if kfunc == "scx_bpf_dsq_move_set_slice" [INFO] [stdout] 624 ~ && let Some(iter) = args.first() { [INFO] [stdout] 625 | out.push(VccInst::IterScxDsqMoveSetSlice { [INFO] [stdout] 626 | iter: VccReg(iter.0), [INFO] [stdout] 627 | }); [INFO] [stdout] 628 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:630:17 [INFO] [stdout] | [INFO] [stdout] 630 | / if kfunc == "scx_bpf_dsq_move_set_vtime" { [INFO] [stdout] 631 | | if let Some(iter) = args.first() { [INFO] [stdout] 632 | | out.push(VccInst::IterScxDsqMoveSetVtime { [INFO] [stdout] 633 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 636 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 630 ~ if kfunc == "scx_bpf_dsq_move_set_vtime" [INFO] [stdout] 631 ~ && let Some(iter) = args.first() { [INFO] [stdout] 632 | out.push(VccInst::IterScxDsqMoveSetVtime { [INFO] [stdout] 633 | iter: VccReg(iter.0), [INFO] [stdout] 634 | }); [INFO] [stdout] 635 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:637:17 [INFO] [stdout] | [INFO] [stdout] 637 | / if kfunc == "scx_bpf_dsq_move_vtime" { [INFO] [stdout] 638 | | if let Some(iter) = args.first() { [INFO] [stdout] 639 | | out.push(VccInst::IterScxDsqMoveVtime { [INFO] [stdout] 640 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 643 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 637 ~ if kfunc == "scx_bpf_dsq_move_vtime" [INFO] [stdout] 638 ~ && let Some(iter) = args.first() { [INFO] [stdout] 639 | out.push(VccInst::IterScxDsqMoveVtime { [INFO] [stdout] 640 | iter: VccReg(iter.0), [INFO] [stdout] 641 | }); [INFO] [stdout] 642 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:644:17 [INFO] [stdout] | [INFO] [stdout] 644 | / if kfunc == "bpf_iter_num_new" { [INFO] [stdout] 645 | | if let Some(iter) = args.first() { [INFO] [stdout] 646 | | out.push(VccInst::IterNumNew { [INFO] [stdout] 647 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 650 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 644 ~ if kfunc == "bpf_iter_num_new" [INFO] [stdout] 645 ~ && let Some(iter) = args.first() { [INFO] [stdout] 646 | out.push(VccInst::IterNumNew { [INFO] [stdout] 647 | iter: VccReg(iter.0), [INFO] [stdout] 648 | }); [INFO] [stdout] 649 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:651:17 [INFO] [stdout] | [INFO] [stdout] 651 | / if kfunc == "bpf_iter_num_next" { [INFO] [stdout] 652 | | if let Some(iter) = args.first() { [INFO] [stdout] 653 | | out.push(VccInst::IterNumNext { [INFO] [stdout] 654 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 657 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 651 ~ if kfunc == "bpf_iter_num_next" [INFO] [stdout] 652 ~ && let Some(iter) = args.first() { [INFO] [stdout] 653 | out.push(VccInst::IterNumNext { [INFO] [stdout] 654 | iter: VccReg(iter.0), [INFO] [stdout] 655 | }); [INFO] [stdout] 656 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:658:17 [INFO] [stdout] | [INFO] [stdout] 658 | / if kfunc == "bpf_iter_num_destroy" { [INFO] [stdout] 659 | | if let Some(iter) = args.first() { [INFO] [stdout] 660 | | out.push(VccInst::IterNumDestroy { [INFO] [stdout] 661 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 664 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 658 ~ if kfunc == "bpf_iter_num_destroy" [INFO] [stdout] 659 ~ && let Some(iter) = args.first() { [INFO] [stdout] 660 | out.push(VccInst::IterNumDestroy { [INFO] [stdout] 661 | iter: VccReg(iter.0), [INFO] [stdout] 662 | }); [INFO] [stdout] 663 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:665:17 [INFO] [stdout] | [INFO] [stdout] 665 | / if kfunc == "bpf_iter_bits_new" { [INFO] [stdout] 666 | | if let Some(iter) = args.first() { [INFO] [stdout] 667 | | out.push(VccInst::IterBitsNew { [INFO] [stdout] 668 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 671 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 665 ~ if kfunc == "bpf_iter_bits_new" [INFO] [stdout] 666 ~ && let Some(iter) = args.first() { [INFO] [stdout] 667 | out.push(VccInst::IterBitsNew { [INFO] [stdout] 668 | iter: VccReg(iter.0), [INFO] [stdout] 669 | }); [INFO] [stdout] 670 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:672:17 [INFO] [stdout] | [INFO] [stdout] 672 | / if kfunc == "bpf_iter_bits_next" { [INFO] [stdout] 673 | | if let Some(iter) = args.first() { [INFO] [stdout] 674 | | out.push(VccInst::IterBitsNext { [INFO] [stdout] 675 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 678 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 672 ~ if kfunc == "bpf_iter_bits_next" [INFO] [stdout] 673 ~ && let Some(iter) = args.first() { [INFO] [stdout] 674 | out.push(VccInst::IterBitsNext { [INFO] [stdout] 675 | iter: VccReg(iter.0), [INFO] [stdout] 676 | }); [INFO] [stdout] 677 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:679:17 [INFO] [stdout] | [INFO] [stdout] 679 | / if kfunc == "bpf_iter_bits_destroy" { [INFO] [stdout] 680 | | if let Some(iter) = args.first() { [INFO] [stdout] 681 | | out.push(VccInst::IterBitsDestroy { [INFO] [stdout] 682 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 685 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 679 ~ if kfunc == "bpf_iter_bits_destroy" [INFO] [stdout] 680 ~ && let Some(iter) = args.first() { [INFO] [stdout] 681 | out.push(VccInst::IterBitsDestroy { [INFO] [stdout] 682 | iter: VccReg(iter.0), [INFO] [stdout] 683 | }); [INFO] [stdout] 684 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:686:17 [INFO] [stdout] | [INFO] [stdout] 686 | / if kfunc == "bpf_iter_css_new" { [INFO] [stdout] 687 | | if let Some(iter) = args.first() { [INFO] [stdout] 688 | | out.push(VccInst::IterCssNew { [INFO] [stdout] 689 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 692 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 686 ~ if kfunc == "bpf_iter_css_new" [INFO] [stdout] 687 ~ && let Some(iter) = args.first() { [INFO] [stdout] 688 | out.push(VccInst::IterCssNew { [INFO] [stdout] 689 | iter: VccReg(iter.0), [INFO] [stdout] 690 | }); [INFO] [stdout] 691 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:693:17 [INFO] [stdout] | [INFO] [stdout] 693 | / if kfunc == "bpf_iter_css_next" { [INFO] [stdout] 694 | | if let Some(iter) = args.first() { [INFO] [stdout] 695 | | out.push(VccInst::IterCssNext { [INFO] [stdout] 696 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 699 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 693 ~ if kfunc == "bpf_iter_css_next" [INFO] [stdout] 694 ~ && let Some(iter) = args.first() { [INFO] [stdout] 695 | out.push(VccInst::IterCssNext { [INFO] [stdout] 696 | iter: VccReg(iter.0), [INFO] [stdout] 697 | }); [INFO] [stdout] 698 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:700:17 [INFO] [stdout] | [INFO] [stdout] 700 | / if kfunc == "bpf_iter_css_destroy" { [INFO] [stdout] 701 | | if let Some(iter) = args.first() { [INFO] [stdout] 702 | | out.push(VccInst::IterCssDestroy { [INFO] [stdout] 703 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 706 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 700 ~ if kfunc == "bpf_iter_css_destroy" [INFO] [stdout] 701 ~ && let Some(iter) = args.first() { [INFO] [stdout] 702 | out.push(VccInst::IterCssDestroy { [INFO] [stdout] 703 | iter: VccReg(iter.0), [INFO] [stdout] 704 | }); [INFO] [stdout] 705 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:707:17 [INFO] [stdout] | [INFO] [stdout] 707 | / if kfunc == "bpf_iter_css_task_new" { [INFO] [stdout] 708 | | if let Some(iter) = args.first() { [INFO] [stdout] 709 | | out.push(VccInst::IterCssTaskNew { [INFO] [stdout] 710 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 713 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 707 ~ if kfunc == "bpf_iter_css_task_new" [INFO] [stdout] 708 ~ && let Some(iter) = args.first() { [INFO] [stdout] 709 | out.push(VccInst::IterCssTaskNew { [INFO] [stdout] 710 | iter: VccReg(iter.0), [INFO] [stdout] 711 | }); [INFO] [stdout] 712 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:714:17 [INFO] [stdout] | [INFO] [stdout] 714 | / if kfunc == "bpf_iter_css_task_next" { [INFO] [stdout] 715 | | if let Some(iter) = args.first() { [INFO] [stdout] 716 | | out.push(VccInst::IterCssTaskNext { [INFO] [stdout] 717 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 720 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 714 ~ if kfunc == "bpf_iter_css_task_next" [INFO] [stdout] 715 ~ && let Some(iter) = args.first() { [INFO] [stdout] 716 | out.push(VccInst::IterCssTaskNext { [INFO] [stdout] 717 | iter: VccReg(iter.0), [INFO] [stdout] 718 | }); [INFO] [stdout] 719 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:721:17 [INFO] [stdout] | [INFO] [stdout] 721 | / if kfunc == "bpf_iter_css_task_destroy" { [INFO] [stdout] 722 | | if let Some(iter) = args.first() { [INFO] [stdout] 723 | | out.push(VccInst::IterCssTaskDestroy { [INFO] [stdout] 724 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 727 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 721 ~ if kfunc == "bpf_iter_css_task_destroy" [INFO] [stdout] 722 ~ && let Some(iter) = args.first() { [INFO] [stdout] 723 | out.push(VccInst::IterCssTaskDestroy { [INFO] [stdout] 724 | iter: VccReg(iter.0), [INFO] [stdout] 725 | }); [INFO] [stdout] 726 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:728:17 [INFO] [stdout] | [INFO] [stdout] 728 | / if kfunc == "bpf_iter_dmabuf_new" { [INFO] [stdout] 729 | | if let Some(iter) = args.first() { [INFO] [stdout] 730 | | out.push(VccInst::IterDmabufNew { [INFO] [stdout] 731 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 734 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 728 ~ if kfunc == "bpf_iter_dmabuf_new" [INFO] [stdout] 729 ~ && let Some(iter) = args.first() { [INFO] [stdout] 730 | out.push(VccInst::IterDmabufNew { [INFO] [stdout] 731 | iter: VccReg(iter.0), [INFO] [stdout] 732 | }); [INFO] [stdout] 733 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:735:17 [INFO] [stdout] | [INFO] [stdout] 735 | / if kfunc == "bpf_iter_dmabuf_next" { [INFO] [stdout] 736 | | if let Some(iter) = args.first() { [INFO] [stdout] 737 | | out.push(VccInst::IterDmabufNext { [INFO] [stdout] 738 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 741 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 735 ~ if kfunc == "bpf_iter_dmabuf_next" [INFO] [stdout] 736 ~ && let Some(iter) = args.first() { [INFO] [stdout] 737 | out.push(VccInst::IterDmabufNext { [INFO] [stdout] 738 | iter: VccReg(iter.0), [INFO] [stdout] 739 | }); [INFO] [stdout] 740 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:742:17 [INFO] [stdout] | [INFO] [stdout] 742 | / if kfunc == "bpf_iter_dmabuf_destroy" { [INFO] [stdout] 743 | | if let Some(iter) = args.first() { [INFO] [stdout] 744 | | out.push(VccInst::IterDmabufDestroy { [INFO] [stdout] 745 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 748 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 742 ~ if kfunc == "bpf_iter_dmabuf_destroy" [INFO] [stdout] 743 ~ && let Some(iter) = args.first() { [INFO] [stdout] 744 | out.push(VccInst::IterDmabufDestroy { [INFO] [stdout] 745 | iter: VccReg(iter.0), [INFO] [stdout] 746 | }); [INFO] [stdout] 747 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:749:17 [INFO] [stdout] | [INFO] [stdout] 749 | / if kfunc == "bpf_iter_kmem_cache_new" { [INFO] [stdout] 750 | | if let Some(iter) = args.first() { [INFO] [stdout] 751 | | out.push(VccInst::IterKmemCacheNew { [INFO] [stdout] 752 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 755 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 749 ~ if kfunc == "bpf_iter_kmem_cache_new" [INFO] [stdout] 750 ~ && let Some(iter) = args.first() { [INFO] [stdout] 751 | out.push(VccInst::IterKmemCacheNew { [INFO] [stdout] 752 | iter: VccReg(iter.0), [INFO] [stdout] 753 | }); [INFO] [stdout] 754 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:756:17 [INFO] [stdout] | [INFO] [stdout] 756 | / if kfunc == "bpf_iter_kmem_cache_next" { [INFO] [stdout] 757 | | if let Some(iter) = args.first() { [INFO] [stdout] 758 | | out.push(VccInst::IterKmemCacheNext { [INFO] [stdout] 759 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 762 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 756 ~ if kfunc == "bpf_iter_kmem_cache_next" [INFO] [stdout] 757 ~ && let Some(iter) = args.first() { [INFO] [stdout] 758 | out.push(VccInst::IterKmemCacheNext { [INFO] [stdout] 759 | iter: VccReg(iter.0), [INFO] [stdout] 760 | }); [INFO] [stdout] 761 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:763:17 [INFO] [stdout] | [INFO] [stdout] 763 | / if kfunc == "bpf_iter_kmem_cache_destroy" { [INFO] [stdout] 764 | | if let Some(iter) = args.first() { [INFO] [stdout] 765 | | out.push(VccInst::IterKmemCacheDestroy { [INFO] [stdout] 766 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 769 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 763 ~ if kfunc == "bpf_iter_kmem_cache_destroy" [INFO] [stdout] 764 ~ && let Some(iter) = args.first() { [INFO] [stdout] 765 | out.push(VccInst::IterKmemCacheDestroy { [INFO] [stdout] 766 | iter: VccReg(iter.0), [INFO] [stdout] 767 | }); [INFO] [stdout] 768 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/compiler/vcc/map_layout.rs:169:27 [INFO] [stdout] | [INFO] [stdout] 169 | } else if !(defaulted && !spec.value_size_defaulted) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!defaulted || spec.value_size_defaulted` [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: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/verifier_types/state/mod.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | / if let Some(slot) = self.not_equal.get_mut(vreg.0 as usize) { [INFO] [stdout] 336 | | if !slot.contains(&value) { [INFO] [stdout] 337 | | slot.push(value); [INFO] [stdout] 338 | | slot.sort_unstable(); [INFO] [stdout] ... | [INFO] [stdout] 343 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 335 ~ if let Some(slot) = self.not_equal.get_mut(vreg.0 as usize) [INFO] [stdout] 336 ~ && !slot.contains(&value) { [INFO] [stdout] 337 | slot.push(value); [INFO] [stdout] ... [INFO] [stdout] 341 | } [INFO] [stdout] 342 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/compiler/verifier_types/apply/access.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | / pub(super) fn apply_load_slot_inst( [INFO] [stdout] 48 | | dst: VReg, [INFO] [stdout] 49 | | slot: StackSlotId, [INFO] [stdout] 50 | | offset: i32, [INFO] [stdout] ... | [INFO] [stdout] 55 | | errors: &mut Vec, [INFO] [stdout] 56 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/compiler/verifier_types/calls/helper.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | / pub(in crate::compiler::verifier_types) fn check_helper_ptr_arg_value( [INFO] [stdout] 74 | | helper_id: u32, [INFO] [stdout] 75 | | arg_idx: usize, [INFO] [stdout] 76 | | arg: &MirValue, [INFO] [stdout] ... | [INFO] [stdout] 85 | | errors: &mut Vec, [INFO] [stdout] 86 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/compiler/verifier_types/calls/helper.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | / let Some(helper) = BpfHelper::from_u32(helper_id) else { [INFO] [stdout] 163 | | return None; [INFO] [stdout] 164 | | }; [INFO] [stdout] | |______^ help: replace it with: `let helper = BpfHelper::from_u32(helper_id)?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/verifier_types/calls/helper.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | / if semantics.ringbuf_record_arg0 { [INFO] [stdout] 246 | | if let Some(record) = args.first() { [INFO] [stdout] 247 | | match record { [INFO] [stdout] 248 | | MirValue::VReg(vreg) => match state.get(*vreg) { [INFO] [stdout] ... | [INFO] [stdout] 287 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 245 ~ if semantics.ringbuf_record_arg0 [INFO] [stdout] 246 ~ && let Some(record) = args.first() { [INFO] [stdout] 247 | match record { [INFO] [stdout] ... [INFO] [stdout] 285 | } [INFO] [stdout] 286 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/verifier_types/calls/kfunc.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | / if let Some(expected_kind) = kfunc_pointer_arg_expected_ref_kind(kfunc, arg_idx) [INFO] [stdout] 112 | | { [INFO] [stdout] 113 | | if let Some(ref_id) = kfunc_ref { [INFO] [stdout] 114 | | if !state.is_live_kfunc_ref(ref_id) { [INFO] [stdout] ... | [INFO] [stdout] 137 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 111 ~ if let Some(expected_kind) = kfunc_pointer_arg_expected_ref_kind(kfunc, arg_idx) [INFO] [stdout] 112 ~ && let Some(ref_id) = kfunc_ref { [INFO] [stdout] 113 | if !state.is_live_kfunc_ref(ref_id) { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/compiler/verifier_types/calls/kfunc.rs:204:1 [INFO] [stdout] | [INFO] [stdout] 204 | / pub(in crate::compiler::verifier_types) fn check_kfunc_ptr_arg_value( [INFO] [stdout] 205 | | kfunc: &str, [INFO] [stdout] 206 | | arg_idx: usize, [INFO] [stdout] 207 | | arg: VReg, [INFO] [stdout] ... | [INFO] [stdout] 216 | | errors: &mut Vec, [INFO] [stdout] 217 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/compiler/verifier_types/map_layout.rs:153:27 [INFO] [stdout] | [INFO] [stdout] 153 | } else if !(defaulted && !spec.value_size_defaulted) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!defaulted || spec.value_size_defaulted` [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: variant name ends with the enum's name [INFO] [stdout] --> src/kernel_btf/service.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | KernelBtfError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | RwLock>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:160:35 [INFO] [stdout] | [INFO] [stdout] 160 | kfunc_pointer_size_arg_cache: RwLock>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:169:35 [INFO] [stdout] | [INFO] [stdout] 169 | kfunc_stack_object_arg_cache: RwLock>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:171:37 [INFO] [stdout] | [INFO] [stdout] 171 | kfunc_pointer_fixed_size_cache: RwLock>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:1261:10 [INFO] [stdout] | [INFO] [stdout] 1261 | ) -> Result>, BtfError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/kernel_btf/service.rs:2224:9 [INFO] [stdout] | [INFO] [stdout] 2224 | 8 | 9 | 10 | 11 | 12 => Some(0), // TYPEDEF / VOLATILE / CONST / RESTRICT / FUNC [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `8..=12` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> tests/integration.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | assert!(true); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/commands/setup.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | / if let Ok(out) = output { [INFO] [stdout] 168 | | if out.status.success() { [INFO] [stdout] 169 | | sysctl_applied = true; [INFO] [stdout] 170 | | } [INFO] [stdout] 171 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 167 ~ if let Ok(out) = output [INFO] [stdout] 168 ~ && out.status.success() { [INFO] [stdout] 169 | sysctl_applied = true; [INFO] [stdout] 170 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/compiler/elf/program_impl.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | / pub fn with_maps( [INFO] [stdout] 50 | | prog_type: EbpfProgramType, [INFO] [stdout] 51 | | target: impl Into, [INFO] [stdout] 52 | | name: impl Into, [INFO] [stdout] ... | [INFO] [stdout] 58 | | event_schema: Option, [INFO] [stdout] 59 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/graph_coloring/coalesce.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | / if self.node_state.get(&vreg) == Some(&NodeState::Coalesced) { [INFO] [stdout] 136 | | if let Some(&alias) = self.alias.get(&vreg) { [INFO] [stdout] 137 | | return self.get_alias(alias); [INFO] [stdout] 138 | | } [INFO] [stdout] 139 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 135 ~ if self.node_state.get(&vreg) == Some(&NodeState::Coalesced) [INFO] [stdout] 136 ~ && let Some(&alias) = self.alias.get(&vreg) { [INFO] [stdout] 137 | return self.get_alias(alias); [INFO] [stdout] 138 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/graph_coloring/coloring.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | / if !self.is_move_related(other) && self.graph.degree(other) < self.k { [INFO] [stdout] 32 | | if self.freeze_worklist.remove(&other) { [INFO] [stdout] 33 | | self.simplify_worklist.push_back(other); [INFO] [stdout] 34 | | self.node_state.insert(other, NodeState::Simplify); [INFO] [stdout] 35 | | } [INFO] [stdout] 36 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 31 ~ if !self.is_move_related(other) && self.graph.degree(other) < self.k [INFO] [stdout] 32 ~ && self.freeze_worklist.remove(&other) { [INFO] [stdout] 33 | self.simplify_worklist.push_back(other); [INFO] [stdout] 34 | self.node_state.insert(other, NodeState::Simplify); [INFO] [stdout] 35 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/compiler/graph_coloring.rs:456:9 [INFO] [stdout] | [INFO] [stdout] 456 | spilled.sort_by(|a, b| self.graph.degree(*b).cmp(&self.graph.degree(*a))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 456 - spilled.sort_by(|a, b| self.graph.degree(*b).cmp(&self.graph.degree(*a))); [INFO] [stdout] 456 + spilled.sort_by_key(|b| std::cmp::Reverse(self.graph.degree(*b))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/graph_coloring.rs:464:17 [INFO] [stdout] | [INFO] [stdout] 464 | / if self.spilled_nodes.contains(&neighbor) { [INFO] [stdout] 465 | | if let Some(&slot) = slot_for.get(&neighbor) { [INFO] [stdout] 466 | | used.insert(slot); [INFO] [stdout] 467 | | } [INFO] [stdout] 468 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 464 ~ if self.spilled_nodes.contains(&neighbor) [INFO] [stdout] 465 ~ && let Some(&slot) = slot_for.get(&neighbor) { [INFO] [stdout] 466 | used.insert(slot); [INFO] [stdout] 467 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/compiler/graph_coloring/tests.rs:178:23 [INFO] [stdout] | [INFO] [stdout] 178 | let mut baseline: Option<(Vec<(u32, EbpfReg)>, Vec, usize)> = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/hir/lowering.rs:461:9 [INFO] [stdout] | [INFO] [stdout] 461 | / if matches!( [INFO] [stdout] 462 | | inst, [INFO] [stdout] 463 | | Instruction::Jump { .. } [INFO] [stdout] 464 | | | Instruction::BranchIf { .. } [INFO] [stdout] ... | [INFO] [stdout] 475 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 471 ~ ) [INFO] [stdout] 472 ~ && idx + 1 < instructions.len() { [INFO] [stdout] 473 | starts.insert(idx + 1); [INFO] [stdout] 474 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/hir.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | / if let Instruction::LoadVariable { var_id, .. } = instruction { [INFO] [stdout] 315 | | if !stored_vars.contains(var_id) && !first_loaded.contains(var_id) { [INFO] [stdout] 316 | | first_loaded.push(*var_id); [INFO] [stdout] 317 | | } [INFO] [stdout] 318 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 314 ~ if let Instruction::LoadVariable { var_id, .. } = instruction [INFO] [stdout] 315 ~ && !stored_vars.contains(var_id) && !first_loaded.contains(var_id) { [INFO] [stdout] 316 | first_loaded.push(*var_id); [INFO] [stdout] 317 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `if let` [INFO] [stdout] --> src/compiler/hir.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | / match lit { [INFO] [stdout] 335 | | Literal::Closure(block_id) [INFO] [stdout] 336 | | | Literal::Block(block_id) [INFO] [stdout] 337 | | | Literal::RowCondition(block_id) => { [INFO] [stdout] ... | [INFO] [stdout] 342 | | _ => {} [INFO] [stdout] 343 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/compiler/hir.rs:333:43 [INFO] [stdout] | [INFO] [stdout] 333 | if let Instruction::LoadLiteral { lit, .. } = instruction { [INFO] [stdout] | ^^^ replace this binding [INFO] [stdout] 334 | match lit { [INFO] [stdout] 335 | / Literal::Closure(block_id) [INFO] [stdout] 336 | | | Literal::Block(block_id) [INFO] [stdout] 337 | | | Literal::RowCondition(block_id) => { [INFO] [stdout] | |_________________________________________________^ with this pattern, prefixed by `lit: ` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/hir.rs:338:21 [INFO] [stdout] | [INFO] [stdout] 338 | / if !block_ids.contains(block_id) { [INFO] [stdout] 339 | | block_ids.push(*block_id); [INFO] [stdout] 340 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 337 ~ | Literal::RowCondition(block_id) [INFO] [stdout] 338 ~ if !block_ids.contains(block_id) => { [INFO] [stdout] 339 | block_ids.push(*block_id); [INFO] [stdout] 340 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/hir.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | / if let Instruction::Call { decl_id, .. } = instruction { [INFO] [stdout] 356 | | if !decl_ids.contains(decl_id) { [INFO] [stdout] 357 | | decl_ids.push(*decl_id); [INFO] [stdout] 358 | | } [INFO] [stdout] 359 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 355 ~ if let Instruction::Call { decl_id, .. } = instruction [INFO] [stdout] 356 ~ && !decl_ids.contains(decl_id) { [INFO] [stdout] 357 | decl_ids.push(*decl_id); [INFO] [stdout] 358 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:530:17 [INFO] [stdout] | [INFO] [stdout] 530 | / let Some(kind) = kernel_btf [INFO] [stdout] 531 | | .kfunc_return_ref_family(kfunc) [INFO] [stdout] 532 | | .map(ref_kind_from_btf_family) [INFO] [stdout] 533 | | else { [INFO] [stdout] 534 | | return None; [INFO] [stdout] 535 | | }; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] help: replace it with [INFO] [stdout] | [INFO] [stdout] 530 ~ let kind = kernel_btf [INFO] [stdout] 531 + .kfunc_return_ref_family(kfunc) [INFO] [stdout] 532 + .map(ref_kind_from_btf_family)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:1676:41 [INFO] [stdout] | [INFO] [stdout] 1676 | fn infer_unknown_stack_object_copy_args<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 1677 | args: &'a [UnknownStackObjectArgInfo], [INFO] [stdout] | ^^ [INFO] [stdout] 1678 | move_semantics: bool, [INFO] [stdout] 1679 | ) -> Vec<(&'a UnknownStackObjectArgInfo, &'a UnknownStackObjectArgInfo)> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 1676 ~ fn infer_unknown_stack_object_copy_args( [INFO] [stdout] 1677 ~ args: &[UnknownStackObjectArgInfo], [INFO] [stdout] 1678 | move_semantics: bool, [INFO] [stdout] 1679 ~ ) -> Vec<(&UnknownStackObjectArgInfo, &UnknownStackObjectArgInfo)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:254:35 [INFO] [stdout] | [INFO] [stdout] 254 | let aligned_len = align_to_eight(max_len).min(MAX_STRING_SIZE).max(16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `align_to_eight(max_len).clamp(16, MAX_STRING_SIZE)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:300:35 [INFO] [stdout] | [INFO] [stdout] 300 | let aligned_len = align_to_eight(max_len).min(MAX_STRING_SIZE).max(16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `align_to_eight(max_len).clamp(16, MAX_STRING_SIZE)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:458:21 [INFO] [stdout] | [INFO] [stdout] 458 | / if let Some(reg) = input_reg { [INFO] [stdout] 459 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 460 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 461 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 465 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 458 ~ if let Some(reg) = input_reg [INFO] [stdout] 459 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 460 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 463 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 464 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:496:21 [INFO] [stdout] | [INFO] [stdout] 496 | / if let Some(meta) = meta { [INFO] [stdout] 497 | | if let Some((_slot, max_len)) = meta.list_buffer { [INFO] [stdout] 498 | | // Create a new list for output [INFO] [stdout] 499 | | let out_slot = self.func.alloc_stack_slot( [INFO] [stdout] ... | [INFO] [stdout] 533 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 496 ~ if let Some(meta) = meta [INFO] [stdout] 497 ~ && let Some((_slot, max_len)) = meta.list_buffer { [INFO] [stdout] 498 | // Create a new list for output [INFO] [stdout] ... [INFO] [stdout] 531 | return Ok(()); [INFO] [stdout] 532 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:544:21 [INFO] [stdout] | [INFO] [stdout] 544 | / if let Some(reg) = input_reg { [INFO] [stdout] 545 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 546 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 547 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 551 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 544 ~ if let Some(reg) = input_reg [INFO] [stdout] 545 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 546 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 549 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 550 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:611:17 [INFO] [stdout] | [INFO] [stdout] 611 | / if let Some(reg) = input_reg { [INFO] [stdout] 612 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 613 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 614 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 618 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 611 ~ if let Some(reg) = input_reg [INFO] [stdout] 612 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 613 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 616 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 617 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:646:21 [INFO] [stdout] | [INFO] [stdout] 646 | / if let Some(reg) = input_reg { [INFO] [stdout] 647 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 648 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 649 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 653 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 646 ~ if let Some(reg) = input_reg [INFO] [stdout] 647 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 648 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 651 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 652 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/calls.rs:661:21 [INFO] [stdout] | [INFO] [stdout] 661 | / if let Some(reg) = input_reg { [INFO] [stdout] 662 | | if let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 663 | | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] 664 | | out_meta.field_type = meta.field_type; [INFO] [stdout] ... | [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 661 ~ if let Some(reg) = input_reg [INFO] [stdout] 662 ~ && let Some(meta) = self.get_metadata(reg).cloned() { [INFO] [stdout] 663 | let out_meta = self.get_or_create_metadata(src_dst); [INFO] [stdout] ... [INFO] [stdout] 666 | out_meta.record_fields = meta.record_fields; [INFO] [stdout] 667 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/closures.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | / if let HirStmt::LoadVariable { var_id, .. } = stmt { [INFO] [stdout] 80 | | if !loaded_var_ids.contains(var_id) { [INFO] [stdout] 81 | | loaded_var_ids.push(*var_id); [INFO] [stdout] 82 | | } [INFO] [stdout] 83 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 79 ~ if let HirStmt::LoadVariable { var_id, .. } = stmt [INFO] [stdout] 80 ~ && !loaded_var_ids.contains(var_id) { [INFO] [stdout] 81 | loaded_var_ids.push(*var_id); [INFO] [stdout] 82 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> src/compiler/ir_to_mir/closures.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | / if !self.var_mappings.contains_key(&var_id) { [INFO] [stdout] 99 | | param_var_ids.push(var_id); [INFO] [stdout] 100 | | self.var_mappings.insert(var_id, in_vreg); [INFO] [stdout] 101 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 98 ~ self.var_mappings.entry(var_id).or_insert_with(|| { [INFO] [stdout] 99 + param_var_ids.push(var_id); [INFO] [stdout] 100 + in_vreg [INFO] [stdout] 101 + }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/control_flow.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | / if let Some(meta) = src_meta { [INFO] [stdout] 191 | | if let Some((_slot, max_len)) = meta.list_buffer { [INFO] [stdout] 192 | | // Emit length load and bounded copy loop [INFO] [stdout] 193 | | let len_vreg = self.func.alloc_vreg(); [INFO] [stdout] ... | [INFO] [stdout] 214 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 190 ~ if let Some(meta) = src_meta [INFO] [stdout] 191 ~ && let Some((_slot, max_len)) = meta.list_buffer { [INFO] [stdout] 192 | // Emit length load and bounded copy loop [INFO] [stdout] ... [INFO] [stdout] 212 | } [INFO] [stdout] 213 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/compiler/ir_to_mir/core_utils.rs:76:22 [INFO] [stdout] | [INFO] [stdout] 76 | let needed = align_to_eight(required_len.saturating_add(1)) [INFO] [stdout] | ______________________^ [INFO] [stdout] 77 | | .min(MAX_STRING_SIZE) [INFO] [stdout] 78 | | .max(16); [INFO] [stdout] | |____________________^ help: replace with clamp: `align_to_eight(required_len.saturating_add(1)).clamp(16, MAX_STRING_SIZE)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/compiler/ir_to_mir/expr_lowering.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 40 | let aligned_len = align_to_eight(content_len + 1).min(MAX_STRING_SIZE).max(16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `align_to_eight(content_len + 1).clamp(16, MAX_STRING_SIZE)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/compiler/ir_to_mir/expr_lowering.rs:177:31 [INFO] [stdout] | [INFO] [stdout] 177 | let max_len = (*capacity as usize).min(MAX_LIST_CAPACITY); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `(*capacity)` [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: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/compiler/ir_to_mir/subfunctions.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | / if let Err(err) = result { [INFO] [stdout] 117 | | return Err(err); [INFO] [stdout] 118 | | } [INFO] [stdout] | |_________^ help: replace it with: `result?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/user_functions.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | / if let HirStmt::LoadVariable { var_id, .. } = stmt { [INFO] [stdout] 19 | | if *var_id != IN_VARIABLE_ID && !stored.contains(var_id) { [INFO] [stdout] 20 | | params.insert(*var_id); [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 18 ~ if let HirStmt::LoadVariable { var_id, .. } = stmt [INFO] [stdout] 19 ~ && *var_id != IN_VARIABLE_ID && !stored.contains(var_id) { [INFO] [stdout] 20 | params.insert(*var_id); [INFO] [stdout] 21 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/user_functions.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | / if let HirStmt::LoadVariable { var_id, .. } = stmt { [INFO] [stdout] 46 | | if *var_id != IN_VARIABLE_ID && !stored.contains(var_id) { [INFO] [stdout] 47 | | let id = var_id.get(); [INFO] [stdout] 48 | | min_var = Some(min_var.map_or(id, |cur| cur.min(id))); [INFO] [stdout] 49 | | } [INFO] [stdout] 50 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 45 ~ if let HirStmt::LoadVariable { var_id, .. } = stmt [INFO] [stdout] 46 ~ && *var_id != IN_VARIABLE_ID && !stored.contains(var_id) { [INFO] [stdout] 47 | let id = var_id.get(); [INFO] [stdout] 48 | min_var = Some(min_var.map_or(id, |cur| cur.min(id))); [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/ir_to_mir/user_functions.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | / if let HirStmt::LoadVariable { var_id, .. } = stmt { [INFO] [stdout] 61 | | if *var_id == IN_VARIABLE_ID { [INFO] [stdout] 62 | | return true; [INFO] [stdout] 63 | | } [INFO] [stdout] 64 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 60 ~ if let HirStmt::LoadVariable { var_id, .. } = stmt [INFO] [stdout] 61 ~ && *var_id == IN_VARIABLE_ID { [INFO] [stdout] 62 | return true; [INFO] [stdout] 63 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/compiler/ir_to_mir.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | / fn new( [INFO] [stdout] 269 | | probe_ctx: Option<&'a ProbeContext>, [INFO] [stdout] 270 | | decl_names: &'a HashMap, [INFO] [stdout] 271 | | closure_irs: &'a HashMap, [INFO] [stdout] ... | [INFO] [stdout] 276 | | decl_signatures: &'a HashMap, [INFO] [stdout] 277 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `LirFunction` [INFO] [stdout] --> src/compiler/lir.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | / pub fn new() -> Self { [INFO] [stdout] 80 | | Self { [INFO] [stdout] 81 | | name: None, [INFO] [stdout] 82 | | blocks: Vec::new(), [INFO] [stdout] ... | [INFO] [stdout] 90 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 78 + impl Default for LirFunction { [INFO] [stdout] 79 + fn default() -> Self { [INFO] [stdout] 80 + Self::new() [INFO] [stdout] 81 + } [INFO] [stdout] 82 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/compiler/mir/inst_impl.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | / if let MirValue::VReg(vreg) = $value { [INFO] [stdout] 26 | | f(vreg); [INFO] [stdout] 27 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] ... [INFO] [stdout] 88 | visit_value!(value); [INFO] [stdout] | ------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/compiler/mir/inst_impl.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | if let MirValue::VReg(vreg) = $value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] ... [INFO] [stdout] 87 | if let Some(value) = val { [INFO] [stdout] | ^^^^^ replace this binding [INFO] [stdout] 88 | visit_value!(value); [INFO] [stdout] | ------------------- in this macro invocation [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: this warning originates in the macro `visit_value` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/compiler/mir_to_ebpf/function_setup.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | ) -> Result< [INFO] [stdout] | __________^ [INFO] [stdout] 26 | | ( [INFO] [stdout] 27 | | HashMap, [INFO] [stdout] 28 | | HashMap, [INFO] [stdout] ... | [INFO] [stdout] 33 | | CompileError, [INFO] [stdout] 34 | | > { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `arg_regs` [INFO] [stdout] --> src/compiler/mir_to_ebpf/function_setup.rs:281:18 [INFO] [stdout] | [INFO] [stdout] 281 | for i in 0..func.param_count { [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 and enumerate() [INFO] [stdout] | [INFO] [stdout] 281 - for i in 0..func.param_count { [INFO] [stdout] 281 + for (i, ) in arg_regs.iter().enumerate().take(func.param_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/compiler/mir_to_ebpf/maps.rs:365:31 [INFO] [stdout] | [INFO] [stdout] 365 | } else if !(defaulted && !spec.value_size_defaulted) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!defaulted || spec.value_size_defaulted` [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 `if` statement can be collapsed [INFO] [stdout] --> src/compiler/mir_to_ebpf/value_ops.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / if let (Some(rhs_reg_value), Some(rhs_vreg)) = (rhs_reg, rhs_vreg) { [INFO] [stdout] 127 | | if rhs_reg_value == dst_reg && lhs_vreg != Some(rhs_vreg) { [INFO] [stdout] 128 | | // Preserve RHS before we clobber dst_reg with LHS. [INFO] [stdout] 129 | | if dst_reg != EbpfReg::R0 { [INFO] [stdout] ... | [INFO] [stdout] 135 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 126 ~ if let (Some(rhs_reg_value), Some(rhs_vreg)) = (rhs_reg, rhs_vreg) [INFO] [stdout] 127 ~ && rhs_reg_value == dst_reg && lhs_vreg != Some(rhs_vreg) { [INFO] [stdout] 128 | // Preserve RHS before we clobber dst_reg with LHS. [INFO] [stdout] ... [INFO] [stdout] 133 | } [INFO] [stdout] 134 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/mir_to_ebpf.rs:440:9 [INFO] [stdout] | [INFO] [stdout] 440 | / if let Err(errors) = verifier_types::verify_mir(func, &types) { [INFO] [stdout] 441 | | if let Some(err) = errors.into_iter().next() { [INFO] [stdout] 442 | | return Err(CompileError::VerifierTypeError(err)); [INFO] [stdout] 443 | | } [INFO] [stdout] 444 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 440 ~ if let Err(errors) = verifier_types::verify_mir(func, &types) [INFO] [stdout] 441 ~ && let Some(err) = errors.into_iter().next() { [INFO] [stdout] 442 | return Err(CompileError::VerifierTypeError(err)); [INFO] [stdout] 443 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/passes/branch_opt.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | / if block.instructions.is_empty() { [INFO] [stdout] 51 | | if let MirInst::Jump { target } = &block.terminator { [INFO] [stdout] 52 | | jump_targets.insert(block.id, *target); [INFO] [stdout] 53 | | } [INFO] [stdout] 54 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 50 ~ if block.instructions.is_empty() [INFO] [stdout] 51 ~ && let MirInst::Jump { target } = &block.terminator { [INFO] [stdout] 52 | jump_targets.insert(block.id, *target); [INFO] [stdout] 53 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | / if self.mark_edge(block_id, *target, reachable_blocks, executable_edges) { [INFO] [stdout] 200 | | changed = true; [INFO] [stdout] 201 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 198 ~ MirInst::Jump { target } [INFO] [stdout] 199 ~ if self.mark_edge(block_id, *target, reachable_blocks, executable_edges) => { [INFO] [stdout] 200 | changed = true; [INFO] [stdout] 201 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | / if self.mark_edge(block_id, *header, reachable_blocks, executable_edges) { [INFO] [stdout] 238 | | changed = true; [INFO] [stdout] 239 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 236 ~ MirInst::LoopBack { header, .. } [INFO] [stdout] 237 ~ if self.mark_edge(block_id, *header, reachable_blocks, executable_edges) => { [INFO] [stdout] 238 | changed = true; [INFO] [stdout] 239 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:399:17 [INFO] [stdout] | [INFO] [stdout] 399 | / if self.rewrite_value(src, values) { [INFO] [stdout] 400 | | changed = true; [INFO] [stdout] 401 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 398 ~ MirInst::Copy { src, .. } [INFO] [stdout] 399 ~ if self.rewrite_value(src, values) => { [INFO] [stdout] 400 | changed = true; [INFO] [stdout] 401 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:412:17 [INFO] [stdout] | [INFO] [stdout] 412 | / if self.rewrite_value(src, values) { [INFO] [stdout] 413 | | changed = true; [INFO] [stdout] 414 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 411 ~ MirInst::UnaryOp { src, .. } [INFO] [stdout] 412 ~ if self.rewrite_value(src, values) => { [INFO] [stdout] 413 | changed = true; [INFO] [stdout] 414 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:420:17 [INFO] [stdout] | [INFO] [stdout] 420 | / if self.rewrite_value(val, values) { [INFO] [stdout] 421 | | changed = true; [INFO] [stdout] 422 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 419 ~ | MirInst::StringAppend { val, .. } [INFO] [stdout] 420 ~ if self.rewrite_value(val, values) => { [INFO] [stdout] 421 | changed = true; [INFO] [stdout] 422 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:432:17 [INFO] [stdout] | [INFO] [stdout] 432 | / if self.rewrite_value(idx, values) { [INFO] [stdout] 433 | | changed = true; [INFO] [stdout] 434 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 431 ~ MirInst::ListGet { idx, .. } | MirInst::TailCall { index: idx, .. } [INFO] [stdout] 432 ~ if self.rewrite_value(idx, values) => { [INFO] [stdout] 433 | changed = true; [INFO] [stdout] 434 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/const_fold.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | / if let Some(value) = val { [INFO] [stdout] 459 | | self.rewrite_value(value, values) [INFO] [stdout] 460 | | } else { [INFO] [stdout] 461 | | false [INFO] [stdout] 462 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/compiler/passes/const_fold.rs:457:31 [INFO] [stdout] | [INFO] [stdout] 457 | MirInst::Return { val } => { [INFO] [stdout] | ^^^ replace this binding [INFO] [stdout] 458 | if let Some(value) = val { [INFO] [stdout] | ^^^^^^^^^^^ with this pattern, prefixed by `val: ` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant redefinition of a binding `func` [INFO] [stdout] --> src/compiler/passes/list_lowering/tests.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | let mut func = func; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `func` is initially defined here [INFO] [stdout] --> src/compiler/passes/list_lowering/tests.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let mut func = MirFunction::new(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_locals [INFO] [stdout] = note: `#[warn(clippy::redundant_locals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant redefinition of a binding `func` [INFO] [stdout] --> src/compiler/passes/list_lowering/tests.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | let mut func = func; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `func` is initially defined here [INFO] [stdout] --> src/compiler/passes/list_lowering/tests.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | let mut func = MirFunction::new(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_locals [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant redefinition of a binding `func` [INFO] [stdout] --> src/compiler/passes/list_lowering/tests.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | let mut func = func; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `func` is initially defined here [INFO] [stdout] --> src/compiler/passes/list_lowering/tests.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let mut func = MirFunction::new(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_locals [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/passes/list_lowering.rs:113:29 [INFO] [stdout] | [INFO] [stdout] 113 | / ... if consistent { [INFO] [stdout] 114 | | ... if let Some(m) = meta { [INFO] [stdout] 115 | | ... let entry = info.entry(*dst).or_insert(m); [INFO] [stdout] 116 | | ... if *entry != m { [INFO] [stdout] ... | [INFO] [stdout] 121 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 113 ~ if consistent [INFO] [stdout] 114 ~ && let Some(m) = meta { [INFO] [stdout] 115 | let entry = info.entry(*dst).or_insert(m); [INFO] [stdout] ... [INFO] [stdout] 119 | } [INFO] [stdout] 120 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/passes/ssa.rs:234:13 [INFO] [stdout] | [INFO] [stdout] 234 | / if let Some(def_vreg) = self.func.blocks[block_idx].instructions[i].def() { [INFO] [stdout] 235 | | if self.original_vregs.contains(&def_vreg) { [INFO] [stdout] 236 | | let orig_vreg = self.get_original_vreg(def_vreg); [INFO] [stdout] 237 | | let new_vreg = self.new_version(orig_vreg); [INFO] [stdout] ... | [INFO] [stdout] 243 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 234 ~ if let Some(def_vreg) = self.func.blocks[block_idx].instructions[i].def() [INFO] [stdout] 235 ~ && self.original_vregs.contains(&def_vreg) { [INFO] [stdout] 236 | let orig_vreg = self.get_original_vreg(def_vreg); [INFO] [stdout] ... [INFO] [stdout] 241 | update_def(&mut self.func.blocks[block_idx].instructions[i], new_vreg); [INFO] [stdout] 242 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/ssa_destruct.rs:211:17 [INFO] [stdout] | [INFO] [stdout] 211 | / if *target == old_target { [INFO] [stdout] 212 | | *target = new_target; [INFO] [stdout] 213 | | true [INFO] [stdout] 214 | | } else { [INFO] [stdout] 215 | | false [INFO] [stdout] 216 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 210 ~ MirInst::Jump { target } [INFO] [stdout] 211 ~ if *target == old_target => { [INFO] [stdout] 212 | *target = new_target; [INFO] [stdout] 213 | true [INFO] [stdout] 214 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/passes/ssa_destruct.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | / if *header == old_target { [INFO] [stdout] 246 | | *header = new_target; [INFO] [stdout] 247 | | true [INFO] [stdout] 248 | | } else { [INFO] [stdout] 249 | | false [INFO] [stdout] 250 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 244 ~ MirInst::LoopBack { header, .. } [INFO] [stdout] 245 ~ if *header == old_target => { [INFO] [stdout] 246 | *header = new_target; [INFO] [stdout] 247 | true [INFO] [stdout] 248 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/compiler/passes/strength.rs:65:25 [INFO] [stdout] | [INFO] [stdout] 65 | let same_vreg = match (lhs, rhs) { [INFO] [stdout] | _________________________^ [INFO] [stdout] 66 | | (MirValue::VReg(l), MirValue::VReg(r)) if l == r => true, [INFO] [stdout] 67 | | _ => false, [INFO] [stdout] 68 | | }; [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] 65 - let same_vreg = match (lhs, rhs) { [INFO] [stdout] 66 - (MirValue::VReg(l), MirValue::VReg(r)) if l == r => true, [INFO] [stdout] 67 - _ => false, [INFO] [stdout] 68 - }; [INFO] [stdout] 65 + let same_vreg = matches!((lhs, rhs), (MirValue::VReg(l), MirValue::VReg(r)) if l == r); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/compiler/type_infer/helper_semantics.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | / pub(super) fn validate_helper_semantics( [INFO] [stdout] 188 | | &self, [INFO] [stdout] 189 | | helper_id: u32, [INFO] [stdout] 190 | | args: &[MirValue], [INFO] [stdout] ... | [INFO] [stdout] 195 | | errors: &mut Vec, [INFO] [stdout] 196 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/compiler/type_infer/helper_semantics.rs:474:13 [INFO] [stdout] | [INFO] [stdout] 474 | / match self.mir_type_for_vreg(*ptr_vreg, types) { [INFO] [stdout] 475 | | MirType::Ptr { [INFO] [stdout] 476 | | address_space, [INFO] [stdout] 477 | | pointee, [INFO] [stdout] ... | [INFO] [stdout] 512 | | _ => {} [INFO] [stdout] 513 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 474 ~ if let MirType::Ptr { [INFO] [stdout] 475 + address_space, [INFO] [stdout] 476 + pointee, [INFO] [stdout] 477 + } = self.mir_type_for_vreg(*ptr_vreg, types) { match address_space { [INFO] [stdout] 478 + AddressSpace::Stack => { [INFO] [stdout] 479 + if Self::kfunc_pointer_arg_requires_stack_slot_base(kfunc, ptr_arg_idx) { [INFO] [stdout] 480 + let is_base = stack_bounds [INFO] [stdout] 481 + .get(ptr_vreg) [INFO] [stdout] 482 + .is_some_and(|bounds| bounds.min == 0 && bounds.max == 0); [INFO] [stdout] 483 + if !is_base { [INFO] [stdout] 484 + errors.push(TypeError::new(format!( [INFO] [stdout] 485 + "kfunc '{}' arg{} expects stack slot base pointer", [INFO] [stdout] 486 + kfunc, ptr_arg_idx [INFO] [stdout] 487 + ))); [INFO] [stdout] 488 + } [INFO] [stdout] 489 + } [INFO] [stdout] 490 + if let Some(bounds) = stack_bounds.get(ptr_vreg) { [INFO] [stdout] 491 + let end = bounds.max + access_size as i64 - 1; [INFO] [stdout] 492 + if bounds.min < 0 || end > bounds.limit { [INFO] [stdout] 493 + errors.push(TypeError::new(format!( [INFO] [stdout] 494 + "kfunc '{}' arg{} pointer access requires {} bytes, stack pointer range [{}..{}] exceeds [0..{}]", [INFO] [stdout] 495 + kfunc, ptr_arg_idx, access_size, bounds.min, bounds.max, bounds.limit [INFO] [stdout] 496 + ))); [INFO] [stdout] 497 + } [INFO] [stdout] 498 + } [INFO] [stdout] 499 + } [INFO] [stdout] 500 + AddressSpace::Map => { [INFO] [stdout] 501 + let pointee_size = pointee.size(); [INFO] [stdout] 502 + if access_size > pointee_size { [INFO] [stdout] 503 + errors.push(TypeError::new(format!( [INFO] [stdout] 504 + "kfunc '{}' arg{} pointer access requires {} bytes, map value has {} bytes", [INFO] [stdout] 505 + kfunc, ptr_arg_idx, access_size, pointee_size [INFO] [stdout] 506 + ))); [INFO] [stdout] 507 + } [INFO] [stdout] 508 + } [INFO] [stdout] 509 + AddressSpace::Kernel | AddressSpace::User => {} [INFO] [stdout] 510 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/type_infer/ranges.rs:81:29 [INFO] [stdout] | [INFO] [stdout] 81 | / ... if consistent { [INFO] [stdout] 82 | | ... if let Some(c) = cap { [INFO] [stdout] 83 | | ... let entry = caps.entry(*dst).or_insert(c); [INFO] [stdout] 84 | | ... if *entry != c { [INFO] [stdout] ... | [INFO] [stdout] 89 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 81 ~ if consistent [INFO] [stdout] 82 ~ && let Some(c) = cap { [INFO] [stdout] 83 | let entry = caps.entry(*dst).or_insert(c); [INFO] [stdout] ... [INFO] [stdout] 87 | } [INFO] [stdout] 88 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/compiler/type_infer/validate.rs:513:36 [INFO] [stdout] | [INFO] [stdout] 513 | ... if !matches!(arg_ty, MirType::Ptr { .. }) [INFO] [stdout] | __________________________^ [INFO] [stdout] 514 | | ... && !(is_const_zero [INFO] [stdout] 515 | | ... && Self::helper_pointer_arg_allows_const_zero(*helper, idx)) [INFO] [stdout] | |__________________________________________________________________________________________^ help: try: `!(matches!(arg_ty, MirType::Ptr { .. }) || is_const_zero && Self::helper_pointer_arg_allows_const_zero(*helper, idx))` [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: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:227:17 [INFO] [stdout] | [INFO] [stdout] 227 | / if *size > 8 { [INFO] [stdout] 228 | | let data_ty = self.mir_type_for_vreg(*data, types); [INFO] [stdout] 229 | | match data_ty { [INFO] [stdout] 230 | | MirType::Ptr { address_space, .. } [INFO] [stdout] ... | [INFO] [stdout] 238 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 226 ~ MirInst::EmitEvent { data, size } [INFO] [stdout] 227 ~ if *size > 8 => { [INFO] [stdout] 228 | let data_ty = self.mir_type_for_vreg(*data, types); [INFO] [stdout] ... [INFO] [stdout] 237 | } [INFO] [stdout] 238 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:661:17 [INFO] [stdout] | [INFO] [stdout] 661 | / if args.len() > 5 { [INFO] [stdout] 662 | | errors.push(TypeError::new( [INFO] [stdout] 663 | | "BPF subfunctions support at most 5 arguments".to_string(), [INFO] [stdout] 664 | | )); [INFO] [stdout] 665 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 660 ~ MirInst::CallSubfn { args, .. } [INFO] [stdout] 661 ~ if args.len() > 5 => { [INFO] [stdout] 662 | errors.push(TypeError::new( [INFO] [stdout] 663 | "BPF subfunctions support at most 5 arguments".to_string(), [INFO] [stdout] 664 | )); [INFO] [stdout] 665 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:63:37 [INFO] [stdout] | [INFO] [stdout] 63 | / ... if lhs_space != rhs_space { [INFO] [stdout] 64 | | ... errors.push(TypeError::new(format!( [INFO] [stdout] 65 | | ... "pointer comparison requires same address space (lhs={:?}, rhs={:?})", [INFO] [stdout] 66 | | ... lhs_space, rhs_space [INFO] [stdout] 67 | | ... ))); [INFO] [stdout] 68 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 62 ~ (Some(lhs_space), Some(rhs_space)) [INFO] [stdout] 63 ~ if lhs_space != rhs_space => { [INFO] [stdout] 64 | errors.push(TypeError::new(format!( [INFO] [stdout] ... [INFO] [stdout] 67 | ))); [INFO] [stdout] 68 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:71:37 [INFO] [stdout] | [INFO] [stdout] 71 | / ... if !Self::is_const_zero(rhs) { [INFO] [stdout] 72 | | ... errors.push(TypeError::new( [INFO] [stdout] 73 | | ... "pointer comparison only supports null (0) constants" [INFO] [stdout] 74 | | ... .to_string(), [INFO] [stdout] 75 | | ... )); [INFO] [stdout] 76 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 70 ~ (Some(_), None) [INFO] [stdout] 71 ~ if !Self::is_const_zero(rhs) => { [INFO] [stdout] 72 | errors.push(TypeError::new( [INFO] [stdout] ... [INFO] [stdout] 75 | )); [INFO] [stdout] 76 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/type_infer/validate.rs:79:37 [INFO] [stdout] | [INFO] [stdout] 79 | / ... if !Self::is_const_zero(lhs) { [INFO] [stdout] 80 | | ... errors.push(TypeError::new( [INFO] [stdout] 81 | | ... "pointer comparison only supports null (0) constants" [INFO] [stdout] 82 | | ... .to_string(), [INFO] [stdout] 83 | | ... )); [INFO] [stdout] 84 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 78 ~ (None, Some(_)) [INFO] [stdout] 79 ~ if !Self::is_const_zero(lhs) => { [INFO] [stdout] 80 | errors.push(TypeError::new( [INFO] [stdout] ... [INFO] [stdout] 83 | )); [INFO] [stdout] 84 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:231:32 [INFO] [stdout] | [INFO] [stdout] 231 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] = note: `#[warn(clippy::redundant_guards)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 230 - MirType::Ptr { address_space, .. } [INFO] [stdout] 231 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 230 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:248:36 [INFO] [stdout] | [INFO] [stdout] 248 | ... if matches!( [INFO] [stdout] | __________________________^ [INFO] [stdout] 249 | | ... address_space, [INFO] [stdout] 250 | | ... AddressSpace::Stack | AddressSpace::Map [INFO] [stdout] 251 | | ... ) => {} [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 247 - MirType::Ptr { address_space, .. } [INFO] [stdout] 248 - if matches!( [INFO] [stdout] 249 - address_space, [INFO] [stdout] 250 - AddressSpace::Stack | AddressSpace::Map [INFO] [stdout] 251 - ) => {} [INFO] [stdout] 247 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:272:32 [INFO] [stdout] | [INFO] [stdout] 272 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 271 - MirType::Ptr { address_space, .. } [INFO] [stdout] 272 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 271 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:292:32 [INFO] [stdout] | [INFO] [stdout] 292 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 291 - MirType::Ptr { address_space, .. } [INFO] [stdout] 292 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 291 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:302:32 [INFO] [stdout] | [INFO] [stdout] 302 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 301 - MirType::Ptr { address_space, .. } [INFO] [stdout] 302 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 301 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:315:28 [INFO] [stdout] | [INFO] [stdout] 315 | if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 314 - MirType::Ptr { address_space, .. } [INFO] [stdout] 315 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => {} [INFO] [stdout] 314 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:329:32 [INFO] [stdout] | [INFO] [stdout] 329 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 328 - MirType::Ptr { address_space, .. } [INFO] [stdout] 329 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 328 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/compiler/type_infer/validate.rs:339:32 [INFO] [stdout] | [INFO] [stdout] 339 | ... if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 338 - MirType::Ptr { address_space, .. } [INFO] [stdout] 339 - if matches!(address_space, AddressSpace::Stack | AddressSpace::Map) => { [INFO] [stdout] 338 + MirType::Ptr { address_space: AddressSpace::Stack | AddressSpace::Map, .. } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `VccFunction` [INFO] [stdout] --> src/compiler/vcc.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | / pub fn new() -> Self { [INFO] [stdout] 495 | | let entry = VccBlockId(0); [INFO] [stdout] 496 | | Self { [INFO] [stdout] 497 | | entry, [INFO] [stdout] ... | [INFO] [stdout] 505 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 493 + impl Default for VccFunction { [INFO] [stdout] 494 + fn default() -> Self { [INFO] [stdout] 495 + Self::new() [INFO] [stdout] 496 + } [INFO] [stdout] 497 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | / if let Some(range) = state.value_range(*value, ty) { [INFO] [stdout] 79 | | if range.max <= 0 || range.min <= 0 { [INFO] [stdout] 80 | | self.errors.push(VccError::new( [INFO] [stdout] 81 | | VccErrorKind::UnsupportedInstruction, [INFO] [stdout] ... | [INFO] [stdout] 85 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 78 ~ if let Some(range) = state.value_range(*value, ty) [INFO] [stdout] 79 ~ && (range.max <= 0 || range.min <= 0) { [INFO] [stdout] 80 | self.errors.push(VccError::new( [INFO] [stdout] ... [INFO] [stdout] 83 | )); [INFO] [stdout] 84 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:205:21 [INFO] [stdout] | [INFO] [stdout] 205 | / if let (VccAddrSpace::Stack(_) | VccAddrSpace::MapValue, Some(bounds)) = [INFO] [stdout] 206 | | (ptr_info.space, ptr_info.bounds) [INFO] [stdout] 207 | | { [INFO] [stdout] 208 | | if bounds.shifted_with_size(0, size_range.max).is_none() { [INFO] [stdout] ... | [INFO] [stdout] 214 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 206 ~ (ptr_info.space, ptr_info.bounds) [INFO] [stdout] 207 ~ && bounds.shifted_with_size(0, size_range.max).is_none() { [INFO] [stdout] 208 | self.errors.push(VccError::new( [INFO] [stdout] ... [INFO] [stdout] 211 | )); [INFO] [stdout] 212 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:295:37 [INFO] [stdout] | [INFO] [stdout] 295 | / ... if lp.space != rp.space [INFO] [stdout] 296 | | ... && lp.space != VccAddrSpace::Unknown [INFO] [stdout] 297 | | ... && rp.space != VccAddrSpace::Unknown [INFO] [stdout] ... | [INFO] [stdout] 306 | | ... return; [INFO] [stdout] 307 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 294 ~ (VccValueType::Ptr(lp), VccValueType::Ptr(rp)) [INFO] [stdout] 295 | if lp.space != rp.space [INFO] [stdout] 296 | && lp.space != VccAddrSpace::Unknown [INFO] [stdout] 297 | && rp.space != VccAddrSpace::Unknown [INFO] [stdout] 298 ~ => { [INFO] [stdout] 299 | self.errors.push(VccError::new( [INFO] [stdout] ... [INFO] [stdout] 306 | return; [INFO] [stdout] 307 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:310:37 [INFO] [stdout] | [INFO] [stdout] 310 | / ... if !self.is_null_scalar(*lhs, lhs_ty) [INFO] [stdout] 311 | | ... && !self.is_null_scalar(*rhs, rhs_ty) [INFO] [stdout] 312 | | ... && other.class() != VccTypeClass::Ptr [INFO] [stdout] ... | [INFO] [stdout] 321 | | ... return; [INFO] [stdout] 322 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 309 ~ (VccValueType::Ptr(_), other) | (other, VccValueType::Ptr(_)) [INFO] [stdout] 310 | if !self.is_null_scalar(*lhs, lhs_ty) [INFO] [stdout] 311 | && !self.is_null_scalar(*rhs, rhs_ty) [INFO] [stdout] 312 | && other.class() != VccTypeClass::Ptr [INFO] [stdout] 313 ~ => { [INFO] [stdout] 314 | self.errors.push(VccError::new( [INFO] [stdout] ... [INFO] [stdout] 321 | return; [INFO] [stdout] 322 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:1587:28 [INFO] [stdout] | [INFO] [stdout] 1587 | && info [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1588 | | .bounds [INFO] [stdout] 1589 | | .map_or(true, |bounds| bounds.min == 0 && bounds.max == 0) => [INFO] [stdout] | |______________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 1589 - .map_or(true, |bounds| bounds.min == 0 && bounds.max == 0) => [INFO] [stdout] 1589 + .is_none_or(|bounds| bounds.min == 0 && bounds.max == 0) => [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/verifier/execution.rs:1642:17 [INFO] [stdout] | [INFO] [stdout] 1642 | / if let Some(value) = value { [INFO] [stdout] 1643 | | if let Err(err) = state.value_type(*value) { [INFO] [stdout] 1644 | | self.errors.push(err); [INFO] [stdout] 1645 | | } [INFO] [stdout] 1646 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1642 ~ if let Some(value) = value [INFO] [stdout] 1643 ~ && let Err(err) = state.value_type(*value) { [INFO] [stdout] 1644 | self.errors.push(err); [INFO] [stdout] 1645 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/verifier/refinement.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | / if let VccValue::Reg(cond_reg) = cond { [INFO] [stdout] 15 | | if let Some(refinement) = state.cond_refinement(cond_reg) { [INFO] [stdout] 16 | | match refinement { [INFO] [stdout] 17 | | VccCondRefinement::PtrNull { [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 14 ~ if let VccValue::Reg(cond_reg) = cond [INFO] [stdout] 15 ~ && let Some(refinement) = state.cond_refinement(cond_reg) { [INFO] [stdout] 16 | match refinement { [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/state.rs:743:13 [INFO] [stdout] | [INFO] [stdout] 743 | / if let Some(right) = other.cond_refinements.get(reg) { [INFO] [stdout] 744 | | if left == right { [INFO] [stdout] 745 | | cond_refinements.insert(*reg, *left); [INFO] [stdout] 746 | | } [INFO] [stdout] 747 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 743 ~ if let Some(right) = other.cond_refinements.get(reg) [INFO] [stdout] 744 ~ && left == right { [INFO] [stdout] 745 | cond_refinements.insert(*reg, *left); [INFO] [stdout] 746 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/compiler/vcc/lower/helper_checks.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 472 | / pub(super) fn check_helper_ptr_arg_value( [INFO] [stdout] 473 | | &mut self, [INFO] [stdout] 474 | | helper_id: u32, [INFO] [stdout] 475 | | arg_idx: usize, [INFO] [stdout] ... | [INFO] [stdout] 484 | | out: &mut Vec, [INFO] [stdout] 485 | | ) -> Result<(), VccError> { [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/helper_checks.rs:711:9 [INFO] [stdout] | [INFO] [stdout] 711 | / if semantics.ringbuf_record_arg0 { [INFO] [stdout] 712 | | if let Some(record) = args.first() { [INFO] [stdout] 713 | | self.check_helper_ringbuf_record_arg( [INFO] [stdout] 714 | | helper_id, [INFO] [stdout] ... | [INFO] [stdout] 721 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 711 ~ if semantics.ringbuf_record_arg0 [INFO] [stdout] 712 ~ && let Some(record) = args.first() { [INFO] [stdout] 713 | self.check_helper_ringbuf_record_arg( [INFO] [stdout] ... [INFO] [stdout] 719 | )?; [INFO] [stdout] 720 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/helper_checks.rs:749:9 [INFO] [stdout] | [INFO] [stdout] 749 | / if let Some(ty) = self.types.get(®) { [INFO] [stdout] 750 | | if !matches!(ty, MirType::Ptr { .. }) { [INFO] [stdout] 751 | | let size = match ty.size() { [INFO] [stdout] 752 | | 0 => 8, [INFO] [stdout] ... | [INFO] [stdout] 765 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 749 ~ if let Some(ty) = self.types.get(®) [INFO] [stdout] 750 ~ && !matches!(ty, MirType::Ptr { .. }) { [INFO] [stdout] 751 | let size = match ty.size() { [INFO] [stdout] ... [INFO] [stdout] 763 | } [INFO] [stdout] 764 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/compiler/vcc/lower/helper_checks.rs:800:5 [INFO] [stdout] | [INFO] [stdout] 800 | / pub(super) fn check_kfunc_ptr_arg_value( [INFO] [stdout] 801 | | &mut self, [INFO] [stdout] 802 | | kfunc: &str, [INFO] [stdout] 803 | | arg_idx: usize, [INFO] [stdout] ... | [INFO] [stdout] 812 | | out: &mut Vec, [INFO] [stdout] 813 | | ) -> Result<(), VccError> { [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `lhs_ptr` after checking its variant with `is_some` [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:131:40 [INFO] [stdout] | [INFO] [stdout] 130 | let (base, offset_val, base_ptr) = if lhs_ptr.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = lhs_ptr` [INFO] [stdout] 131 | (lhs, rhs, lhs_ptr.unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | / if matches!( [INFO] [stdout] 459 | | BpfHelper::from_u32(*helper), [INFO] [stdout] 460 | | Some(BpfHelper::RingbufSubmit | BpfHelper::RingbufDiscard) [INFO] [stdout] 461 | | ) { [INFO] [stdout] ... | [INFO] [stdout] 466 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 461 ~ ) [INFO] [stdout] 462 ~ && let Some(arg0) = args.first() { [INFO] [stdout] 463 | let release_ptr = self.lower_value(arg0, out); [INFO] [stdout] 464 | out.push(VccInst::RingbufRelease { ptr: release_ptr }); [INFO] [stdout] 465 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:496:17 [INFO] [stdout] | [INFO] [stdout] 496 | / if let Some(kind) = Self::kfunc_release_kind(kfunc) { [INFO] [stdout] 497 | | if let Some(release_arg_idx) = Self::kfunc_release_arg_index(kfunc) [INFO] [stdout] 498 | | && let Some(arg) = args.get(release_arg_idx) [INFO] [stdout] ... | [INFO] [stdout] 506 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 496 ~ if let Some(kind) = Self::kfunc_release_kind(kfunc) [INFO] [stdout] 497 ~ && let Some(release_arg_idx) = Self::kfunc_release_arg_index(kfunc) [INFO] [stdout] 498 | && let Some(arg) = args.get(release_arg_idx) [INFO] [stdout] ... [INFO] [stdout] 504 | }); [INFO] [stdout] 505 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | / if kfunc == "bpf_local_irq_save" { [INFO] [stdout] 520 | | if let Some(flags) = args.first() { [INFO] [stdout] 521 | | out.push(VccInst::LocalIrqDisableAcquire { [INFO] [stdout] 522 | | flags: VccReg(flags.0), [INFO] [stdout] ... | [INFO] [stdout] 525 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 519 ~ if kfunc == "bpf_local_irq_save" [INFO] [stdout] 520 ~ && let Some(flags) = args.first() { [INFO] [stdout] 521 | out.push(VccInst::LocalIrqDisableAcquire { [INFO] [stdout] 522 | flags: VccReg(flags.0), [INFO] [stdout] 523 | }); [INFO] [stdout] 524 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:526:17 [INFO] [stdout] | [INFO] [stdout] 526 | / if kfunc == "bpf_local_irq_restore" { [INFO] [stdout] 527 | | if let Some(flags) = args.first() { [INFO] [stdout] 528 | | out.push(VccInst::LocalIrqDisableRelease { [INFO] [stdout] 529 | | flags: VccReg(flags.0), [INFO] [stdout] ... | [INFO] [stdout] 532 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 526 ~ if kfunc == "bpf_local_irq_restore" [INFO] [stdout] 527 ~ && let Some(flags) = args.first() { [INFO] [stdout] 528 | out.push(VccInst::LocalIrqDisableRelease { [INFO] [stdout] 529 | flags: VccReg(flags.0), [INFO] [stdout] 530 | }); [INFO] [stdout] 531 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:539:17 [INFO] [stdout] | [INFO] [stdout] 539 | / if kfunc == "bpf_res_spin_lock_irqsave" { [INFO] [stdout] 540 | | if let Some(flags) = args.get(1) { [INFO] [stdout] 541 | | out.push(VccInst::ResSpinLockIrqsaveAcquire { [INFO] [stdout] 542 | | flags: VccReg(flags.0), [INFO] [stdout] ... | [INFO] [stdout] 545 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 539 ~ if kfunc == "bpf_res_spin_lock_irqsave" [INFO] [stdout] 540 ~ && let Some(flags) = args.get(1) { [INFO] [stdout] 541 | out.push(VccInst::ResSpinLockIrqsaveAcquire { [INFO] [stdout] 542 | flags: VccReg(flags.0), [INFO] [stdout] 543 | }); [INFO] [stdout] 544 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:546:17 [INFO] [stdout] | [INFO] [stdout] 546 | / if kfunc == "bpf_res_spin_unlock_irqrestore" { [INFO] [stdout] 547 | | if let Some(flags) = args.get(1) { [INFO] [stdout] 548 | | out.push(VccInst::ResSpinLockIrqsaveRelease { [INFO] [stdout] 549 | | flags: VccReg(flags.0), [INFO] [stdout] ... | [INFO] [stdout] 552 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 546 ~ if kfunc == "bpf_res_spin_unlock_irqrestore" [INFO] [stdout] 547 ~ && let Some(flags) = args.get(1) { [INFO] [stdout] 548 | out.push(VccInst::ResSpinLockIrqsaveRelease { [INFO] [stdout] 549 | flags: VccReg(flags.0), [INFO] [stdout] 550 | }); [INFO] [stdout] 551 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:553:17 [INFO] [stdout] | [INFO] [stdout] 553 | / if kfunc == "bpf_iter_task_vma_new" { [INFO] [stdout] 554 | | if let Some(iter) = args.first() { [INFO] [stdout] 555 | | out.push(VccInst::IterTaskVmaNew { [INFO] [stdout] 556 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 559 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 553 ~ if kfunc == "bpf_iter_task_vma_new" [INFO] [stdout] 554 ~ && let Some(iter) = args.first() { [INFO] [stdout] 555 | out.push(VccInst::IterTaskVmaNew { [INFO] [stdout] 556 | iter: VccReg(iter.0), [INFO] [stdout] 557 | }); [INFO] [stdout] 558 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:560:17 [INFO] [stdout] | [INFO] [stdout] 560 | / if kfunc == "bpf_iter_task_vma_next" { [INFO] [stdout] 561 | | if let Some(iter) = args.first() { [INFO] [stdout] 562 | | out.push(VccInst::IterTaskVmaNext { [INFO] [stdout] 563 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 566 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 560 ~ if kfunc == "bpf_iter_task_vma_next" [INFO] [stdout] 561 ~ && let Some(iter) = args.first() { [INFO] [stdout] 562 | out.push(VccInst::IterTaskVmaNext { [INFO] [stdout] 563 | iter: VccReg(iter.0), [INFO] [stdout] 564 | }); [INFO] [stdout] 565 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:567:17 [INFO] [stdout] | [INFO] [stdout] 567 | / if kfunc == "bpf_iter_task_vma_destroy" { [INFO] [stdout] 568 | | if let Some(iter) = args.first() { [INFO] [stdout] 569 | | out.push(VccInst::IterTaskVmaDestroy { [INFO] [stdout] 570 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 573 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 567 ~ if kfunc == "bpf_iter_task_vma_destroy" [INFO] [stdout] 568 ~ && let Some(iter) = args.first() { [INFO] [stdout] 569 | out.push(VccInst::IterTaskVmaDestroy { [INFO] [stdout] 570 | iter: VccReg(iter.0), [INFO] [stdout] 571 | }); [INFO] [stdout] 572 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:574:17 [INFO] [stdout] | [INFO] [stdout] 574 | / if kfunc == "bpf_iter_task_new" { [INFO] [stdout] 575 | | if let Some(iter) = args.first() { [INFO] [stdout] 576 | | out.push(VccInst::IterTaskNew { [INFO] [stdout] 577 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 580 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 574 ~ if kfunc == "bpf_iter_task_new" [INFO] [stdout] 575 ~ && let Some(iter) = args.first() { [INFO] [stdout] 576 | out.push(VccInst::IterTaskNew { [INFO] [stdout] 577 | iter: VccReg(iter.0), [INFO] [stdout] 578 | }); [INFO] [stdout] 579 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:581:17 [INFO] [stdout] | [INFO] [stdout] 581 | / if kfunc == "bpf_iter_task_next" { [INFO] [stdout] 582 | | if let Some(iter) = args.first() { [INFO] [stdout] 583 | | out.push(VccInst::IterTaskNext { [INFO] [stdout] 584 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 587 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 581 ~ if kfunc == "bpf_iter_task_next" [INFO] [stdout] 582 ~ && let Some(iter) = args.first() { [INFO] [stdout] 583 | out.push(VccInst::IterTaskNext { [INFO] [stdout] 584 | iter: VccReg(iter.0), [INFO] [stdout] 585 | }); [INFO] [stdout] 586 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:588:17 [INFO] [stdout] | [INFO] [stdout] 588 | / if kfunc == "bpf_iter_task_destroy" { [INFO] [stdout] 589 | | if let Some(iter) = args.first() { [INFO] [stdout] 590 | | out.push(VccInst::IterTaskDestroy { [INFO] [stdout] 591 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 594 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 588 ~ if kfunc == "bpf_iter_task_destroy" [INFO] [stdout] 589 ~ && let Some(iter) = args.first() { [INFO] [stdout] 590 | out.push(VccInst::IterTaskDestroy { [INFO] [stdout] 591 | iter: VccReg(iter.0), [INFO] [stdout] 592 | }); [INFO] [stdout] 593 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:595:17 [INFO] [stdout] | [INFO] [stdout] 595 | / if kfunc == "bpf_iter_scx_dsq_new" { [INFO] [stdout] 596 | | if let Some(iter) = args.first() { [INFO] [stdout] 597 | | out.push(VccInst::IterScxDsqNew { [INFO] [stdout] 598 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 601 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 595 ~ if kfunc == "bpf_iter_scx_dsq_new" [INFO] [stdout] 596 ~ && let Some(iter) = args.first() { [INFO] [stdout] 597 | out.push(VccInst::IterScxDsqNew { [INFO] [stdout] 598 | iter: VccReg(iter.0), [INFO] [stdout] 599 | }); [INFO] [stdout] 600 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:602:17 [INFO] [stdout] | [INFO] [stdout] 602 | / if kfunc == "bpf_iter_scx_dsq_next" { [INFO] [stdout] 603 | | if let Some(iter) = args.first() { [INFO] [stdout] 604 | | out.push(VccInst::IterScxDsqNext { [INFO] [stdout] 605 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 608 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 602 ~ if kfunc == "bpf_iter_scx_dsq_next" [INFO] [stdout] 603 ~ && let Some(iter) = args.first() { [INFO] [stdout] 604 | out.push(VccInst::IterScxDsqNext { [INFO] [stdout] 605 | iter: VccReg(iter.0), [INFO] [stdout] 606 | }); [INFO] [stdout] 607 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:609:17 [INFO] [stdout] | [INFO] [stdout] 609 | / if kfunc == "bpf_iter_scx_dsq_destroy" { [INFO] [stdout] 610 | | if let Some(iter) = args.first() { [INFO] [stdout] 611 | | out.push(VccInst::IterScxDsqDestroy { [INFO] [stdout] 612 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 615 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 609 ~ if kfunc == "bpf_iter_scx_dsq_destroy" [INFO] [stdout] 610 ~ && let Some(iter) = args.first() { [INFO] [stdout] 611 | out.push(VccInst::IterScxDsqDestroy { [INFO] [stdout] 612 | iter: VccReg(iter.0), [INFO] [stdout] 613 | }); [INFO] [stdout] 614 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:616:17 [INFO] [stdout] | [INFO] [stdout] 616 | / if kfunc == "scx_bpf_dsq_move" { [INFO] [stdout] 617 | | if let Some(iter) = args.first() { [INFO] [stdout] 618 | | out.push(VccInst::IterScxDsqMove { [INFO] [stdout] 619 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 622 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 616 ~ if kfunc == "scx_bpf_dsq_move" [INFO] [stdout] 617 ~ && let Some(iter) = args.first() { [INFO] [stdout] 618 | out.push(VccInst::IterScxDsqMove { [INFO] [stdout] 619 | iter: VccReg(iter.0), [INFO] [stdout] 620 | }); [INFO] [stdout] 621 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:623:17 [INFO] [stdout] | [INFO] [stdout] 623 | / if kfunc == "scx_bpf_dsq_move_set_slice" { [INFO] [stdout] 624 | | if let Some(iter) = args.first() { [INFO] [stdout] 625 | | out.push(VccInst::IterScxDsqMoveSetSlice { [INFO] [stdout] 626 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 629 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 623 ~ if kfunc == "scx_bpf_dsq_move_set_slice" [INFO] [stdout] 624 ~ && let Some(iter) = args.first() { [INFO] [stdout] 625 | out.push(VccInst::IterScxDsqMoveSetSlice { [INFO] [stdout] 626 | iter: VccReg(iter.0), [INFO] [stdout] 627 | }); [INFO] [stdout] 628 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:630:17 [INFO] [stdout] | [INFO] [stdout] 630 | / if kfunc == "scx_bpf_dsq_move_set_vtime" { [INFO] [stdout] 631 | | if let Some(iter) = args.first() { [INFO] [stdout] 632 | | out.push(VccInst::IterScxDsqMoveSetVtime { [INFO] [stdout] 633 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 636 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 630 ~ if kfunc == "scx_bpf_dsq_move_set_vtime" [INFO] [stdout] 631 ~ && let Some(iter) = args.first() { [INFO] [stdout] 632 | out.push(VccInst::IterScxDsqMoveSetVtime { [INFO] [stdout] 633 | iter: VccReg(iter.0), [INFO] [stdout] 634 | }); [INFO] [stdout] 635 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:637:17 [INFO] [stdout] | [INFO] [stdout] 637 | / if kfunc == "scx_bpf_dsq_move_vtime" { [INFO] [stdout] 638 | | if let Some(iter) = args.first() { [INFO] [stdout] 639 | | out.push(VccInst::IterScxDsqMoveVtime { [INFO] [stdout] 640 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 643 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 637 ~ if kfunc == "scx_bpf_dsq_move_vtime" [INFO] [stdout] 638 ~ && let Some(iter) = args.first() { [INFO] [stdout] 639 | out.push(VccInst::IterScxDsqMoveVtime { [INFO] [stdout] 640 | iter: VccReg(iter.0), [INFO] [stdout] 641 | }); [INFO] [stdout] 642 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:644:17 [INFO] [stdout] | [INFO] [stdout] 644 | / if kfunc == "bpf_iter_num_new" { [INFO] [stdout] 645 | | if let Some(iter) = args.first() { [INFO] [stdout] 646 | | out.push(VccInst::IterNumNew { [INFO] [stdout] 647 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 650 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 644 ~ if kfunc == "bpf_iter_num_new" [INFO] [stdout] 645 ~ && let Some(iter) = args.first() { [INFO] [stdout] 646 | out.push(VccInst::IterNumNew { [INFO] [stdout] 647 | iter: VccReg(iter.0), [INFO] [stdout] 648 | }); [INFO] [stdout] 649 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:651:17 [INFO] [stdout] | [INFO] [stdout] 651 | / if kfunc == "bpf_iter_num_next" { [INFO] [stdout] 652 | | if let Some(iter) = args.first() { [INFO] [stdout] 653 | | out.push(VccInst::IterNumNext { [INFO] [stdout] 654 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 657 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 651 ~ if kfunc == "bpf_iter_num_next" [INFO] [stdout] 652 ~ && let Some(iter) = args.first() { [INFO] [stdout] 653 | out.push(VccInst::IterNumNext { [INFO] [stdout] 654 | iter: VccReg(iter.0), [INFO] [stdout] 655 | }); [INFO] [stdout] 656 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:658:17 [INFO] [stdout] | [INFO] [stdout] 658 | / if kfunc == "bpf_iter_num_destroy" { [INFO] [stdout] 659 | | if let Some(iter) = args.first() { [INFO] [stdout] 660 | | out.push(VccInst::IterNumDestroy { [INFO] [stdout] 661 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 664 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 658 ~ if kfunc == "bpf_iter_num_destroy" [INFO] [stdout] 659 ~ && let Some(iter) = args.first() { [INFO] [stdout] 660 | out.push(VccInst::IterNumDestroy { [INFO] [stdout] 661 | iter: VccReg(iter.0), [INFO] [stdout] 662 | }); [INFO] [stdout] 663 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:665:17 [INFO] [stdout] | [INFO] [stdout] 665 | / if kfunc == "bpf_iter_bits_new" { [INFO] [stdout] 666 | | if let Some(iter) = args.first() { [INFO] [stdout] 667 | | out.push(VccInst::IterBitsNew { [INFO] [stdout] 668 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 671 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 665 ~ if kfunc == "bpf_iter_bits_new" [INFO] [stdout] 666 ~ && let Some(iter) = args.first() { [INFO] [stdout] 667 | out.push(VccInst::IterBitsNew { [INFO] [stdout] 668 | iter: VccReg(iter.0), [INFO] [stdout] 669 | }); [INFO] [stdout] 670 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:672:17 [INFO] [stdout] | [INFO] [stdout] 672 | / if kfunc == "bpf_iter_bits_next" { [INFO] [stdout] 673 | | if let Some(iter) = args.first() { [INFO] [stdout] 674 | | out.push(VccInst::IterBitsNext { [INFO] [stdout] 675 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 678 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 672 ~ if kfunc == "bpf_iter_bits_next" [INFO] [stdout] 673 ~ && let Some(iter) = args.first() { [INFO] [stdout] 674 | out.push(VccInst::IterBitsNext { [INFO] [stdout] 675 | iter: VccReg(iter.0), [INFO] [stdout] 676 | }); [INFO] [stdout] 677 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:679:17 [INFO] [stdout] | [INFO] [stdout] 679 | / if kfunc == "bpf_iter_bits_destroy" { [INFO] [stdout] 680 | | if let Some(iter) = args.first() { [INFO] [stdout] 681 | | out.push(VccInst::IterBitsDestroy { [INFO] [stdout] 682 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 685 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 679 ~ if kfunc == "bpf_iter_bits_destroy" [INFO] [stdout] 680 ~ && let Some(iter) = args.first() { [INFO] [stdout] 681 | out.push(VccInst::IterBitsDestroy { [INFO] [stdout] 682 | iter: VccReg(iter.0), [INFO] [stdout] 683 | }); [INFO] [stdout] 684 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:686:17 [INFO] [stdout] | [INFO] [stdout] 686 | / if kfunc == "bpf_iter_css_new" { [INFO] [stdout] 687 | | if let Some(iter) = args.first() { [INFO] [stdout] 688 | | out.push(VccInst::IterCssNew { [INFO] [stdout] 689 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 692 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 686 ~ if kfunc == "bpf_iter_css_new" [INFO] [stdout] 687 ~ && let Some(iter) = args.first() { [INFO] [stdout] 688 | out.push(VccInst::IterCssNew { [INFO] [stdout] 689 | iter: VccReg(iter.0), [INFO] [stdout] 690 | }); [INFO] [stdout] 691 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:693:17 [INFO] [stdout] | [INFO] [stdout] 693 | / if kfunc == "bpf_iter_css_next" { [INFO] [stdout] 694 | | if let Some(iter) = args.first() { [INFO] [stdout] 695 | | out.push(VccInst::IterCssNext { [INFO] [stdout] 696 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 699 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 693 ~ if kfunc == "bpf_iter_css_next" [INFO] [stdout] 694 ~ && let Some(iter) = args.first() { [INFO] [stdout] 695 | out.push(VccInst::IterCssNext { [INFO] [stdout] 696 | iter: VccReg(iter.0), [INFO] [stdout] 697 | }); [INFO] [stdout] 698 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:700:17 [INFO] [stdout] | [INFO] [stdout] 700 | / if kfunc == "bpf_iter_css_destroy" { [INFO] [stdout] 701 | | if let Some(iter) = args.first() { [INFO] [stdout] 702 | | out.push(VccInst::IterCssDestroy { [INFO] [stdout] 703 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 706 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 700 ~ if kfunc == "bpf_iter_css_destroy" [INFO] [stdout] 701 ~ && let Some(iter) = args.first() { [INFO] [stdout] 702 | out.push(VccInst::IterCssDestroy { [INFO] [stdout] 703 | iter: VccReg(iter.0), [INFO] [stdout] 704 | }); [INFO] [stdout] 705 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:707:17 [INFO] [stdout] | [INFO] [stdout] 707 | / if kfunc == "bpf_iter_css_task_new" { [INFO] [stdout] 708 | | if let Some(iter) = args.first() { [INFO] [stdout] 709 | | out.push(VccInst::IterCssTaskNew { [INFO] [stdout] 710 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 713 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 707 ~ if kfunc == "bpf_iter_css_task_new" [INFO] [stdout] 708 ~ && let Some(iter) = args.first() { [INFO] [stdout] 709 | out.push(VccInst::IterCssTaskNew { [INFO] [stdout] 710 | iter: VccReg(iter.0), [INFO] [stdout] 711 | }); [INFO] [stdout] 712 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:714:17 [INFO] [stdout] | [INFO] [stdout] 714 | / if kfunc == "bpf_iter_css_task_next" { [INFO] [stdout] 715 | | if let Some(iter) = args.first() { [INFO] [stdout] 716 | | out.push(VccInst::IterCssTaskNext { [INFO] [stdout] 717 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 720 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 714 ~ if kfunc == "bpf_iter_css_task_next" [INFO] [stdout] 715 ~ && let Some(iter) = args.first() { [INFO] [stdout] 716 | out.push(VccInst::IterCssTaskNext { [INFO] [stdout] 717 | iter: VccReg(iter.0), [INFO] [stdout] 718 | }); [INFO] [stdout] 719 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:721:17 [INFO] [stdout] | [INFO] [stdout] 721 | / if kfunc == "bpf_iter_css_task_destroy" { [INFO] [stdout] 722 | | if let Some(iter) = args.first() { [INFO] [stdout] 723 | | out.push(VccInst::IterCssTaskDestroy { [INFO] [stdout] 724 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 727 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 721 ~ if kfunc == "bpf_iter_css_task_destroy" [INFO] [stdout] 722 ~ && let Some(iter) = args.first() { [INFO] [stdout] 723 | out.push(VccInst::IterCssTaskDestroy { [INFO] [stdout] 724 | iter: VccReg(iter.0), [INFO] [stdout] 725 | }); [INFO] [stdout] 726 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:728:17 [INFO] [stdout] | [INFO] [stdout] 728 | / if kfunc == "bpf_iter_dmabuf_new" { [INFO] [stdout] 729 | | if let Some(iter) = args.first() { [INFO] [stdout] 730 | | out.push(VccInst::IterDmabufNew { [INFO] [stdout] 731 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 734 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 728 ~ if kfunc == "bpf_iter_dmabuf_new" [INFO] [stdout] 729 ~ && let Some(iter) = args.first() { [INFO] [stdout] 730 | out.push(VccInst::IterDmabufNew { [INFO] [stdout] 731 | iter: VccReg(iter.0), [INFO] [stdout] 732 | }); [INFO] [stdout] 733 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:735:17 [INFO] [stdout] | [INFO] [stdout] 735 | / if kfunc == "bpf_iter_dmabuf_next" { [INFO] [stdout] 736 | | if let Some(iter) = args.first() { [INFO] [stdout] 737 | | out.push(VccInst::IterDmabufNext { [INFO] [stdout] 738 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 741 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 735 ~ if kfunc == "bpf_iter_dmabuf_next" [INFO] [stdout] 736 ~ && let Some(iter) = args.first() { [INFO] [stdout] 737 | out.push(VccInst::IterDmabufNext { [INFO] [stdout] 738 | iter: VccReg(iter.0), [INFO] [stdout] 739 | }); [INFO] [stdout] 740 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:742:17 [INFO] [stdout] | [INFO] [stdout] 742 | / if kfunc == "bpf_iter_dmabuf_destroy" { [INFO] [stdout] 743 | | if let Some(iter) = args.first() { [INFO] [stdout] 744 | | out.push(VccInst::IterDmabufDestroy { [INFO] [stdout] 745 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 748 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 742 ~ if kfunc == "bpf_iter_dmabuf_destroy" [INFO] [stdout] 743 ~ && let Some(iter) = args.first() { [INFO] [stdout] 744 | out.push(VccInst::IterDmabufDestroy { [INFO] [stdout] 745 | iter: VccReg(iter.0), [INFO] [stdout] 746 | }); [INFO] [stdout] 747 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:749:17 [INFO] [stdout] | [INFO] [stdout] 749 | / if kfunc == "bpf_iter_kmem_cache_new" { [INFO] [stdout] 750 | | if let Some(iter) = args.first() { [INFO] [stdout] 751 | | out.push(VccInst::IterKmemCacheNew { [INFO] [stdout] 752 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 755 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 749 ~ if kfunc == "bpf_iter_kmem_cache_new" [INFO] [stdout] 750 ~ && let Some(iter) = args.first() { [INFO] [stdout] 751 | out.push(VccInst::IterKmemCacheNew { [INFO] [stdout] 752 | iter: VccReg(iter.0), [INFO] [stdout] 753 | }); [INFO] [stdout] 754 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:756:17 [INFO] [stdout] | [INFO] [stdout] 756 | / if kfunc == "bpf_iter_kmem_cache_next" { [INFO] [stdout] 757 | | if let Some(iter) = args.first() { [INFO] [stdout] 758 | | out.push(VccInst::IterKmemCacheNext { [INFO] [stdout] 759 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 762 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 756 ~ if kfunc == "bpf_iter_kmem_cache_next" [INFO] [stdout] 757 ~ && let Some(iter) = args.first() { [INFO] [stdout] 758 | out.push(VccInst::IterKmemCacheNext { [INFO] [stdout] 759 | iter: VccReg(iter.0), [INFO] [stdout] 760 | }); [INFO] [stdout] 761 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/vcc/lower/instruction_lowering.rs:763:17 [INFO] [stdout] | [INFO] [stdout] 763 | / if kfunc == "bpf_iter_kmem_cache_destroy" { [INFO] [stdout] 764 | | if let Some(iter) = args.first() { [INFO] [stdout] 765 | | out.push(VccInst::IterKmemCacheDestroy { [INFO] [stdout] 766 | | iter: VccReg(iter.0), [INFO] [stdout] ... | [INFO] [stdout] 769 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 763 ~ if kfunc == "bpf_iter_kmem_cache_destroy" [INFO] [stdout] 764 ~ && let Some(iter) = args.first() { [INFO] [stdout] 765 | out.push(VccInst::IterKmemCacheDestroy { [INFO] [stdout] 766 | iter: VccReg(iter.0), [INFO] [stdout] 767 | }); [INFO] [stdout] 768 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/compiler/vcc/map_layout.rs:169:27 [INFO] [stdout] | [INFO] [stdout] 169 | } else if !(defaulted && !spec.value_size_defaulted) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!defaulted || spec.value_size_defaulted` [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: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/verifier_types/state/mod.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | / if let Some(slot) = self.not_equal.get_mut(vreg.0 as usize) { [INFO] [stdout] 336 | | if !slot.contains(&value) { [INFO] [stdout] 337 | | slot.push(value); [INFO] [stdout] 338 | | slot.sort_unstable(); [INFO] [stdout] ... | [INFO] [stdout] 343 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 335 ~ if let Some(slot) = self.not_equal.get_mut(vreg.0 as usize) [INFO] [stdout] 336 ~ && !slot.contains(&value) { [INFO] [stdout] 337 | slot.push(value); [INFO] [stdout] ... [INFO] [stdout] 341 | } [INFO] [stdout] 342 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/compiler/verifier_types/apply/access.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | / pub(super) fn apply_load_slot_inst( [INFO] [stdout] 48 | | dst: VReg, [INFO] [stdout] 49 | | slot: StackSlotId, [INFO] [stdout] 50 | | offset: i32, [INFO] [stdout] ... | [INFO] [stdout] 55 | | errors: &mut Vec, [INFO] [stdout] 56 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/compiler/verifier_types/calls/helper.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | / pub(in crate::compiler::verifier_types) fn check_helper_ptr_arg_value( [INFO] [stdout] 74 | | helper_id: u32, [INFO] [stdout] 75 | | arg_idx: usize, [INFO] [stdout] 76 | | arg: &MirValue, [INFO] [stdout] ... | [INFO] [stdout] 85 | | errors: &mut Vec, [INFO] [stdout] 86 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/compiler/verifier_types/calls/helper.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | / let Some(helper) = BpfHelper::from_u32(helper_id) else { [INFO] [stdout] 163 | | return None; [INFO] [stdout] 164 | | }; [INFO] [stdout] | |______^ help: replace it with: `let helper = BpfHelper::from_u32(helper_id)?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/verifier_types/calls/helper.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | / if semantics.ringbuf_record_arg0 { [INFO] [stdout] 246 | | if let Some(record) = args.first() { [INFO] [stdout] 247 | | match record { [INFO] [stdout] 248 | | MirValue::VReg(vreg) => match state.get(*vreg) { [INFO] [stdout] ... | [INFO] [stdout] 287 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 245 ~ if semantics.ringbuf_record_arg0 [INFO] [stdout] 246 ~ && let Some(record) = args.first() { [INFO] [stdout] 247 | match record { [INFO] [stdout] ... [INFO] [stdout] 285 | } [INFO] [stdout] 286 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/compiler/verifier_types/calls/kfunc.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | / if let Some(expected_kind) = kfunc_pointer_arg_expected_ref_kind(kfunc, arg_idx) [INFO] [stdout] 112 | | { [INFO] [stdout] 113 | | if let Some(ref_id) = kfunc_ref { [INFO] [stdout] 114 | | if !state.is_live_kfunc_ref(ref_id) { [INFO] [stdout] ... | [INFO] [stdout] 137 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 111 ~ if let Some(expected_kind) = kfunc_pointer_arg_expected_ref_kind(kfunc, arg_idx) [INFO] [stdout] 112 ~ && let Some(ref_id) = kfunc_ref { [INFO] [stdout] 113 | if !state.is_live_kfunc_ref(ref_id) { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/compiler/verifier_types/calls/kfunc.rs:204:1 [INFO] [stdout] | [INFO] [stdout] 204 | / pub(in crate::compiler::verifier_types) fn check_kfunc_ptr_arg_value( [INFO] [stdout] 205 | | kfunc: &str, [INFO] [stdout] 206 | | arg_idx: usize, [INFO] [stdout] 207 | | arg: VReg, [INFO] [stdout] ... | [INFO] [stdout] 216 | | errors: &mut Vec, [INFO] [stdout] 217 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/compiler/verifier_types/map_layout.rs:153:27 [INFO] [stdout] | [INFO] [stdout] 153 | } else if !(defaulted && !spec.value_size_defaulted) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!defaulted || spec.value_size_defaulted` [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: variant name ends with the enum's name [INFO] [stdout] --> src/kernel_btf/service.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | KernelBtfError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | RwLock>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:160:35 [INFO] [stdout] | [INFO] [stdout] 160 | kfunc_pointer_size_arg_cache: RwLock>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:169:35 [INFO] [stdout] | [INFO] [stdout] 169 | kfunc_stack_object_arg_cache: RwLock>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:171:37 [INFO] [stdout] | [INFO] [stdout] 171 | kfunc_pointer_fixed_size_cache: RwLock>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kernel_btf/service.rs:1261:10 [INFO] [stdout] | [INFO] [stdout] 1261 | ) -> Result>, BtfError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/kernel_btf/service.rs:2224:9 [INFO] [stdout] | [INFO] [stdout] 2224 | 8 | 9 | 10 | 11 | 12 => Some(0), // TYPEDEF / VOLATILE / CONST / RESTRICT / FUNC [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `8..=12` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/symbolize.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | / if let Ok(syms) = KernelSymbols::load() { [INFO] [stdout] 158 | | if syms.is_available() { [INFO] [stdout] 159 | | // Try to resolve the first symbol [INFO] [stdout] 160 | | let first_addr = syms.symbols.first().map(|(a, _)| *a).unwrap_or(0); [INFO] [stdout] ... | [INFO] [stdout] 167 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 157 ~ if let Ok(syms) = KernelSymbols::load() [INFO] [stdout] 158 ~ && syms.is_available() { [INFO] [stdout] 159 | // Try to resolve the first symbol [INFO] [stdout] ... [INFO] [stdout] 165 | } [INFO] [stdout] 166 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2576:20 [INFO] [stdout] | [INFO] [stdout] 2576 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2577 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2578 | | arg_idx: 0, [INFO] [stdout] 2579 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2594 | | }, [INFO] [stdout] 2595 | | ]; [INFO] [stdout] | |_________^ [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] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2576 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2577 + arg_idx: 0, [INFO] [stdout] 2578 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2579 + named_out: false, [INFO] [stdout] 2580 + named_in: true, [INFO] [stdout] 2581 + }, [INFO] [stdout] 2582 + UnknownStackObjectArgInfo { [INFO] [stdout] 2583 + arg_idx: 1, [INFO] [stdout] 2584 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2585 + named_out: true, [INFO] [stdout] 2586 + named_in: false, [INFO] [stdout] 2587 + }, [INFO] [stdout] 2588 + UnknownStackObjectArgInfo { [INFO] [stdout] 2589 + arg_idx: 2, [INFO] [stdout] 2590 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2591 + named_out: true, [INFO] [stdout] 2592 + named_in: false, [INFO] [stdout] 2593 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2621:20 [INFO] [stdout] | [INFO] [stdout] 2621 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2622 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2623 | | arg_idx: 0, [INFO] [stdout] 2624 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2639 | | }, [INFO] [stdout] 2640 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2621 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2622 + arg_idx: 0, [INFO] [stdout] 2623 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2624 + named_out: false, [INFO] [stdout] 2625 + named_in: true, [INFO] [stdout] 2626 + }, [INFO] [stdout] 2627 + UnknownStackObjectArgInfo { [INFO] [stdout] 2628 + arg_idx: 1, [INFO] [stdout] 2629 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2630 + named_out: false, [INFO] [stdout] 2631 + named_in: true, [INFO] [stdout] 2632 + }, [INFO] [stdout] 2633 + UnknownStackObjectArgInfo { [INFO] [stdout] 2634 + arg_idx: 2, [INFO] [stdout] 2635 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2636 + named_out: true, [INFO] [stdout] 2637 + named_in: false, [INFO] [stdout] 2638 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2655:20 [INFO] [stdout] | [INFO] [stdout] 2655 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2656 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2657 | | arg_idx: 0, [INFO] [stdout] 2658 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2673 | | }, [INFO] [stdout] 2674 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2655 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2656 + arg_idx: 0, [INFO] [stdout] 2657 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2658 + named_out: false, [INFO] [stdout] 2659 + named_in: true, [INFO] [stdout] 2660 + }, [INFO] [stdout] 2661 + UnknownStackObjectArgInfo { [INFO] [stdout] 2662 + arg_idx: 1, [INFO] [stdout] 2663 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2664 + named_out: true, [INFO] [stdout] 2665 + named_in: false, [INFO] [stdout] 2666 + }, [INFO] [stdout] 2667 + UnknownStackObjectArgInfo { [INFO] [stdout] 2668 + arg_idx: 2, [INFO] [stdout] 2669 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2670 + named_out: true, [INFO] [stdout] 2671 + named_in: false, [INFO] [stdout] 2672 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2692:20 [INFO] [stdout] | [INFO] [stdout] 2692 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2693 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2694 | | arg_idx: 0, [INFO] [stdout] 2695 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2710 | | }, [INFO] [stdout] 2711 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2692 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2693 + arg_idx: 0, [INFO] [stdout] 2694 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2695 + named_out: false, [INFO] [stdout] 2696 + named_in: true, [INFO] [stdout] 2697 + }, [INFO] [stdout] 2698 + UnknownStackObjectArgInfo { [INFO] [stdout] 2699 + arg_idx: 1, [INFO] [stdout] 2700 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2701 + named_out: true, [INFO] [stdout] 2702 + named_in: false, [INFO] [stdout] 2703 + }, [INFO] [stdout] 2704 + UnknownStackObjectArgInfo { [INFO] [stdout] 2705 + arg_idx: 2, [INFO] [stdout] 2706 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2707 + named_out: true, [INFO] [stdout] 2708 + named_in: false, [INFO] [stdout] 2709 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2729:20 [INFO] [stdout] | [INFO] [stdout] 2729 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2730 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2731 | | arg_idx: 0, [INFO] [stdout] 2732 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2741 | | }, [INFO] [stdout] 2742 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2729 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2730 + arg_idx: 0, [INFO] [stdout] 2731 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2732 + named_out: false, [INFO] [stdout] 2733 + named_in: true, [INFO] [stdout] 2734 + }, [INFO] [stdout] 2735 + UnknownStackObjectArgInfo { [INFO] [stdout] 2736 + arg_idx: 1, [INFO] [stdout] 2737 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2738 + named_out: true, [INFO] [stdout] 2739 + named_in: false, [INFO] [stdout] 2740 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2760:20 [INFO] [stdout] | [INFO] [stdout] 2760 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2761 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2762 | | arg_idx: 0, [INFO] [stdout] 2763 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2772 | | }, [INFO] [stdout] 2773 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2760 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2761 + arg_idx: 0, [INFO] [stdout] 2762 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2763 + named_out: false, [INFO] [stdout] 2764 + named_in: true, [INFO] [stdout] 2765 + }, [INFO] [stdout] 2766 + UnknownStackObjectArgInfo { [INFO] [stdout] 2767 + arg_idx: 1, [INFO] [stdout] 2768 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2769 + named_out: true, [INFO] [stdout] 2770 + named_in: false, [INFO] [stdout] 2771 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2785:20 [INFO] [stdout] | [INFO] [stdout] 2785 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2786 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2787 | | arg_idx: 0, [INFO] [stdout] 2788 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2797 | | }, [INFO] [stdout] 2798 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2785 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2786 + arg_idx: 0, [INFO] [stdout] 2787 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2788 + named_out: false, [INFO] [stdout] 2789 + named_in: true, [INFO] [stdout] 2790 + }, [INFO] [stdout] 2791 + UnknownStackObjectArgInfo { [INFO] [stdout] 2792 + arg_idx: 1, [INFO] [stdout] 2793 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2794 + named_out: false, [INFO] [stdout] 2795 + named_in: false, [INFO] [stdout] 2796 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2810:20 [INFO] [stdout] | [INFO] [stdout] 2810 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2811 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2812 | | arg_idx: 0, [INFO] [stdout] 2813 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2828 | | }, [INFO] [stdout] 2829 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2810 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2811 + arg_idx: 0, [INFO] [stdout] 2812 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2813 + named_out: false, [INFO] [stdout] 2814 + named_in: false, [INFO] [stdout] 2815 + }, [INFO] [stdout] 2816 + UnknownStackObjectArgInfo { [INFO] [stdout] 2817 + arg_idx: 1, [INFO] [stdout] 2818 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2819 + named_out: false, [INFO] [stdout] 2820 + named_in: false, [INFO] [stdout] 2821 + }, [INFO] [stdout] 2822 + UnknownStackObjectArgInfo { [INFO] [stdout] 2823 + arg_idx: 2, [INFO] [stdout] 2824 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2825 + named_out: false, [INFO] [stdout] 2826 + named_in: false, [INFO] [stdout] 2827 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2854:20 [INFO] [stdout] | [INFO] [stdout] 2854 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2855 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2856 | | arg_idx: 0, [INFO] [stdout] 2857 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2872 | | }, [INFO] [stdout] 2873 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2854 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2855 + arg_idx: 0, [INFO] [stdout] 2856 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2857 + named_out: false, [INFO] [stdout] 2858 + named_in: false, [INFO] [stdout] 2859 + }, [INFO] [stdout] 2860 + UnknownStackObjectArgInfo { [INFO] [stdout] 2861 + arg_idx: 1, [INFO] [stdout] 2862 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2863 + named_out: false, [INFO] [stdout] 2864 + named_in: false, [INFO] [stdout] 2865 + }, [INFO] [stdout] 2866 + UnknownStackObjectArgInfo { [INFO] [stdout] 2867 + arg_idx: 2, [INFO] [stdout] 2868 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2869 + named_out: false, [INFO] [stdout] 2870 + named_in: false, [INFO] [stdout] 2871 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/compiler/instruction/ref_kinds.rs:2886:20 [INFO] [stdout] | [INFO] [stdout] 2886 | let args = vec![ [INFO] [stdout] | ____________________^ [INFO] [stdout] 2887 | | UnknownStackObjectArgInfo { [INFO] [stdout] 2888 | | arg_idx: 0, [INFO] [stdout] 2889 | | type_name: "bpf_wq".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 2898 | | }, [INFO] [stdout] 2899 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 2886 ~ let args = [UnknownStackObjectArgInfo { [INFO] [stdout] 2887 + arg_idx: 0, [INFO] [stdout] 2888 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2889 + named_out: false, [INFO] [stdout] 2890 + named_in: false, [INFO] [stdout] 2891 + }, [INFO] [stdout] 2892 + UnknownStackObjectArgInfo { [INFO] [stdout] 2893 + arg_idx: 1, [INFO] [stdout] 2894 + type_name: "bpf_wq".to_string(), [INFO] [stdout] 2895 + named_out: false, [INFO] [stdout] 2896 + named_in: false, [INFO] [stdout] 2897 ~ }]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 47s [INFO] running `Command { std: "docker" "inspect" "cee81fd22d2b83b5e92581a01532b0192835acf0ad52e2c8b46c37b51dfc4033", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cee81fd22d2b83b5e92581a01532b0192835acf0ad52e2c8b46c37b51dfc4033", kill_on_drop: false }` [INFO] [stdout] cee81fd22d2b83b5e92581a01532b0192835acf0ad52e2c8b46c37b51dfc4033