[INFO] cloning repository https://github.com/JittyBit/rust-java-decompiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JittyBit/rust-java-decompiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJittyBit%2Frust-java-decompiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJittyBit%2Frust-java-decompiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f767df1a3f416b682e086d94eadff81059963795
[INFO] checking JittyBit/rust-java-decompiler against 8773d2c75a8e90130dcce745a7ec4e66bb9963db+rustflags=-Aunfulfilled-lint-expectations for pr-163637
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJittyBit%2Frust-java-decompiler" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JittyBit/rust-java-decompiler
[INFO] finished tweaking git repo https://github.com/JittyBit/rust-java-decompiler
[INFO] tweaked toml for git repo https://github.com/JittyBit/rust-java-decompiler written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JittyBit/rust-java-decompiler on toolchain 8773d2c75a8e90130dcce745a7ec4e66bb9963db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JittyBit/rust-java-decompiler 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" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9
[INFO] running `Command { std: "docker" "start" "673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Aunfulfilled-lint-expectations" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking java_diss v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `CONSTANT_METHOD_HANDLE` is never used
[INFO] [stdout]   --> src/main.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 |     const CONSTANT_METHOD_HANDLE: u8        = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_METHOD_TYPE` is never used
[INFO] [stdout]   --> src/main.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 |     const CONSTANT_METHOD_TYPE: u8          = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_INVOKE_DYNAMIC` is never used
[INFO] [stdout]   --> src/main.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     const CONSTANT_INVOKE_DYNAMIC: u8       = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_EXCEPTIONS` is never used
[INFO] [stdout]   --> src/main.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     const ATTR_EXCEPTIONS: &str        = "Exceptions";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_INNER_CLASSES` is never used
[INFO] [stdout]   --> src/main.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     const ATTR_INNER_CLASSES: &str     = "InnerClasses";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_SYNTHETIC` is never used
[INFO] [stdout]   --> src/main.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 |     const ATTR_SYNTHETIC: &str         = "Synthetic";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Num64` is never used
[INFO] [stdout]   --> src/main.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 |     trait Num64: Copy {}
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class_index` and `name_and_type_index` are never read
[INFO] [stdout]   --> src/main.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Member { class_index: u16, name_and_type_index: u16 }, // Fieldref_info, Methodref_info, InterfaceMethodref_info
[INFO] [stdout]    |         ------   ^^^^^^^^^^^       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `string_index` is never read
[INFO] [stdout]   --> src/main.rs:97:18
[INFO] [stdout]    |
[INFO] [stdout] 97 |         String { string_index: u16 },
[INFO] [stdout]    |         ------   ^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes` is never read
[INFO] [stdout]   --> src/main.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |         Num32 { bytes: u32 },                                  // Integer_info, Float_info
[INFO] [stdout]    |         -----   ^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `high_bytes` and `low_bytes` are never read
[INFO] [stdout]   --> src/main.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Num64 { high_bytes: u32, low_bytes: u32 },             // Long_info, Double_info
[INFO] [stdout]    |         -----   ^^^^^^^^^^       ^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name_index` and `desc_index` are never read
[INFO] [stdout]    --> src/main.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |         NameAndType { name_index: u16, desc_index: u16 },
[INFO] [stdout]     |         -----------   ^^^^^^^^^^       ^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `length` is never read
[INFO] [stdout]    --> src/main.rs:101:16
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Utf8 { length: u16, string: String },
[INFO] [stdout]     |         ----   ^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MethodHandle`, `MethodType`, `InvokeDynamic`, and `NULL` are never constructed
[INFO] [stdout]    --> src/main.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout]  94 |     enum ConstInfo {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 102 |         MethodHandle { ref_kind: u8, ref_index: u16 },
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 103 |         MethodType { desc_index: u16 },
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 104 |         InvokeDynamic { bootstrap_method_attr_index: u16, name_and_type_index: u16 },
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 105 |         NULL
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tag` is never read
[INFO] [stdout]    --> src/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub struct CpInfo {
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] 110 |         tag: u8,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CpInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_tag` and `to_string` are never used
[INFO] [stdout]    --> src/main.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 114 |     impl CpInfo {
[INFO] [stdout]     |     ----------- methods in this implementation
[INFO] [stdout] 115 |         pub fn get_tag(&self) -> u8 {
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |         fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     impl CpInfo {
[INFO] [stdout]     |     ----------- associated function in this implementation
[INFO] [stdout] 138 |         fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `constvalue_index` is never read
[INFO] [stdout]    --> src/main.rs:174:25
[INFO] [stdout]     |
[INFO] [stdout] 174 |         ConstantValue { constvalue_index: u16 },
[INFO] [stdout]     |         -------------   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         Code {
[INFO] [stdout]     |         ---- fields in this variant
[INFO] [stdout] 176 |             max_stack: u16,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 177 |             max_locals: u16,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 178 |             code_len: u32,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 179 |             code: Vec<u8>,
[INFO] [stdout] 180 |             exception_table_len: u16,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 181 |             exception_table: Vec<u64>, // start_pc: u2, end_pc: u2, handler_pc: u2, catch_type: u2
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |             attr_count: u16,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 183 |             attributes: Vec<Attribute> // Changed from Attribute -> u16
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line_number_len` and `line_number_tbl` are never read
[INFO] [stdout]    --> src/main.rs:185:27
[INFO] [stdout]     |
[INFO] [stdout] 185 |         LineNumberTable { line_number_len: u16, line_number_tbl: Vec<u32> },
[INFO] [stdout]     |         ---------------   ^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sourcefile_index` is never read
[INFO] [stdout]    --> src/main.rs:190:22
[INFO] [stdout]     |
[INFO] [stdout] 190 |         SourceFile { sourcefile_index: u16 },
[INFO] [stdout]     |         ----------   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Exceptions`, `InnerClasses`, `Synthetic`, and `NULL` are never constructed
[INFO] [stdout]    --> src/main.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     enum AttrInfo { // allowed to ignore some Attributes i think?
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 186 |         Exceptions { exception_count: u16, exceptions: Vec<u16> },
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 187 |         // inner_class_info_index: u2, outer_class_info_index: u2, inner_name_index: u2, inner_class_access_flags: u2
[INFO] [stdout] 188 |         InnerClasses { class_count: u16, classes: Vec<u64> },
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 189 |         Synthetic {},
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |         NULL
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name_index` and `attr_len` are never read
[INFO] [stdout]    --> src/main.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub struct Attribute {
[INFO] [stdout]     |                --------- fields in this struct
[INFO] [stdout] 209 |         name_index: u16,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 210 |         attr_len: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Attribute` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `attr_count` is never read
[INFO] [stdout]    --> src/main.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub struct Member { // field_info and method_info merged
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 219 |         attr_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Member` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub struct ClassFile {
[INFO] [stdout]     |                --------- fields in this struct
[INFO] [stdout] 239 |         magic: u32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 240 |         minor_version: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 241 |         major_version: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 242 |         const_pool_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |         interfaces_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 248 |         interfaces: Vec<u16>, // list of indexes into const_pool
[INFO] [stdout] 249 |         fields_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 250 |         fields: Vec<Member>,
[INFO] [stdout] 251 |         methods_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 252 |         methods: Vec<Member>,
[INFO] [stdout] 253 |         attr_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 254 |         attributes: Vec<Attribute>
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_member_names`, `get_member_desc`, `get_constants`, `get_field_names`, and `get_method_names` are never used
[INFO] [stdout]    --> src/main.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 263 |     impl ClassFile {
[INFO] [stdout]     |     -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 267 |         fn get_member_names(&self, members: &Vec<Member>) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |         fn get_member_desc(&self, member: &Member) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |         pub fn get_constants(&self) -> Vec<CpInfo> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |         pub fn get_field_names(&self) -> Vec<String> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |         pub fn get_method_names(&self) -> Vec<String> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_long` is never used
[INFO] [stdout]    --> src/main.rs:457:8
[INFO] [stdout]     |
[INFO] [stdout] 457 |     fn parse_long(high_bytes: u32, low_bytes: u32) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_double` is never used
[INFO] [stdout]    --> src/main.rs:461:8
[INFO] [stdout]     |
[INFO] [stdout] 461 |     fn parse_double(high_bytes: u32, low_bytes: u32) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_METHOD_HANDLE` is never used
[INFO] [stdout]   --> src/main.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 |     const CONSTANT_METHOD_HANDLE: u8        = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_METHOD_TYPE` is never used
[INFO] [stdout]   --> src/main.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 |     const CONSTANT_METHOD_TYPE: u8          = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_INVOKE_DYNAMIC` is never used
[INFO] [stdout]   --> src/main.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     const CONSTANT_INVOKE_DYNAMIC: u8       = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_EXCEPTIONS` is never used
[INFO] [stdout]   --> src/main.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     const ATTR_EXCEPTIONS: &str        = "Exceptions";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_INNER_CLASSES` is never used
[INFO] [stdout]   --> src/main.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     const ATTR_INNER_CLASSES: &str     = "InnerClasses";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_SYNTHETIC` is never used
[INFO] [stdout]   --> src/main.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 |     const ATTR_SYNTHETIC: &str         = "Synthetic";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Num64` is never used
[INFO] [stdout]   --> src/main.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 |     trait Num64: Copy {}
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class_index` and `name_and_type_index` are never read
[INFO] [stdout]   --> src/main.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Member { class_index: u16, name_and_type_index: u16 }, // Fieldref_info, Methodref_info, InterfaceMethodref_info
[INFO] [stdout]    |         ------   ^^^^^^^^^^^       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `string_index` is never read
[INFO] [stdout]   --> src/main.rs:97:18
[INFO] [stdout]    |
[INFO] [stdout] 97 |         String { string_index: u16 },
[INFO] [stdout]    |         ------   ^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes` is never read
[INFO] [stdout]   --> src/main.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |         Num32 { bytes: u32 },                                  // Integer_info, Float_info
[INFO] [stdout]    |         -----   ^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `high_bytes` and `low_bytes` are never read
[INFO] [stdout]   --> src/main.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Num64 { high_bytes: u32, low_bytes: u32 },             // Long_info, Double_info
[INFO] [stdout]    |         -----   ^^^^^^^^^^       ^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name_index` and `desc_index` are never read
[INFO] [stdout]    --> src/main.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |         NameAndType { name_index: u16, desc_index: u16 },
[INFO] [stdout]     |         -----------   ^^^^^^^^^^       ^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `length` is never read
[INFO] [stdout]    --> src/main.rs:101:16
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Utf8 { length: u16, string: String },
[INFO] [stdout]     |         ----   ^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MethodHandle`, `MethodType`, `InvokeDynamic`, and `NULL` are never constructed
[INFO] [stdout]    --> src/main.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout]  94 |     enum ConstInfo {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 102 |         MethodHandle { ref_kind: u8, ref_index: u16 },
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 103 |         MethodType { desc_index: u16 },
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 104 |         InvokeDynamic { bootstrap_method_attr_index: u16, name_and_type_index: u16 },
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 105 |         NULL
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConstInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tag` is never read
[INFO] [stdout]    --> src/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub struct CpInfo {
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] 110 |         tag: u8,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CpInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_tag` and `to_string` are never used
[INFO] [stdout]    --> src/main.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 114 |     impl CpInfo {
[INFO] [stdout]     |     ----------- methods in this implementation
[INFO] [stdout] 115 |         pub fn get_tag(&self) -> u8 {
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |         fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     impl CpInfo {
[INFO] [stdout]     |     ----------- associated function in this implementation
[INFO] [stdout] 138 |         fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `constvalue_index` is never read
[INFO] [stdout]    --> src/main.rs:174:25
[INFO] [stdout]     |
[INFO] [stdout] 174 |         ConstantValue { constvalue_index: u16 },
[INFO] [stdout]     |         -------------   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         Code {
[INFO] [stdout]     |         ---- fields in this variant
[INFO] [stdout] 176 |             max_stack: u16,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 177 |             max_locals: u16,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 178 |             code_len: u32,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 179 |             code: Vec<u8>,
[INFO] [stdout] 180 |             exception_table_len: u16,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 181 |             exception_table: Vec<u64>, // start_pc: u2, end_pc: u2, handler_pc: u2, catch_type: u2
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |             attr_count: u16,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 183 |             attributes: Vec<Attribute> // Changed from Attribute -> u16
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line_number_len` and `line_number_tbl` are never read
[INFO] [stdout]    --> src/main.rs:185:27
[INFO] [stdout]     |
[INFO] [stdout] 185 |         LineNumberTable { line_number_len: u16, line_number_tbl: Vec<u32> },
[INFO] [stdout]     |         ---------------   ^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sourcefile_index` is never read
[INFO] [stdout]    --> src/main.rs:190:22
[INFO] [stdout]     |
[INFO] [stdout] 190 |         SourceFile { sourcefile_index: u16 },
[INFO] [stdout]     |         ----------   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Exceptions`, `InnerClasses`, `Synthetic`, and `NULL` are never constructed
[INFO] [stdout]    --> src/main.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     enum AttrInfo { // allowed to ignore some Attributes i think?
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 186 |         Exceptions { exception_count: u16, exceptions: Vec<u16> },
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 187 |         // inner_class_info_index: u2, outer_class_info_index: u2, inner_name_index: u2, inner_class_access_flags: u2
[INFO] [stdout] 188 |         InnerClasses { class_count: u16, classes: Vec<u64> },
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 189 |         Synthetic {},
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |         NULL
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttrInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name_index` and `attr_len` are never read
[INFO] [stdout]    --> src/main.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub struct Attribute {
[INFO] [stdout]     |                --------- fields in this struct
[INFO] [stdout] 209 |         name_index: u16,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 210 |         attr_len: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Attribute` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `attr_count` is never read
[INFO] [stdout]    --> src/main.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub struct Member { // field_info and method_info merged
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 219 |         attr_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Member` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub struct ClassFile {
[INFO] [stdout]     |                --------- fields in this struct
[INFO] [stdout] 239 |         magic: u32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 240 |         minor_version: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 241 |         major_version: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 242 |         const_pool_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |         interfaces_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 248 |         interfaces: Vec<u16>, // list of indexes into const_pool
[INFO] [stdout] 249 |         fields_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 250 |         fields: Vec<Member>,
[INFO] [stdout] 251 |         methods_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 252 |         methods: Vec<Member>,
[INFO] [stdout] 253 |         attr_count: u16,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 254 |         attributes: Vec<Attribute>
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_member_names`, `get_member_desc`, `get_constants`, `get_field_names`, and `get_method_names` are never used
[INFO] [stdout]    --> src/main.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 263 |     impl ClassFile {
[INFO] [stdout]     |     -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 267 |         fn get_member_names(&self, members: &Vec<Member>) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |         fn get_member_desc(&self, member: &Member) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |         pub fn get_constants(&self) -> Vec<CpInfo> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |         pub fn get_field_names(&self) -> Vec<String> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |         pub fn get_method_names(&self) -> Vec<String> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_long` is never used
[INFO] [stdout]    --> src/main.rs:457:8
[INFO] [stdout]     |
[INFO] [stdout] 457 |     fn parse_long(high_bytes: u32, low_bytes: u32) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_double` is never used
[INFO] [stdout]    --> src/main.rs:461:8
[INFO] [stdout]     |
[INFO] [stdout] 461 |     fn parse_double(high_bytes: u32, low_bytes: u32) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] running `Command { std: "docker" "inspect" "673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9", kill_on_drop: false }`
[INFO] [stdout] 673a0edc4ddcab507433a719df1002f1352939c75d8dccd3eefc8b8a1fee53b9
