[INFO] cloning repository https://github.com/Squirre17/ExParser
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Squirre17/ExParser" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSquirre17%2FExParser", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSquirre17%2FExParser'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cd5a65630214dfe15236c1c11f02aa4c9978fa12
[INFO] checking Squirre17/ExParser against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSquirre17%2FExParser" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Squirre17/ExParser
[INFO] finished tweaking git repo https://github.com/Squirre17/ExParser
[INFO] tweaked toml for git repo https://github.com/Squirre17/ExParser written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Squirre17/ExParser on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Squirre17/ExParser 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.56
[INFO] [stderr]   Downloaded quote v1.0.26
[INFO] [stderr]   Downloaded clap_lex v0.4.1
[INFO] [stderr]   Downloaded unicode-ident v1.0.8
[INFO] [stderr]   Downloaded anstyle v1.0.0
[INFO] [stderr]   Downloaded colored v2.0.0
[INFO] [stderr]   Downloaded anstream v0.3.0
[INFO] [stderr]   Downloaded anstyle-query v1.0.0
[INFO] [stderr]   Downloaded errno-dragonfly v0.1.2
[INFO] [stderr]   Downloaded errno v0.3.1
[INFO] [stderr]   Downloaded anstyle-wincon v1.0.0
[INFO] [stderr]   Downloaded anstyle-parse v0.2.0
[INFO] [stderr]   Downloaded io-lifetimes v1.0.10
[INFO] [stderr]   Downloaded clap v4.2.2
[INFO] [stderr]   Downloaded is-terminal v0.4.7
[INFO] [stderr]   Downloaded clap_builder v4.2.2
[INFO] [stderr]   Downloaded hermit-abi v0.3.1
[INFO] [stderr]   Downloaded rustix v0.37.11
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c4d8f719554851732aa2a0ebd56aa7d5e7ce00f738638512623587a12de8b6ed
[INFO] running `Command { std: "docker" "start" "-a" "c4d8f719554851732aa2a0ebd56aa7d5e7ce00f738638512623587a12de8b6ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c4d8f719554851732aa2a0ebd56aa7d5e7ce00f738638512623587a12de8b6ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4d8f719554851732aa2a0ebd56aa7d5e7ce00f738638512623587a12de8b6ed", kill_on_drop: false }`
[INFO] [stdout] c4d8f719554851732aa2a0ebd56aa7d5e7ce00f738638512623587a12de8b6ed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f134cd4c0de3b18de5213c41222375344f21c1d2bc3a046404b302afd5c290cc
[INFO] running `Command { std: "docker" "start" "-a" "f134cd4c0de3b18de5213c41222375344f21c1d2bc3a046404b302afd5c290cc", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling rustix v0.37.11
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]     Checking linux-raw-sys v0.3.1
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking anstyle v1.0.0
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking anstyle-query v1.0.0
[INFO] [stderr]     Checking clap_lex v0.4.1
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking anstyle-parse v0.2.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking colored v2.0.0
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]     Checking anstream v0.3.0
[INFO] [stderr]     Checking clap_builder v4.2.2
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking clap v4.2.2
[INFO] [stderr]     Checking ExParser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/parser/elf/elf_struct.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[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::parser::Sections`
[INFO] [stdout]  --> src/parser/elf/relocations.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::Sections;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::Section`
[INFO] [stdout]  --> src/parser/elf/relocations.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::Section;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::elf::segments::Segment`
[INFO] [stdout]   --> src/parser.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::parser::elf::segments::Segment;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::elf::dyntable`
[INFO] [stdout]   --> src/parser.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use self::elf::dyntable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::elf::symtable`
[INFO] [stdout]   --> src/parser.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use self::elf::symtable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/binbuf.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `arg`, `command`, and `value_parser`
[INFO] [stdout]  --> src/main.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use clap::{arg, command, value_parser, ArgAction, Command, Arg};
[INFO] [stdout]   |            ^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/parser/elf/elf_struct.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[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::parser::Sections`
[INFO] [stdout]  --> src/parser/elf/relocations.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::Sections;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::Section`
[INFO] [stdout]  --> src/parser/elf/relocations.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::Section;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::elf::segments::Segment`
[INFO] [stdout]   --> src/parser.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::parser::elf::segments::Segment;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::elf::dyntable`
[INFO] [stdout]   --> src/parser.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use self::elf::dyntable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::elf::symtable`
[INFO] [stdout]   --> src/parser.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use self::elf::symtable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/binbuf.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `arg`, `command`, and `value_parser`
[INFO] [stdout]  --> src/main.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use clap::{arg, command, value_parser, ArgAction, Command, Arg};
[INFO] [stdout]   |            ^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/parser/elf/segments.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |             _ => panic!("unknown type"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/parser/elf/segments.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             SegmentType::PT_NULL          => "NULL",
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] 59 |             SegmentType::PT_LOAD          => "LOAD",
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] 60 |             SegmentType::PT_DYNAMIC       => "DYNAMIC",
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] 61 |             SegmentType::PT_INTERP        => "INTEPR",
[INFO] [stdout]    |             ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 72 |             _ => panic!("unknown type"),
[INFO] [stdout]    |             ^ ...and 10 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: value assigned to `prev` is never read
[INFO] [stdout]   --> src/parser/elf/sections.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut prev = 0;
[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: unused variable: `path`
[INFO] [stdout]    --> src/parser.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn writeback(&self, path : &String) {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_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: `section`
[INFO] [stdout]    --> src/parser.rs:263:39
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub fn add_new_section(&mut self, section : Section) -> &Self {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_section`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `binbuf`, `dynsymtabs`, `symtables`, and `relocs` are never read
[INFO] [stdout]   --> src/parser.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Parser {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 26 |     binbuf     : BinBuf,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     dynsymtabs : DynSymTables,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     symtables  : Option<SymTables>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 32 |     relocs     : Option<Relocations>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name`, `find_section`, `show_magic`, `writeback`, and `add_new_section` are never used
[INFO] [stdout]    --> src/parser.rs:88:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  88 |     fn get_name(&self, shdr : &Elf64Shdr) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     fn find_section(&self, sname : &str ) -> Option<&Section>{
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn show_magic(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn writeback(&self, path : &String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn add_new_section(&mut self, section : Section) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EIdent` is never constructed
[INFO] [stdout]    --> src/parser/elf/elf_struct.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct EIdent {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHT_SYMTAB` is never used
[INFO] [stdout]    --> src/parser/elf/elf_struct.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 | const SHT_SYMTAB : Elf64Word = 3;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHT_DYNSYM` is never used
[INFO] [stdout]    --> src/parser/elf/elf_struct.rs:183:7
[INFO] [stdout]     |
[INFO] [stdout] 183 | const SHT_DYNSYM : Elf64Word = 11;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_symtab_in_shdrs` is never used
[INFO] [stdout]    --> src/parser/elf/elf_struct.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn find_symtab_in_shdrs(shdrs : &Vec<Elf64Shdr>) -> Elf64Shdr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shstrndx`, `secnames`, and `pos` are never read
[INFO] [stdout]   --> src/parser/elf/sections.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Sections {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     shstrndx : usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]  9 |     secnames : Vec<String>, /* store all section names */
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     offset_to_secname : HashMap<usize, String>,
[INFO] [stdout] 11 |     pos : usize
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sym` and `str` are never read
[INFO] [stdout]  --> src/parser/elf/dyntable.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DynSymTab {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 6 |     // wrapper of dynsym and dynstr
[INFO] [stdout] 7 |     pub sym : Elf64Sym,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 8 |     pub str : String,
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DynSymTab` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/parser/elf/dyntable.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl DynSymTab {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new(sym : Elf64Sym, str : String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tables` is never read
[INFO] [stdout]   --> src/parser/elf/dyntable.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DynSymTables {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 18 |     pub tables : Vec<DynSymTab>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sym` and `str` are never read
[INFO] [stdout]  --> src/parser/elf/symtable.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Symbol {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 6 |     // wrapper of dynsym and dynstr
[INFO] [stdout] 7 |     pub sym : Elf64Sym,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 8 |     pub str : String,
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `syms` is never read
[INFO] [stdout]   --> src/parser/elf/symtable.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SymTables {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 18 |     pub syms : Vec<Symbol>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `relocs` is never read
[INFO] [stdout]  --> src/parser/elf/relocations.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Relocations {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |     relocs : Vec<Relocation>,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Relocations` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `addr` and `offset` are never read
[INFO] [stdout]   --> src/parser/elf/relocations.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Relocation {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 19 |     addr : u64,     // The content of GOT //don't considering 32-bit
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 20 |     offset : usize, // offset of file
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relocation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `filename` are never read
[INFO] [stdout]  --> src/binbuf.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BinBuf {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 6 |     pub buf  : Vec<u8>,
[INFO] [stdout] 7 |     pub size : u32,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     filename : String,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/parser/elf/segments.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |             _ => panic!("unknown type"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/parser/elf/segments.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             SegmentType::PT_NULL          => "NULL",
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] 59 |             SegmentType::PT_LOAD          => "LOAD",
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] 60 |             SegmentType::PT_DYNAMIC       => "DYNAMIC",
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] 61 |             SegmentType::PT_INTERP        => "INTEPR",
[INFO] [stdout]    |             ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 72 |             _ => panic!("unknown type"),
[INFO] [stdout]    |             ^ ...and 10 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: value assigned to `prev` is never read
[INFO] [stdout]   --> src/parser/elf/sections.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut prev = 0;
[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: unused variable: `path`
[INFO] [stdout]    --> src/parser.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn writeback(&self, path : &String) {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_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: `section`
[INFO] [stdout]    --> src/parser.rs:263:39
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub fn add_new_section(&mut self, section : Section) -> &Self {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_section`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]    --> src/parser.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let parser = Parser::new("test/test");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dynsymtabs`, `symtables`, and `relocs` are never read
[INFO] [stdout]   --> src/parser.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Parser {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     dynsymtabs : DynSymTables,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     symtables  : Option<SymTables>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 32 |     relocs     : Option<Relocations>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `show_magic`, `writeback`, and `add_new_section` are never used
[INFO] [stdout]    --> src/parser.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn show_magic(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn writeback(&self, path : &String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn add_new_section(&mut self, section : Section) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EIdent` is never constructed
[INFO] [stdout]    --> src/parser/elf/elf_struct.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct EIdent {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHT_SYMTAB` is never used
[INFO] [stdout]    --> src/parser/elf/elf_struct.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 | const SHT_SYMTAB : Elf64Word = 3;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHT_DYNSYM` is never used
[INFO] [stdout]    --> src/parser/elf/elf_struct.rs:183:7
[INFO] [stdout]     |
[INFO] [stdout] 183 | const SHT_DYNSYM : Elf64Word = 11;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_symtab_in_shdrs` is never used
[INFO] [stdout]    --> src/parser/elf/elf_struct.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn find_symtab_in_shdrs(shdrs : &Vec<Elf64Shdr>) -> Elf64Shdr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shstrndx`, `secnames`, and `pos` are never read
[INFO] [stdout]   --> src/parser/elf/sections.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Sections {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     shstrndx : usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]  9 |     secnames : Vec<String>, /* store all section names */
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     offset_to_secname : HashMap<usize, String>,
[INFO] [stdout] 11 |     pos : usize
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sym` and `str` are never read
[INFO] [stdout]  --> src/parser/elf/dyntable.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DynSymTab {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 6 |     // wrapper of dynsym and dynstr
[INFO] [stdout] 7 |     pub sym : Elf64Sym,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 8 |     pub str : String,
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DynSymTab` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/parser/elf/dyntable.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl DynSymTab {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new(sym : Elf64Sym, str : String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tables` is never read
[INFO] [stdout]   --> src/parser/elf/dyntable.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DynSymTables {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 18 |     pub tables : Vec<DynSymTab>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sym` and `str` are never read
[INFO] [stdout]  --> src/parser/elf/symtable.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Symbol {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 6 |     // wrapper of dynsym and dynstr
[INFO] [stdout] 7 |     pub sym : Elf64Sym,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 8 |     pub str : String,
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `syms` is never read
[INFO] [stdout]   --> src/parser/elf/symtable.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SymTables {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 18 |     pub syms : Vec<Symbol>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `relocs` is never read
[INFO] [stdout]  --> src/parser/elf/relocations.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Relocations {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |     relocs : Vec<Relocation>,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Relocations` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `addr` and `offset` are never read
[INFO] [stdout]   --> src/parser/elf/relocations.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Relocation {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 19 |     addr : u64,     // The content of GOT //don't considering 32-bit
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 20 |     offset : usize, // offset of file
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relocation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `filename` are never read
[INFO] [stdout]  --> src/binbuf.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BinBuf {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 6 |     pub buf  : Vec<u8>,
[INFO] [stdout] 7 |     pub size : u32,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     filename : String,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.19s
[INFO] running `Command { std: "docker" "inspect" "f134cd4c0de3b18de5213c41222375344f21c1d2bc3a046404b302afd5c290cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f134cd4c0de3b18de5213c41222375344f21c1d2bc3a046404b302afd5c290cc", kill_on_drop: false }`
[INFO] [stdout] f134cd4c0de3b18de5213c41222375344f21c1d2bc3a046404b302afd5c290cc
