[INFO] fetching crate tjs2dec 0.3.0...
[INFO] testing tjs2dec-0.3.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate tjs2dec 0.3.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate tjs2dec 0.3.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tjs2dec 0.3.0
[INFO] tweaked toml for crates.io crate tjs2dec 0.3.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tjs2dec 0.3.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tjs2dec 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d598b81d5909fbb6a0665d1c5b4b37547ab14002695637d67ac973f8925bf070
[INFO] running `Command { std: "docker" "start" "-a" "d598b81d5909fbb6a0665d1c5b4b37547ab14002695637d67ac973f8925bf070", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d598b81d5909fbb6a0665d1c5b4b37547ab14002695637d67ac973f8925bf070", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d598b81d5909fbb6a0665d1c5b4b37547ab14002695637d67ac973f8925bf070", kill_on_drop: false }`
[INFO] [stdout] d598b81d5909fbb6a0665d1c5b4b37547ab14002695637d67ac973f8925bf070
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ecd40870366683cc81b058977f5694604545bce6412584e05a4cf6e9736c056
[INFO] running `Command { std: "docker" "start" "-a" "0ecd40870366683cc81b058977f5694604545bce6412584e05a4cf6e9736c056", kill_on_drop: false }`
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling tjs2dec v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/decompile/srcgen_high.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, BTreeMap};
[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: `crate::Variant`
[INFO] [stdout]  --> src/decompile/srcgen_high.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::Variant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/model.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `msg` is never read
[INFO] [stdout]    --> src/disasm.rs:53:19
[INFO] [stdout]     |
[INFO] [stdout]  53 |     let mut msg = String::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 308 |     msg = format!("unknown instruction {}", op);
[INFO] [stdout]     |     --- `msg` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `size` is never read
[INFO] [stdout]    --> src/disasm.rs:55:27
[INFO] [stdout]     |
[INFO] [stdout]  55 |     let mut size: usize = 1;
[INFO] [stdout]     |                           ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 303 |         size = 1;
[INFO] [stdout]     |         -------- `size` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/disasm.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut size: usize;
[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: unused variable: `prefix`
[INFO] [stdout]    --> src/disasm.rs:388:10
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let (prefix, st, member_data_index_opt): (&str, usize, Option<i32>) = match op {
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `member_data_index_opt`
[INFO] [stdout]    --> src/disasm.rs:388:22
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let (prefix, st, member_data_index_opt): (&str, usize, Option<i32>) = match op {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_data_index_opt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `msg` is never read
[INFO] [stdout]    --> src/disasm.rs:396:19
[INFO] [stdout]     |
[INFO] [stdout] 396 |     let mut msg = String::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 400 |             msg = format!("call %{}, %{}(", code[i + 1], code[i + 2]);
[INFO] [stdout]     |             --- `msg` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cfg`
[INFO] [stdout]   --> src/decompile/srcgen_low.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn emit_function(out: &mut String, prog: &ExprProgram, cfg: &Cfg, obj: &Tjs2Object) -> Result<()> {
[INFO] [stdout]    |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_cfg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indent`
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:251:56
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn emit_object_body(obj: &Tjs2Object, file: &Tjs2File, indent: usize) -> Result<(String, String)> {
[INFO] [stdout]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prog`
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let prog = ExprProgram::from_ssa(file, getter_obj, &ssa).ok()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_prog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pools`
[INFO] [stdout]    --> src/emit_exec_tjs.rs:314:32
[INFO] [stdout]     |
[INFO] [stdout] 314 | fn emit_case(obj: &Tjs2Object, pools: &ConstPools, pc: usize, insn_str: &str, size: usize) -> Result<String> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_pools`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> src/emit_exec_tjs.rs:1184:44
[INFO] [stdout]      |
[INFO] [stdout] 1184 | fn emit_call_like(code: &[i32], pc: usize, obj: &Tjs2Object, op: i32) -> Result<(String, usize)> {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `idom` is never read
[INFO] [stdout]    --> src/decompile/ssa.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct DomInfo {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] 165 |     idom: Vec<usize>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DomInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vm_binop` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn vm_binop(op: &str) -> Option<BinOp> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vm_unop` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn vm_unop(op: &str) -> Option<UnOp> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fmt_octet_literal` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn fmt_octet_literal(bytes: &[u8]) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_tjs_string_min` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn escape_tjs_string_min(s: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_class_method` is never used
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn split_class_method(name: &str) -> Option<(&str, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cfg`, `dom`, and `pdom` are never read
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 502 | struct Structurer<'a> {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 503 |     cfg: &'a Cfg,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     dom: Vec<HashSet<usize>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 512 |     pdom: Vec<HashSet<usize>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `obj_lhs` is never used
[INFO] [stdout]     --> src/decompile/srcgen_high.rs:1640:4
[INFO] [stdout]      |
[INFO] [stdout] 1640 | fn obj_lhs(index: usize, name: Option<&str>) -> String {
[INFO] [stdout]      |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_NORMAL` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const FAT_NORMAL: i32 = 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_EXPAND` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const FAT_EXPAND: i32 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_UNNAMED_EXPAND` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const FAT_UNNAMED_EXPAND: i32 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_call_like` is never used
[INFO] [stdout]     --> src/emit_exec_tjs.rs:1184:4
[INFO] [stdout]      |
[INFO] [stdout] 1184 | fn emit_call_like(code: &[i32], pc: usize, obj: &Tjs2Object, op: i32) -> Result<(String, usize)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.87s
[INFO] running `Command { std: "docker" "inspect" "0ecd40870366683cc81b058977f5694604545bce6412584e05a4cf6e9736c056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ecd40870366683cc81b058977f5694604545bce6412584e05a4cf6e9736c056", kill_on_drop: false }`
[INFO] [stdout] 0ecd40870366683cc81b058977f5694604545bce6412584e05a4cf6e9736c056
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b630ec962609a9a8a76c0d8c22485713283a0e95b8bdb2d2791bd53c72490f3a
[INFO] running `Command { std: "docker" "start" "-a" "b630ec962609a9a8a76c0d8c22485713283a0e95b8bdb2d2791bd53c72490f3a", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/decompile/srcgen_high.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, BTreeMap};
[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: `crate::Variant`
[INFO] [stdout]  --> src/decompile/srcgen_high.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::Variant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/model.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `msg` is never read
[INFO] [stdout]    --> src/disasm.rs:53:19
[INFO] [stdout]     |
[INFO] [stdout]  53 |     let mut msg = String::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 308 |     msg = format!("unknown instruction {}", op);
[INFO] [stdout]     |     --- `msg` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `size` is never read
[INFO] [stdout]    --> src/disasm.rs:55:27
[INFO] [stdout]     |
[INFO] [stdout]  55 |     let mut size: usize = 1;
[INFO] [stdout]     |                           ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 303 |         size = 1;
[INFO] [stdout]     |         -------- `size` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/disasm.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut size: usize;
[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: unused variable: `prefix`
[INFO] [stdout]    --> src/disasm.rs:388:10
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let (prefix, st, member_data_index_opt): (&str, usize, Option<i32>) = match op {
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `member_data_index_opt`
[INFO] [stdout]    --> src/disasm.rs:388:22
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let (prefix, st, member_data_index_opt): (&str, usize, Option<i32>) = match op {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_data_index_opt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `msg` is never read
[INFO] [stdout]    --> src/disasm.rs:396:19
[INFO] [stdout]     |
[INFO] [stdout] 396 |     let mut msg = String::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 400 |             msg = format!("call %{}, %{}(", code[i + 1], code[i + 2]);
[INFO] [stdout]     |             --- `msg` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cfg`
[INFO] [stdout]   --> src/decompile/srcgen_low.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn emit_function(out: &mut String, prog: &ExprProgram, cfg: &Cfg, obj: &Tjs2Object) -> Result<()> {
[INFO] [stdout]    |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_cfg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indent`
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:251:56
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn emit_object_body(obj: &Tjs2Object, file: &Tjs2File, indent: usize) -> Result<(String, String)> {
[INFO] [stdout]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prog`
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let prog = ExprProgram::from_ssa(file, getter_obj, &ssa).ok()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_prog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pools`
[INFO] [stdout]    --> src/emit_exec_tjs.rs:314:32
[INFO] [stdout]     |
[INFO] [stdout] 314 | fn emit_case(obj: &Tjs2Object, pools: &ConstPools, pc: usize, insn_str: &str, size: usize) -> Result<String> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_pools`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> src/emit_exec_tjs.rs:1184:44
[INFO] [stdout]      |
[INFO] [stdout] 1184 | fn emit_call_like(code: &[i32], pc: usize, obj: &Tjs2Object, op: i32) -> Result<(String, usize)> {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `idom` is never read
[INFO] [stdout]    --> src/decompile/ssa.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct DomInfo {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] 165 |     idom: Vec<usize>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DomInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vm_binop` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn vm_binop(op: &str) -> Option<BinOp> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vm_unop` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn vm_unop(op: &str) -> Option<UnOp> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fmt_octet_literal` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn fmt_octet_literal(bytes: &[u8]) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_tjs_string_min` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn escape_tjs_string_min(s: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_class_method` is never used
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn split_class_method(name: &str) -> Option<(&str, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cfg`, `dom`, and `pdom` are never read
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 502 | struct Structurer<'a> {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 503 |     cfg: &'a Cfg,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     dom: Vec<HashSet<usize>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 512 |     pdom: Vec<HashSet<usize>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `obj_lhs` is never used
[INFO] [stdout]     --> src/decompile/srcgen_high.rs:1640:4
[INFO] [stdout]      |
[INFO] [stdout] 1640 | fn obj_lhs(index: usize, name: Option<&str>) -> String {
[INFO] [stdout]      |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_NORMAL` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const FAT_NORMAL: i32 = 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_EXPAND` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const FAT_EXPAND: i32 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_UNNAMED_EXPAND` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const FAT_UNNAMED_EXPAND: i32 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_call_like` is never used
[INFO] [stdout]     --> src/emit_exec_tjs.rs:1184:4
[INFO] [stdout]      |
[INFO] [stdout] 1184 | fn emit_call_like(code: &[i32], pc: usize, obj: &Tjs2Object, op: i32) -> Result<(String, usize)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tjs2dec v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/decompile/srcgen_high.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, BTreeMap};
[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: `crate::Variant`
[INFO] [stdout]  --> src/decompile/srcgen_high.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::Variant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/model.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `msg` is never read
[INFO] [stdout]    --> src/disasm.rs:53:19
[INFO] [stdout]     |
[INFO] [stdout]  53 |     let mut msg = String::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 308 |     msg = format!("unknown instruction {}", op);
[INFO] [stdout]     |     --- `msg` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `size` is never read
[INFO] [stdout]    --> src/disasm.rs:55:27
[INFO] [stdout]     |
[INFO] [stdout]  55 |     let mut size: usize = 1;
[INFO] [stdout]     |                           ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 303 |         size = 1;
[INFO] [stdout]     |         -------- `size` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/disasm.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut size: usize;
[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: unused variable: `prefix`
[INFO] [stdout]    --> src/disasm.rs:388:10
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let (prefix, st, member_data_index_opt): (&str, usize, Option<i32>) = match op {
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `member_data_index_opt`
[INFO] [stdout]    --> src/disasm.rs:388:22
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let (prefix, st, member_data_index_opt): (&str, usize, Option<i32>) = match op {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_data_index_opt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `msg` is never read
[INFO] [stdout]    --> src/disasm.rs:396:19
[INFO] [stdout]     |
[INFO] [stdout] 396 |     let mut msg = String::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 400 |             msg = format!("call %{}, %{}(", code[i + 1], code[i + 2]);
[INFO] [stdout]     |             --- `msg` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cfg`
[INFO] [stdout]   --> src/decompile/srcgen_low.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn emit_function(out: &mut String, prog: &ExprProgram, cfg: &Cfg, obj: &Tjs2Object) -> Result<()> {
[INFO] [stdout]    |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_cfg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indent`
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:251:56
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn emit_object_body(obj: &Tjs2Object, file: &Tjs2File, indent: usize) -> Result<(String, String)> {
[INFO] [stdout]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prog`
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let prog = ExprProgram::from_ssa(file, getter_obj, &ssa).ok()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_prog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pools`
[INFO] [stdout]    --> src/emit_exec_tjs.rs:314:32
[INFO] [stdout]     |
[INFO] [stdout] 314 | fn emit_case(obj: &Tjs2Object, pools: &ConstPools, pc: usize, insn_str: &str, size: usize) -> Result<String> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_pools`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> src/emit_exec_tjs.rs:1184:44
[INFO] [stdout]      |
[INFO] [stdout] 1184 | fn emit_call_like(code: &[i32], pc: usize, obj: &Tjs2Object, op: i32) -> Result<(String, usize)> {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `idom` is never read
[INFO] [stdout]    --> src/decompile/ssa.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct DomInfo {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] 165 |     idom: Vec<usize>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DomInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vm_binop` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn vm_binop(op: &str) -> Option<BinOp> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vm_unop` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn vm_unop(op: &str) -> Option<UnOp> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fmt_octet_literal` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn fmt_octet_literal(bytes: &[u8]) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_tjs_string_min` is never used
[INFO] [stdout]   --> src/decompile/srcgen_high.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn escape_tjs_string_min(s: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_class_method` is never used
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn split_class_method(name: &str) -> Option<(&str, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cfg`, `dom`, and `pdom` are never read
[INFO] [stdout]    --> src/decompile/srcgen_high.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 502 | struct Structurer<'a> {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 503 |     cfg: &'a Cfg,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     dom: Vec<HashSet<usize>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 512 |     pdom: Vec<HashSet<usize>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `obj_lhs` is never used
[INFO] [stdout]     --> src/decompile/srcgen_high.rs:1640:4
[INFO] [stdout]      |
[INFO] [stdout] 1640 | fn obj_lhs(index: usize, name: Option<&str>) -> String {
[INFO] [stdout]      |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_NORMAL` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const FAT_NORMAL: i32 = 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_EXPAND` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const FAT_EXPAND: i32 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAT_UNNAMED_EXPAND` is never used
[INFO] [stdout]   --> src/emit_exec_tjs.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const FAT_UNNAMED_EXPAND: i32 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_call_like` is never used
[INFO] [stdout]     --> src/emit_exec_tjs.rs:1184:4
[INFO] [stdout]      |
[INFO] [stdout] 1184 | fn emit_call_like(code: &[i32], pc: usize, obj: &Tjs2Object, op: i32) -> Result<(String, usize)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.24s
[INFO] running `Command { std: "docker" "inspect" "b630ec962609a9a8a76c0d8c22485713283a0e95b8bdb2d2791bd53c72490f3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b630ec962609a9a8a76c0d8c22485713283a0e95b8bdb2d2791bd53c72490f3a", kill_on_drop: false }`
[INFO] [stdout] b630ec962609a9a8a76c0d8c22485713283a0e95b8bdb2d2791bd53c72490f3a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7a566c87ecd13bf13eb8c2680e1a5b78e5563c3cf144e18c8e8232a799dd54e2
[INFO] running `Command { std: "docker" "start" "-a" "7a566c87ecd13bf13eb8c2680e1a5b78e5563c3cf144e18c8e8232a799dd54e2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `BTreeMap`
[INFO] [stderr]  --> src/decompile/srcgen_high.rs:2:42
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::{HashMap, HashSet, BTreeMap};
[INFO] [stderr]   |                                          ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::Variant`
[INFO] [stderr]  --> src/decompile/srcgen_high.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::Variant;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]  --> src/model.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `msg` is never read
[INFO] [stderr]    --> src/disasm.rs:53:19
[INFO] [stderr]     |
[INFO] [stderr]  53 |     let mut msg = String::new();
[INFO] [stderr]     |                   ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 308 |     msg = format!("unknown instruction {}", op);
[INFO] [stderr]     |     --- `msg` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `size` is never read
[INFO] [stderr]    --> src/disasm.rs:55:27
[INFO] [stderr]     |
[INFO] [stderr]  55 |     let mut size: usize = 1;
[INFO] [stderr]     |                           ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 303 |         size = 1;
[INFO] [stderr]     |         -------- `size` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/disasm.rs:417:9
[INFO] [stderr]     |
[INFO] [stderr] 417 |     let mut size: usize;
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prefix`
[INFO] [stderr]    --> src/disasm.rs:388:10
[INFO] [stderr]     |
[INFO] [stderr] 388 |     let (prefix, st, member_data_index_opt): (&str, usize, Option<i32>) = match op {
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `member_data_index_opt`
[INFO] [stderr]    --> src/disasm.rs:388:22
[INFO] [stderr]     |
[INFO] [stderr] 388 |     let (prefix, st, member_data_index_opt): (&str, usize, Option<i32>) = match op {
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_data_index_opt`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `msg` is never read
[INFO] [stderr]    --> src/disasm.rs:396:19
[INFO] [stderr]     |
[INFO] [stderr] 396 |     let mut msg = String::new();
[INFO] [stderr]     |                   ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 400 |             msg = format!("call %{}, %{}(", code[i + 1], code[i + 2]);
[INFO] [stderr]     |             --- `msg` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cfg`
[INFO] [stderr]   --> src/decompile/srcgen_low.rs:77:56
[INFO] [stderr]    |
[INFO] [stderr] 77 | fn emit_function(out: &mut String, prog: &ExprProgram, cfg: &Cfg, obj: &Tjs2Object) -> Result<()> {
[INFO] [stderr]    |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_cfg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `indent`
[INFO] [stderr]    --> src/decompile/srcgen_high.rs:251:56
[INFO] [stderr]     |
[INFO] [stderr] 251 | fn emit_object_body(obj: &Tjs2Object, file: &Tjs2File, indent: usize) -> Result<(String, String)> {
[INFO] [stderr]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prog`
[INFO] [stderr]    --> src/decompile/srcgen_high.rs:296:9
[INFO] [stderr]     |
[INFO] [stderr] 296 |     let prog = ExprProgram::from_ssa(file, getter_obj, &ssa).ok()?;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_prog`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pools`
[INFO] [stderr]    --> src/emit_exec_tjs.rs:314:32
[INFO] [stderr]     |
[INFO] [stderr] 314 | fn emit_case(obj: &Tjs2Object, pools: &ConstPools, pc: usize, insn_str: &str, size: usize) -> Result<String> {
[INFO] [stderr]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_pools`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `obj`
[INFO] [stderr]     --> src/emit_exec_tjs.rs:1184:44
[INFO] [stderr]      |
[INFO] [stderr] 1184 | fn emit_call_like(code: &[i32], pc: usize, obj: &Tjs2Object, op: i32) -> Result<(String, usize)> {
[INFO] [stderr]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stderr] 
[INFO] [stderr] warning: field `idom` is never read
[INFO] [stderr]    --> src/decompile/ssa.rs:165:5
[INFO] [stderr]     |
[INFO] [stderr] 164 | struct DomInfo {
[INFO] [stderr]     |        ------- field in this struct
[INFO] [stderr] 165 |     idom: Vec<usize>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DomInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `vm_binop` is never used
[INFO] [stderr]   --> src/decompile/srcgen_high.rs:13:4
[INFO] [stderr]    |
[INFO] [stderr] 13 | fn vm_binop(op: &str) -> Option<BinOp> {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `vm_unop` is never used
[INFO] [stderr]   --> src/decompile/srcgen_high.rs:48:4
[INFO] [stderr]    |
[INFO] [stderr] 48 | fn vm_unop(op: &str) -> Option<UnOp> {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `fmt_octet_literal` is never used
[INFO] [stderr]   --> src/decompile/srcgen_high.rs:60:4
[INFO] [stderr]    |
[INFO] [stderr] 60 | fn fmt_octet_literal(bytes: &[u8]) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `escape_tjs_string_min` is never used
[INFO] [stderr]   --> src/decompile/srcgen_high.rs:74:4
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn escape_tjs_string_min(s: &str) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `split_class_method` is never used
[INFO] [stderr]    --> src/decompile/srcgen_high.rs:102:4
[INFO] [stderr]     |
[INFO] [stderr] 102 | fn split_class_method(name: &str) -> Option<(&str, &str)> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cfg`, `dom`, and `pdom` are never read
[INFO] [stderr]    --> src/decompile/srcgen_high.rs:503:5
[INFO] [stderr]     |
[INFO] [stderr] 502 | struct Structurer<'a> {
[INFO] [stderr]     |        ---------- fields in this struct
[INFO] [stderr] 503 |     cfg: &'a Cfg,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] ...
[INFO] [stderr] 511 |     dom: Vec<HashSet<usize>>,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 512 |     pdom: Vec<HashSet<usize>>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `obj_lhs` is never used
[INFO] [stderr]     --> src/decompile/srcgen_high.rs:1640:4
[INFO] [stderr]      |
[INFO] [stderr] 1640 | fn obj_lhs(index: usize, name: Option<&str>) -> String {
[INFO] [stderr]      |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FAT_NORMAL` is never used
[INFO] [stderr]   --> src/emit_exec_tjs.rs:16:7
[INFO] [stderr]    |
[INFO] [stderr] 16 | const FAT_NORMAL: i32 = 0;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FAT_EXPAND` is never used
[INFO] [stderr]   --> src/emit_exec_tjs.rs:17:7
[INFO] [stderr]    |
[INFO] [stderr] 17 | const FAT_EXPAND: i32 = 1;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FAT_UNNAMED_EXPAND` is never used
[INFO] [stderr]   --> src/emit_exec_tjs.rs:18:7
[INFO] [stderr]    |
[INFO] [stderr] 18 | const FAT_UNNAMED_EXPAND: i32 = 2;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `emit_call_like` is never used
[INFO] [stderr]     --> src/emit_exec_tjs.rs:1184:4
[INFO] [stderr]      |
[INFO] [stderr] 1184 | fn emit_call_like(code: &[i32], pc: usize, obj: &Tjs2Object, op: i32) -> Result<(String, usize)> {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tjs2dec` (lib) generated 26 warnings (run `cargo fix --lib -p tjs2dec` to apply 11 suggestions)
[INFO] [stderr] warning: `tjs2dec` (lib test) generated 26 warnings (26 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tjs2dec-9ab12de5f959ad71)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tjs2dec-21156b99f3390d0b)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]      Running tests/disasm_action.rs (/opt/rustwide/target/debug/deps/disasm_action-74fc81fab119f041)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test disasm_action_tjs_if_present ... ok
[INFO] [stdout] test decompile_action_tjs_if_present ... ok
[INFO] [stdout] test expr_action_tjs_if_present ... ok
[INFO] [stdout] test decompile_low_tjs_action_tjs_if_present ... ok
[INFO] [stdout] test ssa_action_tjs_if_present ... ok
[INFO] [stdout] test decompile_tjs_action_tjs_if_present ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tjs2dec
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7a566c87ecd13bf13eb8c2680e1a5b78e5563c3cf144e18c8e8232a799dd54e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a566c87ecd13bf13eb8c2680e1a5b78e5563c3cf144e18c8e8232a799dd54e2", kill_on_drop: false }`
[INFO] [stdout] 7a566c87ecd13bf13eb8c2680e1a5b78e5563c3cf144e18c8e8232a799dd54e2
