[INFO] cloning repository https://github.com/puranjaigarg783/program_analysis [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/puranjaigarg783/program_analysis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpuranjaigarg783%2Fprogram_analysis", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpuranjaigarg783%2Fprogram_analysis'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 73f3d91e39d2254885fc057c7e09cee1639bcbe1 [INFO] checking puranjaigarg783/program_analysis/73f3d91e39d2254885fc057c7e09cee1639bcbe1 against master#e0e204f3e97ad5f79524b9c259dc38df606ed82c for pr-149218 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpuranjaigarg783%2Fprogram_analysis" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/puranjaigarg783/program_analysis [INFO] finished tweaking git repo https://github.com/puranjaigarg783/program_analysis [INFO] tweaked toml for git repo https://github.com/puranjaigarg783/program_analysis written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/puranjaigarg783/program_analysis on toolchain e0e204f3e97ad5f79524b9c259dc38df606ed82c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e0e204f3e97ad5f79524b9c259dc38df606ed82c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/puranjaigarg783/program_analysis 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" "+e0e204f3e97ad5f79524b9c259dc38df606ed82c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cpufeatures v0.2.15 [INFO] [stderr] Downloaded serde-lexpr v0.1.3 [INFO] [stderr] Downloaded pest_generator v2.7.14 [INFO] [stderr] Downloaded lexpr-macros v0.2.2 [INFO] [stderr] Downloaded ascent_base v0.7.0 [INFO] [stderr] Downloaded pest_derive v2.7.14 [INFO] [stderr] Downloaded boxcar v0.1.0 [INFO] [stderr] Downloaded derive-syn-parse v0.2.0 [INFO] [stderr] Downloaded ascent v0.7.0 [INFO] [stderr] Downloaded pest v2.7.14 [INFO] [stderr] Downloaded logos-codegen v0.14.2 [INFO] [stderr] Downloaded logos-derive v0.14.2 [INFO] [stderr] Downloaded lexpr v0.2.7 [INFO] [stderr] Downloaded pest_meta v2.7.14 [INFO] [stderr] Downloaded ascent_macro v0.7.0 [INFO] [stderr] Downloaded hashconsing v1.6.0 [INFO] [stderr] Downloaded logos v0.14.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+e0e204f3e97ad5f79524b9c259dc38df606ed82c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8ed38f6cb04344bbbbccb04e41b394a0ef2cdd311bee4a8c2a020213216f7558 [INFO] running `Command { std: "docker" "start" "-a" "8ed38f6cb04344bbbbccb04e41b394a0ef2cdd311bee4a8c2a020213216f7558", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8ed38f6cb04344bbbbccb04e41b394a0ef2cdd311bee4a8c2a020213216f7558", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8ed38f6cb04344bbbbccb04e41b394a0ef2cdd311bee4a8c2a020213216f7558", kill_on_drop: false }` [INFO] [stdout] 8ed38f6cb04344bbbbccb04e41b394a0ef2cdd311bee4a8c2a020213216f7558 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+e0e204f3e97ad5f79524b9c259dc38df606ed82c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6b134cd0b061566c99c5bd12e10b49c06fad52ca6e808ed2459320234591ccad [INFO] running `Command { std: "docker" "start" "-a" "6b134cd0b061566c99c5bd12e10b49c06fad52ca6e808ed2459320234591ccad", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.215 [INFO] [stderr] Compiling hashbrown v0.15.1 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling proc-macro2 v1.0.89 [INFO] [stderr] Checking itoa v1.0.13 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling ascent_base v0.7.0 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Compiling duplicate v1.0.0 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking boxcar v0.1.0 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking yansi v1.0.1 [INFO] [stderr] Checking hashconsing v1.6.0 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] Compiling indexmap v2.6.0 [INFO] [stderr] Compiling syn v2.0.87 [INFO] [stderr] Compiling lexpr-macros v0.2.2 [INFO] [stderr] Checking lexpr v0.2.7 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Compiling logos-codegen v0.14.2 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_derive v1.0.215 [INFO] [stderr] Compiling derive-syn-parse v0.2.0 [INFO] [stderr] Compiling derive_more v0.99.18 [INFO] [stderr] Compiling ascent_macro v0.7.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling pest v2.7.14 [INFO] [stderr] Compiling logos-derive v0.14.2 [INFO] [stderr] Checking logos v0.14.2 [INFO] [stderr] Compiling pest_meta v2.7.14 [INFO] [stderr] Checking ascent v0.7.0 [INFO] [stderr] Compiling pest_generator v2.7.14 [INFO] [stderr] Compiling pest_derive v2.7.14 [INFO] [stderr] Checking serde-lexpr v0.1.3 [INFO] [stderr] Checking optimization v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `collapse` [INFO] [stdout] --> middle_end/optimization/tests.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use collapse::*; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `collapse` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `collapse`, use `cargo add collapse` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `collapse` [INFO] [stdout] --> middle_end/analysis/tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use collapse::*; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `collapse` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `collapse`, use `cargo add collapse` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `collapsed_eq` in this scope [INFO] [stdout] --> middle_end/analysis/tests.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | collapsed_eq!(&actual, &expected); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `collapsed_eq` in this scope [INFO] [stdout] --> middle_end/optimization/tests.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | collapsed_eq!(&actual, &expected); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `associated_impl::*` [INFO] [stdout] --> front_end/ast.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use associated_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `display_impl::*` [INFO] [stdout] --> front_end/ast.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use display_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fromstr_impl::*` [INFO] [stdout] --> front_end/ast.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use fromstr_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `associated_impl::*` [INFO] [stdout] --> front_end/ast.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use associated_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `display_impl::*` [INFO] [stdout] --> front_end/ast.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use display_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fromstr_impl::*` [INFO] [stdout] --> front_end/ast.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use fromstr_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `derive_more::Display` [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use derive_more::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `derive_more::Display` [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use derive_more::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:37:59 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn analyze(program: &Valid, func: FuncId) -> (Map>) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - pub fn analyze(program: &Valid, func: FuncId) -> (Map>) { [INFO] [stdout] 37 + pub fn analyze(program: &Valid, func: FuncId) -> Map> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:37:59 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn analyze(program: &Valid, func: FuncId) -> (Map>) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - pub fn analyze(program: &Valid, func: FuncId) -> (Map>) { [INFO] [stdout] 37 + pub fn analyze(program: &Valid, func: FuncId) -> Map> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:37:93 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn analyze(program: &Valid, func: FuncId, pts_to: Map>) -> (Map>) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - pub fn analyze(program: &Valid, func: FuncId, pts_to: Map>) -> (Map>) { [INFO] [stdout] 37 + pub fn analyze(program: &Valid, func: FuncId, pts_to: Map>) -> Map> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> middle_end/analysis_constraints.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:37:93 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn analyze(program: &Valid, func: FuncId, pts_to: Map>) -> (Map>) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - pub fn analyze(program: &Valid, func: FuncId, pts_to: Map>) -> (Map>) { [INFO] [stdout] 37 + pub fn analyze(program: &Valid, func: FuncId, pts_to: Map>) -> Map> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> middle_end/analysis_constraints.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::associated_impl::*` [INFO] [stdout] --> middle_end/lir.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use self::associated_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::display_impl::*` [INFO] [stdout] --> middle_end/lir.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use self::display_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::associated_impl::*` [INFO] [stdout] --> middle_end/lir.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use self::associated_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::display_impl::*` [INFO] [stdout] --> middle_end/lir.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use self::display_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::misc_impl::*` [INFO] [stdout] --> middle_end/lir.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use self::misc_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::misc_impl::*` [INFO] [stdout] --> middle_end/lir.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use self::misc_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> middle_end/constraints/constraint_node.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> middle_end/constraints/constraint_node.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeMap as Map` [INFO] [stdout] --> middle_end/constraints.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::{BTreeMap as Map, BTreeSet as Set}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeMap as Map` [INFO] [stdout] --> middle_end/constraints.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::{BTreeMap as Map, BTreeSet as Set}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap as Map` and `BTreeSet as Set` [INFO] [stdout] --> middle_end/taint.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{BTreeMap as Map, BTreeSet as Set}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> middle_end/taint.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `derive_more::Display` [INFO] [stdout] --> middle_end/control_analysis/control.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use derive_more::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> middle_end/control_analysis/control.rs:29:60 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn analyze2(program: &Valid, func: FuncId) -> (Map) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - pub fn analyze2(program: &Valid, func: FuncId) -> (Map) { [INFO] [stdout] 29 + pub fn analyze2(program: &Valid, func: FuncId) -> Map { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap as Map` and `BTreeSet as Set` [INFO] [stdout] --> middle_end/taint.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{BTreeMap as Map, BTreeSet as Set}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> middle_end/taint.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `derive_more::Display` [INFO] [stdout] --> middle_end/control_analysis/control.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use derive_more::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> middle_end/control_analysis/control.rs:29:60 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn analyze2(program: &Valid, func: FuncId) -> (Map) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - pub fn analyze2(program: &Valid, func: FuncId) -> (Map) { [INFO] [stdout] 29 + pub fn analyze2(program: &Valid, func: FuncId) -> Map { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> middle_end/control_analysis.rs:389:6 [INFO] [stdout] | [INFO] [stdout] 389 | ) -> (Map) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 389 - ) -> (Map) { [INFO] [stdout] 389 + ) -> Map { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> middle_end/control_analysis.rs:389:6 [INFO] [stdout] | [INFO] [stdout] 389 | ) -> (Map) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 389 - ) -> (Map) { [INFO] [stdout] 389 + ) -> Map { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:447:29 [INFO] [stdout] | [INFO] [stdout] 446 | ... panic!("panicking even though it should work, b_div div by 0"); [INFO] [stdout] | -------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 447 | ... (Unbounded, i1) [INFO] [stdout] | ^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:447:29 [INFO] [stdout] | [INFO] [stdout] 446 | ... panic!("panicking even though it should work, b_div div by 0"); [INFO] [stdout] | -------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 447 | ... (Unbounded, i1) [INFO] [stdout] | ^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> interpreter.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | AddrOf { lhs, op } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> interpreter.rs:193:27 [INFO] [stdout] | [INFO] [stdout] 193 | AddrOf { lhs, op } => { [INFO] [stdout] | ^^ help: try ignoring the field: `op: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> middle_end/analysis/constant_prop.rs:350:27 [INFO] [stdout] | [INFO] [stdout] 350 | AddrOf { lhs, op } => if lhs.typ().is_int() { self.insert(&lhs, &V::Top) }, [INFO] [stdout] | ^^ help: try ignoring the field: `op: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/analysis/constant_prop.rs:502:13 [INFO] [stdout] | [INFO] [stdout] 502 | _ => (), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/analysis/constant_prop.rs:502:13 [INFO] [stdout] | [INFO] [stdout] 458 | / Branch { [INFO] [stdout] 459 | | cond, [INFO] [stdout] 460 | | tt, [INFO] [stdout] 461 | | ff, [INFO] [stdout] 462 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 471 | / CallDirect { [INFO] [stdout] 472 | | lhs, [INFO] [stdout] 473 | | callee: _, [INFO] [stdout] 474 | | args, [INFO] [stdout] 475 | | next_bb: _, [INFO] [stdout] 476 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 483 | / CallIndirect { [INFO] [stdout] 484 | | lhs, [INFO] [stdout] 485 | | callee: _, [INFO] [stdout] 486 | | args, [INFO] [stdout] 487 | | next_bb: _, [INFO] [stdout] 488 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 496 | Jump(_) => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 502 | _ => (), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | _ => panic!("unexpected case in widening"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 47 | (V::Bot, _) => *widee, [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 48 | (_, V::Bot) => *self, [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 49 | // else it is range [INFO] [stdout] 50 | (V::R((self_low, self_high)), V::R((widee_low, widee_high))) => { [INFO] [stdout] | ------------------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 64 | _ => panic!("unexpected case in widening"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:683:27 [INFO] [stdout] | [INFO] [stdout] 683 | AddrOf { lhs, op } => if lhs.typ().is_int() { self.insert(&lhs, &V::top()) }, [INFO] [stdout] | ^^ help: try ignoring the field: `op: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:440:35 [INFO] [stdout] | [INFO] [stdout] 440 | fn interval_division((mut i1_low, mut i1_high): IntInterval, (mut i2_low, mut i2_high): IntInterval) -> Value { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:440:47 [INFO] [stdout] | [INFO] [stdout] 440 | fn interval_division((mut i1_low, mut i1_high): IntInterval, (mut i2_low, mut i2_high): IntInterval) -> Value { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:850:13 [INFO] [stdout] | [INFO] [stdout] 850 | _ => (), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:850:13 [INFO] [stdout] | [INFO] [stdout] 791 | / Branch { [INFO] [stdout] 792 | | cond, [INFO] [stdout] 793 | | tt, [INFO] [stdout] 794 | | ff, [INFO] [stdout] 795 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 819 | / CallDirect { [INFO] [stdout] 820 | | lhs, [INFO] [stdout] 821 | | callee: _, [INFO] [stdout] 822 | | args, [INFO] [stdout] 823 | | next_bb: _, [INFO] [stdout] 824 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 831 | / CallIndirect { [INFO] [stdout] 832 | | lhs, [INFO] [stdout] 833 | | callee: _, [INFO] [stdout] 834 | | args, [INFO] [stdout] 835 | | next_bb: _, [INFO] [stdout] 836 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 844 | Jump(_) => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 850 | _ => (), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis/liveness.rs:37:57 [INFO] [stdout] | [INFO] [stdout] 37 | fn join_with(&mut self, _rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/liveness.rs:41:53 [INFO] [stdout] | [INFO] [stdout] 41 | fn analyze_inst(&mut self, _inst: &Instruction, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/liveness.rs:45:50 [INFO] [stdout] | [INFO] [stdout] 45 | fn analyze_term(&mut self, _term: &Terminal, cfg: &Cfg) -> Set { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/liveness.rs:49:44 [INFO] [stdout] | [INFO] [stdout] 49 | fn analyze_bb(&self, _bb: &BasicBlock, cfg: &Cfg) -> (Vec, Set) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis/reaching_defs.rs:63:56 [INFO] [stdout] | [INFO] [stdout] 63 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/reaching_defs.rs:86:52 [INFO] [stdout] | [INFO] [stdout] 86 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this_inst` [INFO] [stdout] --> middle_end/analysis/reaching_defs.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let this_inst = &self.curr_inst.clone().unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_inst` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/reaching_defs.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn analyze_term(&mut self, term: &Terminal, cfg: &Cfg) -> Set { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_ty` [INFO] [stdout] --> middle_end/analysis.rs:195:30 [INFO] [stdout] | [INFO] [stdout] 195 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `ret_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ty` [INFO] [stdout] --> middle_end/analysis.rs:195:38 [INFO] [stdout] | [INFO] [stdout] 195 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `param_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let len = self.0.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bb` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | for (bb, pp) in self.0.iter().enumerate() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_bb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:78:56 [INFO] [stdout] | [INFO] [stdout] 78 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:101:112 [INFO] [stdout] | [INFO] [stdout] 101 | ...Point, Set>, store: &mut Map>) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:129:31 [INFO] [stdout] | [INFO] [stdout] 129 | Alloc { lhs, num, id } => { [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ext_callee` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `ext_callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:165:29 [INFO] [stdout] | [INFO] [stdout] 165 | Gfp { lhs, src, field } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:223:109 [INFO] [stdout] | [INFO] [stdout] 223 | ...Point, Set>, store: &mut Map>) -> Set { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callee` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:280:31 [INFO] [stdout] | [INFO] [stdout] 280 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:280:45 [INFO] [stdout] | [INFO] [stdout] 280 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:291:47 [INFO] [stdout] | [INFO] [stdout] 291 | CallIndirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> middle_end/analysis_rdef.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | i, [INFO] [stdout] | ^ help: try ignoring the field: `i: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_ty` [INFO] [stdout] --> middle_end/analysis_rdef.rs:306:30 [INFO] [stdout] | [INFO] [stdout] 306 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `ret_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ty` [INFO] [stdout] --> middle_end/analysis_rdef.rs:306:38 [INFO] [stdout] | [INFO] [stdout] 306 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `param_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let len = self.0.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bb` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | for (bb, pp) in self.0.iter().enumerate() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_bb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:78:56 [INFO] [stdout] | [INFO] [stdout] 78 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:101:112 [INFO] [stdout] | [INFO] [stdout] 101 | ...Point, Set>, store: &mut Map>) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:129:31 [INFO] [stdout] | [INFO] [stdout] 129 | Alloc { lhs, num, id } => { [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ext_callee` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `ext_callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:165:29 [INFO] [stdout] | [INFO] [stdout] 165 | Gfp { lhs, src, field } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:229:109 [INFO] [stdout] | [INFO] [stdout] 229 | ...Point, Set>, store: &mut Map>) -> Set { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callee` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:286:31 [INFO] [stdout] | [INFO] [stdout] 286 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:286:45 [INFO] [stdout] | [INFO] [stdout] 286 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:297:47 [INFO] [stdout] | [INFO] [stdout] 297 | CallIndirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | i, [INFO] [stdout] | ^ help: try ignoring the field: `i: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> interpreter.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | AddrOf { lhs, op } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> interpreter.rs:193:27 [INFO] [stdout] | [INFO] [stdout] 193 | AddrOf { lhs, op } => { [INFO] [stdout] | ^^ help: try ignoring the field: `op: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_ty` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs.rs:308:30 [INFO] [stdout] | [INFO] [stdout] 308 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `ret_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ty` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs.rs:308:38 [INFO] [stdout] | [INFO] [stdout] 308 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `param_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let len = self.0.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bb` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | for (bb, pp) in self.0.iter().enumerate() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_bb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> middle_end/analysis/constant_prop.rs:350:27 [INFO] [stdout] | [INFO] [stdout] 350 | AddrOf { lhs, op } => if lhs.typ().is_int() { self.insert(&lhs, &V::Top) }, [INFO] [stdout] | ^^ help: try ignoring the field: `op: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:111:56 [INFO] [stdout] | [INFO] [stdout] 111 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:134:52 [INFO] [stdout] | [INFO] [stdout] 134 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg, soln: &mut Set, store: &mut Map>) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:134:91 [INFO] [stdout] | [INFO] [stdout] 134 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg, soln: &mut Set, store: &mut Map>) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this_pp` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | let this_pp = ProgramPoint::from_instid(this_inst.clone()); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_pp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:148:26 [INFO] [stdout] | [INFO] [stdout] 148 | Alloc { lhs, num, id } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `num: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | Arith { lhs, aop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op1` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:156:33 [INFO] [stdout] | [INFO] [stdout] 156 | Arith { lhs, aop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `op1: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op2` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | Arith { lhs, aop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `op2: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:159:19 [INFO] [stdout] | [INFO] [stdout] 159 | Cmp { lhs, rop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op1` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | Cmp { lhs, rop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `op1: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op2` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:159:36 [INFO] [stdout] | [INFO] [stdout] 159 | Cmp { lhs, rop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `op2: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:162:23 [INFO] [stdout] | [INFO] [stdout] 162 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ext_callee` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:162:28 [INFO] [stdout] | [INFO] [stdout] 162 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `ext_callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:162:40 [INFO] [stdout] | [INFO] [stdout] 162 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | idx, [INFO] [stdout] | ^^^ help: try ignoring the field: `idx: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | Gfp { lhs, src, field } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/analysis/constant_prop.rs:502:13 [INFO] [stdout] | [INFO] [stdout] 502 | _ => (), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/analysis/constant_prop.rs:502:13 [INFO] [stdout] | [INFO] [stdout] 458 | / Branch { [INFO] [stdout] 459 | | cond, [INFO] [stdout] 460 | | tt, [INFO] [stdout] 461 | | ff, [INFO] [stdout] 462 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 471 | / CallDirect { [INFO] [stdout] 472 | | lhs, [INFO] [stdout] 473 | | callee: _, [INFO] [stdout] 474 | | args, [INFO] [stdout] 475 | | next_bb: _, [INFO] [stdout] 476 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 483 | / CallIndirect { [INFO] [stdout] 484 | | lhs, [INFO] [stdout] 485 | | callee: _, [INFO] [stdout] 486 | | args, [INFO] [stdout] 487 | | next_bb: _, [INFO] [stdout] 488 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 496 | Jump(_) => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 502 | _ => (), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:218:88 [INFO] [stdout] | [INFO] [stdout] 218 | ...oln: &mut Set, store: &mut Map>) -> Set { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this_pp` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | let this_pp = ProgramPoint::from(self.curr_inst.clone().unwrap().0, None); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_pp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:222:45 [INFO] [stdout] | [INFO] [stdout] 222 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:251:47 [INFO] [stdout] | [INFO] [stdout] 251 | CallIndirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | Branch { cond, .. } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `cond: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:280:22 [INFO] [stdout] | [INFO] [stdout] 280 | Ret(Some(op)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | _ => panic!("unexpected case in widening"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 47 | (V::Bot, _) => *widee, [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 48 | (_, V::Bot) => *self, [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 49 | // else it is range [INFO] [stdout] 50 | (V::R((self_low, self_high)), V::R((widee_low, widee_high))) => { [INFO] [stdout] | ------------------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 64 | _ => panic!("unexpected case in widening"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_ty` [INFO] [stdout] --> middle_end/analysis_constraints.rs:299:30 [INFO] [stdout] | [INFO] [stdout] 299 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `ret_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ty` [INFO] [stdout] --> middle_end/analysis_constraints.rs:299:38 [INFO] [stdout] | [INFO] [stdout] 299 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `param_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:683:27 [INFO] [stdout] | [INFO] [stdout] 683 | AddrOf { lhs, op } => if lhs.typ().is_int() { self.insert(&lhs, &V::top()) }, [INFO] [stdout] | ^^ help: try ignoring the field: `op: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:440:35 [INFO] [stdout] | [INFO] [stdout] 440 | fn interval_division((mut i1_low, mut i1_high): IntInterval, (mut i2_low, mut i2_high): IntInterval) -> Value { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:440:47 [INFO] [stdout] | [INFO] [stdout] 440 | fn interval_division((mut i1_low, mut i1_high): IntInterval, (mut i2_low, mut i2_high): IntInterval) -> Value { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:850:13 [INFO] [stdout] | [INFO] [stdout] 850 | _ => (), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/analysis/integer_interval.rs:850:13 [INFO] [stdout] | [INFO] [stdout] 791 | / Branch { [INFO] [stdout] 792 | | cond, [INFO] [stdout] 793 | | tt, [INFO] [stdout] 794 | | ff, [INFO] [stdout] 795 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 819 | / CallDirect { [INFO] [stdout] 820 | | lhs, [INFO] [stdout] 821 | | callee: _, [INFO] [stdout] 822 | | args, [INFO] [stdout] 823 | | next_bb: _, [INFO] [stdout] 824 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 831 | / CallIndirect { [INFO] [stdout] 832 | | lhs, [INFO] [stdout] 833 | | callee: _, [INFO] [stdout] 834 | | args, [INFO] [stdout] 835 | | next_bb: _, [INFO] [stdout] 836 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 844 | Jump(_) => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 850 | _ => (), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis/liveness.rs:37:57 [INFO] [stdout] | [INFO] [stdout] 37 | fn join_with(&mut self, _rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/liveness.rs:41:53 [INFO] [stdout] | [INFO] [stdout] 41 | fn analyze_inst(&mut self, _inst: &Instruction, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/liveness.rs:45:50 [INFO] [stdout] | [INFO] [stdout] 45 | fn analyze_term(&mut self, _term: &Terminal, cfg: &Cfg) -> Set { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/liveness.rs:49:44 [INFO] [stdout] | [INFO] [stdout] 49 | fn analyze_bb(&self, _bb: &BasicBlock, cfg: &Cfg) -> (Vec, Set) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis/reaching_defs.rs:63:56 [INFO] [stdout] | [INFO] [stdout] 63 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/reaching_defs.rs:86:52 [INFO] [stdout] | [INFO] [stdout] 86 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this_inst` [INFO] [stdout] --> middle_end/analysis/reaching_defs.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let this_inst = &self.curr_inst.clone().unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_inst` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis/reaching_defs.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn analyze_term(&mut self, term: &Terminal, cfg: &Cfg) -> Set { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_ty` [INFO] [stdout] --> middle_end/analysis.rs:195:30 [INFO] [stdout] | [INFO] [stdout] 195 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `ret_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ty` [INFO] [stdout] --> middle_end/analysis.rs:195:38 [INFO] [stdout] | [INFO] [stdout] 195 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `param_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let len = self.0.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bb` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | for (bb, pp) in self.0.iter().enumerate() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_bb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:78:56 [INFO] [stdout] | [INFO] [stdout] 78 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:101:112 [INFO] [stdout] | [INFO] [stdout] 101 | ...Point, Set>, store: &mut Map>) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:129:31 [INFO] [stdout] | [INFO] [stdout] 129 | Alloc { lhs, num, id } => { [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ext_callee` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `ext_callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:165:29 [INFO] [stdout] | [INFO] [stdout] 165 | Gfp { lhs, src, field } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:223:109 [INFO] [stdout] | [INFO] [stdout] 223 | ...Point, Set>, store: &mut Map>) -> Set { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callee` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:280:31 [INFO] [stdout] | [INFO] [stdout] 280 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:280:45 [INFO] [stdout] | [INFO] [stdout] 280 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_rdef/reaching_defs.rs:291:47 [INFO] [stdout] | [INFO] [stdout] 291 | CallIndirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> middle_end/analysis_rdef.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | i, [INFO] [stdout] | ^ help: try ignoring the field: `i: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_ty` [INFO] [stdout] --> middle_end/analysis_rdef.rs:306:30 [INFO] [stdout] | [INFO] [stdout] 306 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `ret_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ty` [INFO] [stdout] --> middle_end/analysis_rdef.rs:306:38 [INFO] [stdout] | [INFO] [stdout] 306 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `param_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let len = self.0.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bb` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | for (bb, pp) in self.0.iter().enumerate() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_bb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:78:56 [INFO] [stdout] | [INFO] [stdout] 78 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:101:112 [INFO] [stdout] | [INFO] [stdout] 101 | ...Point, Set>, store: &mut Map>) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:129:31 [INFO] [stdout] | [INFO] [stdout] 129 | Alloc { lhs, num, id } => { [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ext_callee` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `ext_callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:165:29 [INFO] [stdout] | [INFO] [stdout] 165 | Gfp { lhs, src, field } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:229:109 [INFO] [stdout] | [INFO] [stdout] 229 | ...Point, Set>, store: &mut Map>) -> Set { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callee` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:286:31 [INFO] [stdout] | [INFO] [stdout] 286 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:286:45 [INFO] [stdout] | [INFO] [stdout] 286 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs/reaching_defs_ptrs.rs:297:47 [INFO] [stdout] | [INFO] [stdout] 297 | CallIndirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | i, [INFO] [stdout] | ^ help: try ignoring the field: `i: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_ty` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs.rs:308:30 [INFO] [stdout] | [INFO] [stdout] 308 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `ret_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ty` [INFO] [stdout] --> middle_end/analysis_rdef_ptrs.rs:308:38 [INFO] [stdout] | [INFO] [stdout] 308 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `param_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let len = self.0.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bb` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | for (bb, pp) in self.0.iter().enumerate() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_bb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:111:56 [INFO] [stdout] | [INFO] [stdout] 111 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:134:52 [INFO] [stdout] | [INFO] [stdout] 134 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg, soln: &mut Set, store: &mut Map>) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:134:91 [INFO] [stdout] | [INFO] [stdout] 134 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg, soln: &mut Set, store: &mut Map>) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this_pp` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | let this_pp = ProgramPoint::from_instid(this_inst.clone()); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_pp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:148:26 [INFO] [stdout] | [INFO] [stdout] 148 | Alloc { lhs, num, id } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `num: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | Arith { lhs, aop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op1` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:156:33 [INFO] [stdout] | [INFO] [stdout] 156 | Arith { lhs, aop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `op1: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op2` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | Arith { lhs, aop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `op2: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:159:19 [INFO] [stdout] | [INFO] [stdout] 159 | Cmp { lhs, rop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op1` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | Cmp { lhs, rop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `op1: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op2` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:159:36 [INFO] [stdout] | [INFO] [stdout] 159 | Cmp { lhs, rop:_, op1, op2 } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `op2: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:162:23 [INFO] [stdout] | [INFO] [stdout] 162 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ext_callee` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:162:28 [INFO] [stdout] | [INFO] [stdout] 162 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `ext_callee: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:162:40 [INFO] [stdout] | [INFO] [stdout] 162 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | idx, [INFO] [stdout] | ^^^ help: try ignoring the field: `idx: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | Gfp { lhs, src, field } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:218:88 [INFO] [stdout] | [INFO] [stdout] 218 | ...oln: &mut Set, store: &mut Map>) -> Set { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this_pp` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | let this_pp = ProgramPoint::from(self.curr_inst.clone().unwrap().0, None); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_pp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:222:45 [INFO] [stdout] | [INFO] [stdout] 222 | CallDirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_bb` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:251:47 [INFO] [stdout] | [INFO] [stdout] 251 | CallIndirect { lhs, callee, args, next_bb } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `next_bb: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | Branch { cond, .. } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `cond: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> middle_end/analysis_constraints/constraints_gen.rs:280:22 [INFO] [stdout] | [INFO] [stdout] 280 | Ret(Some(op)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_ty` [INFO] [stdout] --> middle_end/analysis_constraints.rs:299:30 [INFO] [stdout] | [INFO] [stdout] 299 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `ret_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ty` [INFO] [stdout] --> middle_end/analysis_constraints.rs:299:38 [INFO] [stdout] | [INFO] [stdout] 299 | Function{ret_ty, param_ty} => (), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `param_ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/lir/validate.rs:456:33 [INFO] [stdout] | [INFO] [stdout] 456 | I::AddrOf { lhs, op } => {} [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> middle_end/lir/validate.rs:456:38 [INFO] [stdout] | [INFO] [stdout] 456 | I::AddrOf { lhs, op } => {} [INFO] [stdout] | ^^ help: try ignoring the field: `op: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/lir/validate.rs:456:33 [INFO] [stdout] | [INFO] [stdout] 456 | I::AddrOf { lhs, op } => {} [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> middle_end/lir/validate.rs:456:38 [INFO] [stdout] | [INFO] [stdout] 456 | I::AddrOf { lhs, op } => {} [INFO] [stdout] | ^^ help: try ignoring the field: `op: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:34:40 [INFO] [stdout] | [INFO] [stdout] 34 | if let Ref(v1, v2) = pred { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:48:40 [INFO] [stdout] | [INFO] [stdout] 48 | if let Ref(v1, v2) = pred { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | (Var(v1), Var(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:99:23 [INFO] [stdout] | [INFO] [stdout] 99 | (Var(v1), Var(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | (Proj(v1), Var(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:105:24 [INFO] [stdout] | [INFO] [stdout] 105 | (Proj(v1), Var(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | (Var(v1), Proj(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:111:24 [INFO] [stdout] | [INFO] [stdout] 111 | (Var(v1), Proj(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:117:18 [INFO] [stdout] | [INFO] [stdout] 117 | (Ref(v1, v2), Var(v3)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:123:15 [INFO] [stdout] | [INFO] [stdout] 123 | (Proj(v1), Proj(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:123:25 [INFO] [stdout] | [INFO] [stdout] 123 | (Proj(v1), Proj(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | (Ref(v1, v2), Proj(v3)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | (Ref(v1, v2), Proj(v3)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v3` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:129:28 [INFO] [stdout] | [INFO] [stdout] 129 | (Ref(v1, v2), Proj(v3)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:161:28 [INFO] [stdout] | [INFO] [stdout] 161 | if let Ref(v1, v2) = pred { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/constraints.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/constraints.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 100 | ConstraintExp::Var(var) => { [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 103 | ConstraintExp::Ref(var1, var2) => { [INFO] [stdout] | ------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 106 | ConstraintExp::Proj(var) => write!(f, "proj(ref,1,{})", var.with_funcid()), [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] 107 | / ConstraintExp::Lam{ [INFO] [stdout] 108 | | name, [INFO] [stdout] 109 | | param_ty, [INFO] [stdout] 110 | | ret_ty, [INFO] [stdout] 111 | | ret_op, [INFO] [stdout] 112 | | args, [INFO] [stdout] 113 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 155 | _ => unreachable!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/slice/slice_solve.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut debug_string = String::from(""); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `debug_string` [INFO] [stdout] --> middle_end/slice/slice_solve.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut debug_string = String::from(""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/slice/slice_solve.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut debug_string = String::from(""); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `debug_string` [INFO] [stdout] --> middle_end/slice/slice_solve.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut debug_string = String::from(""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:60:52 [INFO] [stdout] | [INFO] [stdout] 60 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:79:40 [INFO] [stdout] | [INFO] [stdout] 79 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:91:49 [INFO] [stdout] | [INFO] [stdout] 91 | fn analyze_term(&mut self, term: &Terminal, cfg: &Cfg) -> Set { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | let mut taint_state = TaintState { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pts_to` [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:150:56 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn analyze(program: &Valid, func: FuncId, pts_to: Map>) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pts_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_set_val` [INFO] [stdout] --> middle_end/control_analysis/control.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let full_set_val = Value(full_set); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_set_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_store` [INFO] [stdout] --> middle_end/control_analysis/control.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let init_store = Env::new(Map::new()); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_set_val` [INFO] [stdout] --> middle_end/control_analysis/control.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let full_set_val = Value(full_set); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_set_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_store` [INFO] [stdout] --> middle_end/control_analysis/control.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let init_store = Env::new(Map::new()); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_set_val` [INFO] [stdout] --> middle_end/control_analysis/control.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let full_set_val = Value(full_set); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_set_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/control_analysis/control.rs:77:56 [INFO] [stdout] | [INFO] [stdout] 77 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/control_analysis/control.rs:100:52 [INFO] [stdout] | [INFO] [stdout] 100 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this_inst` [INFO] [stdout] --> middle_end/control_analysis/control.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | let this_inst = &self.curr_inst.clone().unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_inst` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `use_set` is assigned to, but never used [INFO] [stdout] --> middle_end/control_analysis/control.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | let mut use_set: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_use_set` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def` [INFO] [stdout] --> middle_end/control_analysis/control.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let def = match inst { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_def` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `use_set` is never read [INFO] [stdout] --> middle_end/control_analysis/control.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | use_set = get_vars(vec![op1, op2]); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/control_analysis/control.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | _ => (), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/control_analysis/control.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 149 | / Branch { [INFO] [stdout] 150 | | cond, [INFO] [stdout] 151 | | tt, [INFO] [stdout] 152 | | ff, [INFO] [stdout] 153 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 158 | / CallDirect { [INFO] [stdout] 159 | | lhs, [INFO] [stdout] 160 | | callee: _, [INFO] [stdout] 161 | | args, [INFO] [stdout] 162 | | next_bb, [INFO] [stdout] 163 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 167 | / CallIndirect { [INFO] [stdout] 168 | | lhs, [INFO] [stdout] 169 | | callee: _, [INFO] [stdout] 170 | | args, [INFO] [stdout] 171 | | next_bb, [INFO] [stdout] 172 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 175 | Jump(next_bb) => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 180 | _ => (), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/control_analysis/control.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn analyze_term(&mut self, term: &Terminal, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> middle_end/control_analysis/control.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | cond, [INFO] [stdout] | ^^^^ help: try ignoring the field: `cond: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/control_analysis/control.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | lhs, [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> middle_end/control_analysis/control.rs:161:17 [INFO] [stdout] | [INFO] [stdout] 161 | args, [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/control_analysis/control.rs:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | lhs, [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> middle_end/control_analysis/control.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | args, [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:34:40 [INFO] [stdout] | [INFO] [stdout] 34 | if let Ref(v1, v2) = pred { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:48:40 [INFO] [stdout] | [INFO] [stdout] 48 | if let Ref(v1, v2) = pred { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | (Var(v1), Var(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:99:23 [INFO] [stdout] | [INFO] [stdout] 99 | (Var(v1), Var(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | (Proj(v1), Var(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:105:24 [INFO] [stdout] | [INFO] [stdout] 105 | (Proj(v1), Var(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | (Var(v1), Proj(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:111:24 [INFO] [stdout] | [INFO] [stdout] 111 | (Var(v1), Proj(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:117:18 [INFO] [stdout] | [INFO] [stdout] 117 | (Ref(v1, v2), Var(v3)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:123:15 [INFO] [stdout] | [INFO] [stdout] 123 | (Proj(v1), Proj(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:123:25 [INFO] [stdout] | [INFO] [stdout] 123 | (Proj(v1), Proj(v2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | (Ref(v1, v2), Proj(v3)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | (Ref(v1, v2), Proj(v3)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v3` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:129:28 [INFO] [stdout] | [INFO] [stdout] 129 | (Ref(v1, v2), Proj(v3)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:161:28 [INFO] [stdout] | [INFO] [stdout] 161 | if let Ref(v1, v2) = pred { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/constraints.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/constraints.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 100 | ConstraintExp::Var(var) => { [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 103 | ConstraintExp::Ref(var1, var2) => { [INFO] [stdout] | ------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 106 | ConstraintExp::Proj(var) => write!(f, "proj(ref,1,{})", var.with_funcid()), [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] 107 | / ConstraintExp::Lam{ [INFO] [stdout] 108 | | name, [INFO] [stdout] 109 | | param_ty, [INFO] [stdout] 110 | | ret_ty, [INFO] [stdout] 111 | | ret_op, [INFO] [stdout] 112 | | args, [INFO] [stdout] 113 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 155 | _ => unreachable!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/slice/slice_solve.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut debug_string = String::from(""); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `debug_string` [INFO] [stdout] --> middle_end/slice/slice_solve.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut debug_string = String::from(""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/slice/slice_solve.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut debug_string = String::from(""); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `debug_string` [INFO] [stdout] --> middle_end/slice/slice_solve.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut debug_string = String::from(""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:60:52 [INFO] [stdout] | [INFO] [stdout] 60 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:79:40 [INFO] [stdout] | [INFO] [stdout] 79 | CallExt { lhs, ext_callee, args } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:91:49 [INFO] [stdout] | [INFO] [stdout] 91 | fn analyze_term(&mut self, term: &Terminal, cfg: &Cfg) -> Set { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | let mut taint_state = TaintState { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pts_to` [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:150:56 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn analyze(program: &Valid, func: FuncId, pts_to: Map>) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pts_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_set_val` [INFO] [stdout] --> middle_end/control_analysis/control.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let full_set_val = Value(full_set); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_set_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_store` [INFO] [stdout] --> middle_end/control_analysis/control.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let init_store = Env::new(Map::new()); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_set_val` [INFO] [stdout] --> middle_end/control_analysis/control.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let full_set_val = Value(full_set); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_set_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_store` [INFO] [stdout] --> middle_end/control_analysis/control.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let init_store = Env::new(Map::new()); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `optimization` (lib test) due to 4 previous errors; 137 warnings emitted [INFO] [stdout] warning: unused variable: `full_set_val` [INFO] [stdout] --> middle_end/control_analysis/control.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let full_set_val = Value(full_set); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_set_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `join_type` [INFO] [stdout] --> middle_end/control_analysis/control.rs:77:56 [INFO] [stdout] | [INFO] [stdout] 77 | fn join_with(&mut self, rhs: &Self, _block: &BbId, join_type: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_join_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/control_analysis/control.rs:100:52 [INFO] [stdout] | [INFO] [stdout] 100 | fn analyze_inst(&mut self, inst: &Instruction, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `this_inst` [INFO] [stdout] --> middle_end/control_analysis/control.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | let this_inst = &self.curr_inst.clone().unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_inst` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `use_set` is assigned to, but never used [INFO] [stdout] --> middle_end/control_analysis/control.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | let mut use_set: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_use_set` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def` [INFO] [stdout] --> middle_end/control_analysis/control.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let def = match inst { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_def` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `use_set` is never read [INFO] [stdout] --> middle_end/control_analysis/control.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | use_set = get_vars(vec![op1, op2]); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> middle_end/control_analysis/control.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | _ => (), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> middle_end/control_analysis/control.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 149 | / Branch { [INFO] [stdout] 150 | | cond, [INFO] [stdout] 151 | | tt, [INFO] [stdout] 152 | | ff, [INFO] [stdout] 153 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 158 | / CallDirect { [INFO] [stdout] 159 | | lhs, [INFO] [stdout] 160 | | callee: _, [INFO] [stdout] 161 | | args, [INFO] [stdout] 162 | | next_bb, [INFO] [stdout] 163 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 167 | / CallIndirect { [INFO] [stdout] 168 | | lhs, [INFO] [stdout] 169 | | callee: _, [INFO] [stdout] 170 | | args, [INFO] [stdout] 171 | | next_bb, [INFO] [stdout] 172 | | } => { [INFO] [stdout] | |_____________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 175 | Jump(next_bb) => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 180 | _ => (), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> middle_end/control_analysis/control.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn analyze_term(&mut self, term: &Terminal, cfg: &Cfg) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> middle_end/control_analysis/control.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | cond, [INFO] [stdout] | ^^^^ help: try ignoring the field: `cond: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/control_analysis/control.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | lhs, [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> middle_end/control_analysis/control.rs:161:17 [INFO] [stdout] | [INFO] [stdout] 161 | args, [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> middle_end/control_analysis/control.rs:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | lhs, [INFO] [stdout] | ^^^ help: try ignoring the field: `lhs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> middle_end/control_analysis/control.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | args, [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `dummy_var` is never used [INFO] [stdout] --> middle_end/constraints.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl ConstraintExp { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 31 | fn dummy_var() -> ConstraintExp { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> middle_end/constraints.rs:161:26 [INFO] [stdout] | [INFO] [stdout] 161 | pub struct ConstraintVar(Option, VarId); [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing these fields [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from` is never used [INFO] [stdout] --> middle_end/constraints/constraint_solve.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn read_from(path: &str) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_rdef` is never used [INFO] [stdout] --> middle_end/slice/slice_solve.rs:161:4 [INFO] [stdout] | [INFO] [stdout] 161 | fn print_rdef(result: &Map>) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_dominance` is never used [INFO] [stdout] --> middle_end/slice/slice_solve.rs:181:4 [INFO] [stdout] | [INFO] [stdout] 181 | fn print_dominance(result: &Map>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sources` is never read [INFO] [stdout] --> middle_end/taint/taint_analysis.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 42 | struct TaintState { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 43 | sources: Set, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaintState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6b134cd0b061566c99c5bd12e10b49c06fad52ca6e808ed2459320234591ccad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6b134cd0b061566c99c5bd12e10b49c06fad52ca6e808ed2459320234591ccad", kill_on_drop: false }` [INFO] [stdout] 6b134cd0b061566c99c5bd12e10b49c06fad52ca6e808ed2459320234591ccad