[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 against try#9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840 for pr-149518
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpuranjaigarg783%2Fprogram_analysis" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/puranjaigarg783/program_analysis on toolchain 9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840" "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" "+9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking puranjaigarg783/program_analysis against try#9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840 for pr-149518
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpuranjaigarg783%2Fprogram_analysis" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/puranjaigarg783/program_analysis on toolchain 9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840" "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" "+9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded itoa v1.0.13
[INFO] [stderr]   Downloaded lexpr v0.2.7
[INFO] [stderr]   Downloaded ascent_base v0.7.0
[INFO] [stderr]   Downloaded lexpr-macros v0.2.2
[INFO] [stderr]   Downloaded serde-lexpr v0.1.3
[INFO] [stderr]   Downloaded boxcar v0.1.0
[INFO] [stderr]   Downloaded logos-derive v0.14.2
[INFO] [stderr]   Downloaded pest_generator v2.7.14
[INFO] [stderr]   Downloaded ascent v0.7.0
[INFO] [stderr]   Downloaded duplicate v1.0.0
[INFO] [stderr]   Downloaded ascent_macro v0.7.0
[INFO] [stderr]   Downloaded allocator-api2 v0.2.20
[INFO] [stderr]   Downloaded serde_derive v1.0.215
[INFO] [stderr]   Downloaded pest v2.7.14
[INFO] [stderr]   Downloaded serde_json v1.0.133
[INFO] [stderr]   Downloaded serde v1.0.215
[INFO] [stderr]   Downloaded pest_meta v2.7.14
[INFO] [stderr]   Downloaded logos-codegen v0.14.2
[INFO] [stderr]   Downloaded pest_derive v2.7.14
[INFO] [stderr]   Downloaded hashconsing v1.6.0
[INFO] [stderr]   Downloaded libc v0.2.164
[INFO] [stderr]   Downloaded logos v0.14.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 451c2772678e0c678be2a7a3e5aa2a96048c3d9ef4743d4b605d672f036d9b5f
[INFO] running `Command { std: "docker" "start" "-a" "451c2772678e0c678be2a7a3e5aa2a96048c3d9ef4743d4b605d672f036d9b5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "451c2772678e0c678be2a7a3e5aa2a96048c3d9ef4743d4b605d672f036d9b5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "451c2772678e0c678be2a7a3e5aa2a96048c3d9ef4743d4b605d672f036d9b5f", kill_on_drop: false }`
[INFO] [stdout] 451c2772678e0c678be2a7a3e5aa2a96048c3d9ef4743d4b605d672f036d9b5f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+9b8307bcb9d1de8ffc7e1c81c48efffdb24ee840" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c961abefdbdf84b6b682c08e81a84154d1a5705c26cba458ab77e7da387942d3
[INFO] running `Command { std: "docker" "start" "-a" "c961abefdbdf84b6b682c08e81a84154d1a5705c26cba458ab77e7da387942d3", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling libc v0.2.164
[INFO] [stderr]    Compiling hashbrown v0.15.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]     Checking allocator-api2 v0.2.20
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]     Checking itoa v1.0.13
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling duplicate v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking boxcar v0.1.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking hashconsing v1.6.0
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling ascent_base v0.7.0
[INFO] [stderr]    Compiling lexpr-macros v0.2.2
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking lexpr v0.2.7
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling logos-codegen v0.14.2
[INFO] [stderr]     Checking dashmap v5.5.3
[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 logos-derive v0.14.2
[INFO] [stderr]     Checking logos v0.14.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pest v2.7.14
[INFO] [stderr]    Compiling pest_meta v2.7.14
[INFO] [stderr]    Compiling pest_generator v2.7.14
[INFO] [stderr]     Checking ascent v0.7.0
[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: `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<Program>, func: FuncId) -> (Map<ProgramPoint, Set<ProgramPoint>>) {
[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<Program>, func: FuncId) -> (Map<ProgramPoint, Set<ProgramPoint>>) {
[INFO] [stdout] 37 + pub fn analyze(program: &Valid<Program>, func: FuncId) -> Map<ProgramPoint, Set<ProgramPoint>> {
[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<Program>, func: FuncId, pts_to: Map<String, Set<String>>) -> (Map<ProgramPoint, Set<ProgramPoint>>) {
[INFO] [stdout]    |                                                                                             ^                                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 37 - pub fn analyze(program: &Valid<Program>, func: FuncId, pts_to: Map<String, Set<String>>) -> (Map<ProgramPoint, Set<ProgramPoint>>) {
[INFO] [stdout] 37 + pub fn analyze(program: &Valid<Program>, func: FuncId, pts_to: Map<String, Set<String>>) -> Map<ProgramPoint, Set<ProgramPoint>> {
[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::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: `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<Program>, func: FuncId) -> (Map<BbId, Env>) {
[INFO] [stdout]    |                                                            ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 29 - pub fn analyze2(program: &Valid<Program>, func: FuncId) -> (Map<BbId, Env>) {
[INFO] [stdout] 29 + pub fn analyze2(program: &Valid<Program>, func: FuncId) -> Map<BbId, Env>  {
[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<BbId, A>) {
[INFO] [stdout]     |      ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 389 - ) -> (Map<BbId, A>) {
[INFO] [stdout] 389 + ) -> Map<BbId, A> {
[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: 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<Program>, func: FuncId) -> (Map<ProgramPoint, Set<ProgramPoint>>) {
[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<Program>, func: FuncId) -> (Map<ProgramPoint, Set<ProgramPoint>>) {
[INFO] [stdout] 37 + pub fn analyze(program: &Valid<Program>, func: FuncId) -> Map<ProgramPoint, Set<ProgramPoint>> {
[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<Program>, func: FuncId, pts_to: Map<String, Set<String>>) -> (Map<ProgramPoint, Set<ProgramPoint>>) {
[INFO] [stdout]    |                                                                                             ^                                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 37 - pub fn analyze(program: &Valid<Program>, func: FuncId, pts_to: Map<String, Set<String>>) -> (Map<ProgramPoint, Set<ProgramPoint>>) {
[INFO] [stdout] 37 + pub fn analyze(program: &Valid<Program>, func: FuncId, pts_to: Map<String, Set<String>>) -> Map<ProgramPoint, Set<ProgramPoint>> {
[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::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: `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<Program>, func: FuncId) -> (Map<BbId, Env>) {
[INFO] [stdout]    |                                                            ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 29 - pub fn analyze2(program: &Valid<Program>, func: FuncId) -> (Map<BbId, Env>) {
[INFO] [stdout] 29 + pub fn analyze2(program: &Valid<Program>, func: FuncId) -> Map<BbId, Env>  {
[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<BbId, A>) {
[INFO] [stdout]     |      ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 389 - ) -> (Map<BbId, A>) {
[INFO] [stdout] 389 + ) -> Map<BbId, A> {
[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<BbId> {
[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<Self>, Set<BbId>) {
[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<BbId> {
[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<ProgramPoint>>, store: &mut Map<VarId, Set<InstId>>) {
[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<ProgramPoint>>, store: &mut Map<VarId, Set<InstId>>) -> Set<BbId> {
[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<ProgramPoint>>, store: &mut Map<VarId, Set<InstId>>) {
[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<ProgramPoint>>, store: &mut Map<VarId, Set<InstId>>) -> Set<BbId> {
[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<Constraint>, store: &mut Map<VarId, Set<InstId>>) {
[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<Constraint>, store: &mut Map<VarId, Set<InstId>>) {
[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<Constraint>, store: &mut Map<VarId, Set<InstId>>) -> Set<BbId> {
[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]    --> 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<BbId> {
[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<Self>, Set<BbId>) {
[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<BbId> {
[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<ProgramPoint>>, store: &mut Map<VarId, Set<InstId>>) {
[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<ProgramPoint>>, store: &mut Map<VarId, Set<InstId>>) -> Set<BbId> {
[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<ProgramPoint>>, store: &mut Map<VarId, Set<InstId>>) {
[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<ProgramPoint>>, store: &mut Map<VarId, Set<InstId>>) -> Set<BbId> {
[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: `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: `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<Constraint>, store: &mut Map<VarId, Set<InstId>>) {
[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<Constraint>, store: &mut Map<VarId, Set<InstId>>) {
[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<Constraint>, store: &mut Map<VarId, Set<InstId>>) -> Set<BbId> {
[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: `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<BbId> {
[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<Program>, func: FuncId, pts_to: Map<String, Set<String>>) -> String {
[INFO] [stdout]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pts_to`
[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: `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<VarId> = 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<FuncId>, 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<ProgramPoint, Set<ProgramPoint>>) -> 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<BbId, Set<BbId>>) -> 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<FuncId>,
[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] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> bin/constraints_solve.rs:1:58
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap as Map, BTreeSet as Set, VecDeque};
[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: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/constraints_solve.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis::*`
[INFO] [stdout]  --> bin/slice.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use optimization::middle_end::{analysis::*, lir::*};
[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: `optimization::middle_end::slice::*`
[INFO] [stdout]  --> bin/slice.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use optimization::middle_end::slice::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap as Map`
[INFO] [stdout]  --> bin/slice.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{BTreeMap as Map, BTreeSet as Set};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/slice.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> bin/constraints_solve.rs:1:58
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap as Map, BTreeSet as Set, VecDeque};
[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: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/constraints_solve.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis::*`
[INFO] [stdout]  --> bin/taint.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 |     use optimization::middle_end::{analysis::*, lir::*};
[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: `optimization::middle_end::taint::*`
[INFO] [stdout]  --> bin/taint.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use optimization::middle_end::taint::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/taint.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use pretty_assertions::assert_eq;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis::*`
[INFO] [stdout]  --> bin/constraints_gen.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use optimization::middle_end::{analysis::*, lir::*};
[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 imports: `Env` and `analyze`
[INFO] [stdout]  --> bin/constraints_gen.rs:2:71
[INFO] [stdout]   |
[INFO] [stdout] 2 | use optimization::middle_end::analysis_constraints::constraints_gen::{Env, analyze};
[INFO] [stdout]   |                                                                       ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap as Map`
[INFO] [stdout]  --> bin/constraints_gen.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{BTreeMap as Map, BTreeSet as Set};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/constraints_gen.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Env`
[INFO] [stdout]  --> bin/rdef.rs:2:63
[INFO] [stdout]   |
[INFO] [stdout] 2 | use optimization::middle_end::{analysis_rdef::reaching_defs::{Env, analyze}};
[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: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/rdef.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Env`
[INFO] [stdout]  --> bin/rdef.rs:2:63
[INFO] [stdout]   |
[INFO] [stdout] 2 | use optimization::middle_end::{analysis_rdef::reaching_defs::{Env, analyze}};
[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 variable: `constraint_file_name`
[INFO] [stdout]   --> bin/constraints_solve.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let constraint_file_name = "./test-inputs-03/solve/no_proj.lir.constraints";
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constraint_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/rdef.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis::*`
[INFO] [stdout]  --> bin/control.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use optimization::middle_end::{analysis::*, lir::*, control_analysis::control::Env};
[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: `analyze2`
[INFO] [stdout]  --> bin/control.rs:4:69
[INFO] [stdout]   |
[INFO] [stdout] 4 | use optimization::middle_end::{control_analysis::control::{analyze, analyze2}};
[INFO] [stdout]   |                                                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/control.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis::*`
[INFO] [stdout]  --> bin/taint.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 |     use optimization::middle_end::{analysis::*, lir::*};
[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: `optimization::middle_end::taint::*`
[INFO] [stdout]  --> bin/taint.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use optimization::middle_end::taint::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/taint.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use pretty_assertions::assert_eq;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis::*`
[INFO] [stdout]  --> bin/constraints_gen.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use optimization::middle_end::{analysis::*, lir::*};
[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 imports: `Env` and `analyze`
[INFO] [stdout]  --> bin/constraints_gen.rs:2:71
[INFO] [stdout]   |
[INFO] [stdout] 2 | use optimization::middle_end::analysis_constraints::constraints_gen::{Env, analyze};
[INFO] [stdout]   |                                                                       ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap as Map`
[INFO] [stdout]  --> bin/constraints_gen.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{BTreeMap as Map, BTreeSet as Set};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/constraints_gen.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis::*`
[INFO] [stdout]  --> bin/control.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use optimization::middle_end::{analysis::*, lir::*, control_analysis::control::Env};
[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: `analyze2`
[INFO] [stdout]  --> bin/control.rs:4:69
[INFO] [stdout]   |
[INFO] [stdout] 4 | use optimization::middle_end::{control_analysis::control::{analyze, analyze2}};
[INFO] [stdout]   |                                                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/control.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis::*`
[INFO] [stdout]  --> bin/slice.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use optimization::middle_end::{analysis::*, lir::*};
[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 variable: `v2`
[INFO] [stdout]   --> bin/constraints_solve.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |             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 import: `optimization::middle_end::slice::*`
[INFO] [stdout]  --> bin/slice.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use optimization::middle_end::slice::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pts_to_path`
[INFO] [stdout]   --> bin/slice.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let pts_to_path = &args[4];
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pts_to_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constraint_file_name`
[INFO] [stdout]   --> bin/constraints_solve.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let constraint_file_name = "./test-inputs-03/solve/no_proj.lir.constraints";
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constraint_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_test` is never used
[INFO] [stdout]   --> bin/constraints_solve.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn run_test() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap as Map`
[INFO] [stdout]  --> bin/slice.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{BTreeMap as Map, BTreeSet as Set};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preds_to_string` is never used
[INFO] [stdout]   --> bin/constraints_solve.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn preds_to_string(pred_edges: &Map<ConstraintExp, Set<ConstraintExp>>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]  --> bin/slice.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pretty_assertions::assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lir_file_name`
[INFO] [stdout]   --> bin/constraints_gen.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let lir_file_name = "./test-inputs-03/gen/no_call3.lir";
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lir_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/constraints_gen.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let json_file_name = "./test-inputs-03/gen/no_call3.lir.json";
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slice_lir_ptrs` is never used
[INFO] [stdout]   --> bin/slice.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn slice_lir_ptrs(lir_file_name: &str, function: &str, basicblock: &str, term: Option<usize>, pts_to_path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `final_path` is never used
[INFO] [stdout]   --> bin/slice.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn final_path(package: &str, path: &str) -> String{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lir_path` is never used
[INFO] [stdout]   --> bin/slice.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn lir_path(path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nicely` is never used
[INFO] [stdout]   --> bin/slice.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn nicely(result: &Set<Constraint>) -> String {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis`
[INFO] [stdout]  --> bin/rdef.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use optimization::middle_end::{analysis::*, lir::*};
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]   --> bin/constraints_solve.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |             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: function `run_test` is never used
[INFO] [stdout]   --> bin/constraints_solve.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn run_test() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analysis`
[INFO] [stdout]  --> bin/rdef.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use optimization::middle_end::{analysis::*, lir::*};
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preds_to_string` is never used
[INFO] [stdout]   --> bin/constraints_solve.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn preds_to_string(pred_edges: &Map<ConstraintExp, Set<ConstraintExp>>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lir_file_name`
[INFO] [stdout]   --> bin/rdef.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let lir_file_name = "./test-inputs-02/complex/binary_trees.lir";
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lir_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/rdef.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let json_file_name = "./test-inputs-02/complex/binary_trees.lir.json";
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]   --> bin/rdef.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let function_name = "main";
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/control.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn dominance_lir(lir_file_name: &str, json_file_name: &str, function_name: &str) -> String {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/constraints_gen.rs:50:45
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn constraints_gen_lir(lir_file_name: &str, json_file_name: &str) -> String {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/rdef.rs:47:34
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn rdef_lir(lir_file_name: &str, json_file_name: &str, function_name: &str) -> String {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lir_file_name`
[INFO] [stdout]   --> bin/rdef.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let lir_file_name = "./test-inputs-02/complex/binary_trees.lir";
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lir_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/rdef.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let json_file_name = "./test-inputs-02/complex/binary_trees.lir.json";
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]   --> bin/rdef.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let function_name = "main";
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/taint.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let json_file_name = &args[2]; // Not used in your code but required for submission
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/taint.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let json_file_name = &args[2]; // Not used in your code but required for submission
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_sensitivity`
[INFO] [stdout]   --> bin/taint.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let context_sensitivity = &args[4];
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_sensitivity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_sensitivity`
[INFO] [stdout]   --> bin/taint.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let context_sensitivity = &args[4];
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_sensitivity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `soln_path`
[INFO] [stdout]   --> bin/taint.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let soln_path = "./test-inputs-taint/tainted01.lir.soln";
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_soln_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/rdef.rs:47:34
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn rdef_lir(lir_file_name: &str, json_file_name: &str, function_name: &str) -> String {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `soln_path`
[INFO] [stdout]   --> bin/taint.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let soln_path = "./test-inputs-taint/tainted01.lir.soln";
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_soln_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `final_path` is never used
[INFO] [stdout]   --> bin/constraints_gen.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn final_path(package: &str, path: &str) -> String{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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: function `lir_path` is never used
[INFO] [stdout]   --> bin/constraints_gen.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn lir_path(path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/control.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn dominance_lir(lir_file_name: &str, json_file_name: &str, function_name: &str) -> String {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lir_file_name`
[INFO] [stdout]   --> bin/constraints_gen.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let lir_file_name = "./test-inputs-03/gen/no_call3.lir";
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lir_file_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/constraints_gen.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let json_file_name = "./test-inputs-03/gen/no_call3.lir.json";
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]   --> bin/control.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for (bb, env) in result {
[INFO] [stdout]    |          ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nicely` is never used
[INFO] [stdout]   --> bin/control.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn nicely(result: &Map<BbId, Env>) -> String {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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: `bb`
[INFO] [stdout]   --> bin/control.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for (bb, env) in result {
[INFO] [stdout]    |          ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nicely` is never used
[INFO] [stdout]   --> bin/control.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn nicely(result: &Map<BbId, Env>) -> String {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_file_name`
[INFO] [stdout]   --> bin/constraints_gen.rs:50:45
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn constraints_gen_lir(lir_file_name: &str, json_file_name: &str) -> String {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nicely_v2` is never used
[INFO] [stdout]   --> bin/rdef.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn nicely_v2(result: &Map<ProgramPoint, Set<ProgramPoint>>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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: function `nicely_v2` is never used
[INFO] [stdout]   --> bin/rdef.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn nicely_v2(result: &Map<ProgramPoint, Set<ProgramPoint>>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `final_path` is never used
[INFO] [stdout]   --> bin/constraints_gen.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn final_path(package: &str, path: &str) -> String{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `final_path` is never used
[INFO] [stdout]   --> bin/taint.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn final_path(package: &str, path: &str) -> String{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lir_path` is never used
[INFO] [stdout]   --> bin/taint.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn lir_path(path: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lir_path` is never used
[INFO] [stdout]   --> bin/constraints_gen.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn lir_path(path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nicely` is never used
[INFO] [stdout]    --> bin/taint.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn nicely(result: &Set<Constraint>) -> String {
[INFO] [stdout]     |        ^^^^^^
[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: unused variable: `pts_to_path`
[INFO] [stdout]   --> bin/slice.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let pts_to_path = &args[4];
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pts_to_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `final_path` is never used
[INFO] [stdout]   --> bin/taint.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn final_path(package: &str, path: &str) -> String{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lir_path` is never used
[INFO] [stdout]   --> bin/taint.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn lir_path(path: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nicely` is never used
[INFO] [stdout]    --> bin/taint.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn nicely(result: &Set<Constraint>) -> String {
[INFO] [stdout]     |        ^^^^^^
[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: function `slice_lir_ptrs` is never used
[INFO] [stdout]   --> bin/slice.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn slice_lir_ptrs(lir_file_name: &str, function: &str, basicblock: &str, term: Option<usize>, pts_to_path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `final_path` is never used
[INFO] [stdout]   --> bin/slice.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn final_path(package: &str, path: &str) -> String{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lir_path` is never used
[INFO] [stdout]   --> bin/slice.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn lir_path(path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nicely` is never used
[INFO] [stdout]   --> bin/slice.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn nicely(result: &Set<Constraint>) -> String {
[INFO] [stdout]    |    ^^^^^^
[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<BbId> {
[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<Program>, func: FuncId, pts_to: Map<String, Set<String>>) -> 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<VarId> = 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] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `optimization` (lib test) due to 4 previous errors; 137 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "c961abefdbdf84b6b682c08e81a84154d1a5705c26cba458ab77e7da387942d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c961abefdbdf84b6b682c08e81a84154d1a5705c26cba458ab77e7da387942d3", kill_on_drop: false }`
[INFO] [stdout] c961abefdbdf84b6b682c08e81a84154d1a5705c26cba458ab77e7da387942d3
