[INFO] cloning repository https://github.com/9540611855/elf_parser
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/9540611855/elf_parser" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F9540611855%2Felf_parser", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F9540611855%2Felf_parser'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eacd185cf1ba3930da4005d619bfdb3a437043e2
[INFO] checking 9540611855/elf_parser against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F9540611855%2Felf_parser" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/9540611855/elf_parser
[INFO] finished tweaking git repo https://github.com/9540611855/elf_parser
[INFO] tweaked toml for git repo https://github.com/9540611855/elf_parser written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/9540611855/elf_parser on toolchain 95813608313bff49cfc1afc393a946a3c085b772
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/9540611855/elf_parser 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" "+95813608313bff49cfc1afc393a946a3c085b772" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e287e0e9db1a0044408b1def487aa6c41d16f42ad5a6f8352183cf4c857ebe38
[INFO] running `Command { std: "docker" "start" "-a" "e287e0e9db1a0044408b1def487aa6c41d16f42ad5a6f8352183cf4c857ebe38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e287e0e9db1a0044408b1def487aa6c41d16f42ad5a6f8352183cf4c857ebe38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e287e0e9db1a0044408b1def487aa6c41d16f42ad5a6f8352183cf4c857ebe38", kill_on_drop: false }`
[INFO] [stdout] e287e0e9db1a0044408b1def487aa6c41d16f42ad5a6f8352183cf4c857ebe38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5ac49f5d0efba1efe35b21bf0fcb5ef70de399d1d9d8b07868e86b78bfd40f8a
[INFO] running `Command { std: "docker" "start" "-a" "5ac49f5d0efba1efe35b21bf0fcb5ef70de399d1d9d8b07868e86b78bfd40f8a", kill_on_drop: false }`
[INFO] [stderr]     Checking elf_parser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `file`
[INFO] [stdout]  --> src/parser/elf_header.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::{abi, file};
[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: `EndianParse`
[INFO] [stdout]  --> src/parser/elf_header.rs:2:40
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::endian::{AnyEndian, EndianParse};
[INFO] [stdout]   |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ParseError`
[INFO] [stdout]    --> src/parser/elf_header.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     use std::string::ParseError;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `symbol`
[INFO] [stdout]    --> src/parser/elf_header.rs:105:44
[INFO] [stdout]     |
[INFO] [stdout] 105 |     use crate::parser::{abi, endian, file, symbol};
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/parser/elf_header.rs:205:49
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn read_header(file_path: &str)->Option<(FileHeader)>{
[INFO] [stdout]     |                                                 ^          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -     pub fn read_header(file_path: &str)->Option<(FileHeader)>{
[INFO] [stdout] 205 +     pub fn read_header(file_path: &str)->Option<FileHeader >{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/parser/elf_header.rs:267:40
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stdout]     |                                        ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 267 -                     (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stdout] 267 +                     (file_path,e_shoff,e_shoff+(e_shsz*e_shnum) as u64 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ParseError`
[INFO] [stdout]  --> src/parser/endian.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::string::ParseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::abi`
[INFO] [stdout]  --> src/parser/endian.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::abi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/segment.rs:130:20
[INFO] [stdout]     |
[INFO] [stdout] 130 |             return (ProgramHeader {
[INFO] [stdout]     |                    ^
[INFO] [stdout] ...
[INFO] [stdout] 139 |             });
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 130 ~             return ProgramHeader {
[INFO] [stdout] 131 |                 p_type,
[INFO] [stdout] ...
[INFO] [stdout] 138 |                 p_align,
[INFO] [stdout] 139 ~             } ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/segment.rs:160:16
[INFO] [stdout]     |
[INFO] [stdout] 160 |         return (ProgramHeader {
[INFO] [stdout]     |                ^
[INFO] [stdout] ...
[INFO] [stdout] 169 |         });
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 ~         return ProgramHeader {
[INFO] [stdout] 161 |             p_type,
[INFO] [stdout] ...
[INFO] [stdout] 168 |             p_align,
[INFO] [stdout] 169 ~         } ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/parser/section.rs:58:32
[INFO] [stdout]    |
[INFO] [stdout] 58 |             (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stdout]    |                                ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stdout] 58 +             (file_path,e_shoff,e_shoff+(e_shsz*e_shnum) as u64 );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/section.rs:161:20
[INFO] [stdout]     |
[INFO] [stdout] 161 |             return (SectionHeader {
[INFO] [stdout]     |                    ^
[INFO] [stdout] ...
[INFO] [stdout] 174 |             });
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 161 ~             return SectionHeader {
[INFO] [stdout] 162 |                  sh_name:sh_name ,
[INFO] [stdout] ...
[INFO] [stdout] 173 |                  index:index,
[INFO] [stdout] 174 ~             } ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/section.rs:196:16
[INFO] [stdout]     |
[INFO] [stdout] 196 |         return (SectionHeader {
[INFO] [stdout]     |                ^
[INFO] [stdout] ...
[INFO] [stdout] 209 |         });
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 196 ~         return SectionHeader {
[INFO] [stdout] 197 |             sh_name:sh_name ,
[INFO] [stdout] ...
[INFO] [stdout] 208 |             index:index,
[INFO] [stdout] 209 ~         } ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `symbol`
[INFO] [stdout]  --> src/parser/symbol.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::parser::{file, symbol};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/parser/hash.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `hash` should have an upper camel case name
[INFO] [stdout]   --> src/parser/hash.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct hash {
[INFO] [stdout]    |            ^^^^ help: convert the identifier to upper camel case: `Hash`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/hash.rs:124:28
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     return (Some((sym_idx, symbol.clone())));
[INFO] [stdout]     |                            ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -                     return (Some((sym_idx, symbol.clone())));
[INFO] [stdout] 124 +                     return Some((sym_idx, symbol.clone())) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/parser/relocation.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 (Rel {
[INFO] [stdout]    |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 57 |                 })
[INFO] [stdout]    |                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 53 ~                 Rel {
[INFO] [stdout] 54 |                     r_offset,
[INFO] [stdout] 55 |                     r_sym: r_info >> 8,
[INFO] [stdout] 56 |                     r_type: r_info & 0xFF,
[INFO] [stdout] 57 ~                 } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/parser/relocation.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 (Rel {
[INFO] [stdout]    |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 67 |                 })
[INFO] [stdout]    |                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 ~                 Rel {
[INFO] [stdout] 64 |                     r_offset,
[INFO] [stdout] 65 |                     r_sym: (r_info >> 32) as u32,
[INFO] [stdout] 66 |                     r_type: (r_info & 0xFFFFFFFF) as u32,
[INFO] [stdout] 67 ~                 } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/parser/relocation.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |             offset+=(size as u64);
[INFO] [stdout]     |                     ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -             offset+=(size as u64);
[INFO] [stdout] 131 +             offset+=size as u64 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file::file_utils`
[INFO] [stdout]   --> src/parser/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use file::file_utils;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::symbol::Symbol`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser::symbol::Symbol;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file`
[INFO] [stdout]  --> src/parser/elf_header.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::{abi, file};
[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: `EndianParse`
[INFO] [stdout]  --> src/parser/elf_header.rs:2:40
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::endian::{AnyEndian, EndianParse};
[INFO] [stdout]   |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ParseError`
[INFO] [stdout]    --> src/parser/elf_header.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     use std::string::ParseError;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `symbol`
[INFO] [stdout]    --> src/parser/elf_header.rs:105:44
[INFO] [stdout]     |
[INFO] [stdout] 105 |     use crate::parser::{abi, endian, file, symbol};
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/parser/elf_header.rs:205:49
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn read_header(file_path: &str)->Option<(FileHeader)>{
[INFO] [stdout]     |                                                 ^          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -     pub fn read_header(file_path: &str)->Option<(FileHeader)>{
[INFO] [stdout] 205 +     pub fn read_header(file_path: &str)->Option<FileHeader >{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/parser/elf_header.rs:267:40
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stdout]     |                                        ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 267 -                     (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stdout] 267 +                     (file_path,e_shoff,e_shoff+(e_shsz*e_shnum) as u64 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ParseError`
[INFO] [stdout]  --> src/parser/endian.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::string::ParseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::abi`
[INFO] [stdout]  --> src/parser/endian.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::abi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/segment.rs:130:20
[INFO] [stdout]     |
[INFO] [stdout] 130 |             return (ProgramHeader {
[INFO] [stdout]     |                    ^
[INFO] [stdout] ...
[INFO] [stdout] 139 |             });
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 130 ~             return ProgramHeader {
[INFO] [stdout] 131 |                 p_type,
[INFO] [stdout] ...
[INFO] [stdout] 138 |                 p_align,
[INFO] [stdout] 139 ~             } ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/segment.rs:160:16
[INFO] [stdout]     |
[INFO] [stdout] 160 |         return (ProgramHeader {
[INFO] [stdout]     |                ^
[INFO] [stdout] ...
[INFO] [stdout] 169 |         });
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 ~         return ProgramHeader {
[INFO] [stdout] 161 |             p_type,
[INFO] [stdout] ...
[INFO] [stdout] 168 |             p_align,
[INFO] [stdout] 169 ~         } ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/parser/section.rs:58:32
[INFO] [stdout]    |
[INFO] [stdout] 58 |             (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stdout]    |                                ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stdout] 58 +             (file_path,e_shoff,e_shoff+(e_shsz*e_shnum) as u64 );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/section.rs:161:20
[INFO] [stdout]     |
[INFO] [stdout] 161 |             return (SectionHeader {
[INFO] [stdout]     |                    ^
[INFO] [stdout] ...
[INFO] [stdout] 174 |             });
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 161 ~             return SectionHeader {
[INFO] [stdout] 162 |                  sh_name:sh_name ,
[INFO] [stdout] ...
[INFO] [stdout] 173 |                  index:index,
[INFO] [stdout] 174 ~             } ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/section.rs:196:16
[INFO] [stdout]     |
[INFO] [stdout] 196 |         return (SectionHeader {
[INFO] [stdout]     |                ^
[INFO] [stdout] ...
[INFO] [stdout] 209 |         });
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 196 ~         return SectionHeader {
[INFO] [stdout] 197 |             sh_name:sh_name ,
[INFO] [stdout] ...
[INFO] [stdout] 208 |             index:index,
[INFO] [stdout] 209 ~         } ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `symbol`
[INFO] [stdout]  --> src/parser/symbol.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::parser::{file, symbol};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/parser/hash.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `hash` should have an upper camel case name
[INFO] [stdout]   --> src/parser/hash.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct hash {
[INFO] [stdout]    |            ^^^^ help: convert the identifier to upper camel case: `Hash`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/parser/hash.rs:124:28
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     return (Some((sym_idx, symbol.clone())));
[INFO] [stdout]     |                            ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -                     return (Some((sym_idx, symbol.clone())));
[INFO] [stdout] 124 +                     return Some((sym_idx, symbol.clone())) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/parser/relocation.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 (Rel {
[INFO] [stdout]    |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 57 |                 })
[INFO] [stdout]    |                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 53 ~                 Rel {
[INFO] [stdout] 54 |                     r_offset,
[INFO] [stdout] 55 |                     r_sym: r_info >> 8,
[INFO] [stdout] 56 |                     r_type: r_info & 0xFF,
[INFO] [stdout] 57 ~                 } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/parser/relocation.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 (Rel {
[INFO] [stdout]    |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 67 |                 })
[INFO] [stdout]    |                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 ~                 Rel {
[INFO] [stdout] 64 |                     r_offset,
[INFO] [stdout] 65 |                     r_sym: (r_info >> 32) as u32,
[INFO] [stdout] 66 |                     r_type: (r_info & 0xFFFFFFFF) as u32,
[INFO] [stdout] 67 ~                 } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/parser/relocation.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |             offset+=(size as u64);
[INFO] [stdout]     |                     ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -             offset+=(size as u64);
[INFO] [stdout] 131 +             offset+=size as u64 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file::file_utils`
[INFO] [stdout]   --> src/parser/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use file::file_utils;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::symbol::Symbol`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser::symbol::Symbol;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `offset` is never read
[INFO] [stdout]    --> src/parser/segment.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         offset+=U64SIZE;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/section.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for mut section_header in  section_headers.iter_mut() {
[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: `endian`
[INFO] [stdout]   --> src/parser/symbol.rs:96:14
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let (endian, class)=ident;
[INFO] [stdout]    |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_endian`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/symbol.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         for mut symbol_table in symbol_tables.iter_mut() {
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/parser/hash.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |             _=>{
[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/hash.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             Class::ELF32 => {
[INFO] [stdout]    |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 89 |             Class::ELF64 => {
[INFO] [stdout]    |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 94 |             _=>{
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Ehdr` is never constructed
[INFO] [stdout]   --> src/parser/elf_header.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Elf32_Ehdr {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Ehdr` is never constructed
[INFO] [stdout]   --> src/parser/elf_header.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Elf64_Ehdr {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/elf_header.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file_range` is never used
[INFO] [stdout]    --> src/parser/elf_header.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn read_file_range(file_path: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EI_NIDENT` is never used
[INFO] [stdout]  --> src/parser/abi.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const EI_NIDENT: usize = 16;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELFMAGIC` is never used
[INFO] [stdout]   --> src/parser/abi.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ELFMAGIC: [u8; 4] = [ELFMAG0, ELFMAG1, ELFMAG2, ELFMAG3];
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELFDATANONE` is never used
[INFO] [stdout]   --> src/parser/abi.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const ELFDATANONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELFDATA2LSB` is never used
[INFO] [stdout]   --> src/parser/abi.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const ELFDATA2LSB: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELFDATA2MSB` is never used
[INFO] [stdout]   --> src/parser/abi.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const ELFDATA2MSB: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_big` is never used
[INFO] [stdout]   --> src/parser/endian.rs:99:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait EndianParse{
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn is_big(self) -> bool where Self: Sized{
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Phdr` is never constructed
[INFO] [stdout]  --> src/parser/segment.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Elf32_Phdr {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Phdr` is never constructed
[INFO] [stdout]   --> src/parser/segment.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Elf64_Phdr {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_file_data_range` is never used
[INFO] [stdout]   --> src/parser/segment.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl ProgramHeader {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub(crate) fn get_file_data_range(&self) -> (usize, usize){
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U16SIZE` is never used
[INFO] [stdout]    --> src/parser/segment.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/segment.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `size_for` is never used
[INFO] [stdout]    --> src/parser/section.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl  SectionHeader {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |     fn size_for(class: Class) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U16SIZE` is never used
[INFO] [stdout]    --> src/parser/section.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/section.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Sym` is never constructed
[INFO] [stdout]   --> src/parser/symbol.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Elf32_Sym {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Sym` is never constructed
[INFO] [stdout]   --> src/parser/symbol.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Elf64_Sym {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U16SIZE` is never used
[INFO] [stdout]    --> src/parser/hash.rs:157:15
[INFO] [stdout]     |
[INFO] [stdout] 157 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/hash.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 158 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Rel` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Elf32_Rel {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Rel` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Elf64_Rel {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rel` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Rel {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse`, `parse_rel`, and `size_for` are never used
[INFO] [stdout]   --> src/parser/relocation.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Rel {
[INFO] [stdout]    | -------- associated functions in this implementation
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     pub fn parse(ident: (AnyEndian, Class),data: &[u8],e_size:u64)->Vec<Rel>{
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn parse_rel(ident: (AnyEndian, Class),data: &[u8],mut offset:usize)->Rel{
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn size_for(class: Class) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Rela` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Elf32_Rela {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Rela` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct Elf64_Rela {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U16SIZE` is never used
[INFO] [stdout]    --> src/parser/relocation.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/relocation.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parser_Symbol` should have a snake case name
[INFO] [stdout]   --> src/parser/symbol.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn parser_Symbol(ident: (AnyEndian, Class),data:&[u8],mut offset: usize)->Vec<Symbol>{
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `parser_symbol`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `offset` is never read
[INFO] [stdout]    --> src/parser/segment.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         offset+=U64SIZE;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/section.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for mut section_header in  section_headers.iter_mut() {
[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: `endian`
[INFO] [stdout]   --> src/parser/symbol.rs:96:14
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let (endian, class)=ident;
[INFO] [stdout]    |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_endian`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/symbol.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         for mut symbol_table in symbol_tables.iter_mut() {
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/parser/hash.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |             _=>{
[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/hash.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             Class::ELF32 => {
[INFO] [stdout]    |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 89 |             Class::ELF64 => {
[INFO] [stdout]    |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 94 |             _=>{
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Ehdr` is never constructed
[INFO] [stdout]   --> src/parser/elf_header.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Elf32_Ehdr {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Ehdr` is never constructed
[INFO] [stdout]   --> src/parser/elf_header.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Elf64_Ehdr {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/elf_header.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file_range` is never used
[INFO] [stdout]    --> src/parser/elf_header.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn read_file_range(file_path: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EI_NIDENT` is never used
[INFO] [stdout]  --> src/parser/abi.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const EI_NIDENT: usize = 16;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELFMAGIC` is never used
[INFO] [stdout]   --> src/parser/abi.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ELFMAGIC: [u8; 4] = [ELFMAG0, ELFMAG1, ELFMAG2, ELFMAG3];
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELFDATANONE` is never used
[INFO] [stdout]   --> src/parser/abi.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const ELFDATANONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELFDATA2LSB` is never used
[INFO] [stdout]   --> src/parser/abi.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const ELFDATA2LSB: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELFDATA2MSB` is never used
[INFO] [stdout]   --> src/parser/abi.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const ELFDATA2MSB: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_big` is never used
[INFO] [stdout]   --> src/parser/endian.rs:99:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait EndianParse{
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn is_big(self) -> bool where Self: Sized{
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Phdr` is never constructed
[INFO] [stdout]  --> src/parser/segment.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Elf32_Phdr {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Phdr` is never constructed
[INFO] [stdout]   --> src/parser/segment.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Elf64_Phdr {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_file_data_range` is never used
[INFO] [stdout]   --> src/parser/segment.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl ProgramHeader {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub(crate) fn get_file_data_range(&self) -> (usize, usize){
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U16SIZE` is never used
[INFO] [stdout]    --> src/parser/segment.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/segment.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `size_for` is never used
[INFO] [stdout]    --> src/parser/section.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl  SectionHeader {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |     fn size_for(class: Class) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U16SIZE` is never used
[INFO] [stdout]    --> src/parser/section.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/section.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Sym` is never constructed
[INFO] [stdout]   --> src/parser/symbol.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Elf32_Sym {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Sym` is never constructed
[INFO] [stdout]   --> src/parser/symbol.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Elf64_Sym {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U16SIZE` is never used
[INFO] [stdout]    --> src/parser/hash.rs:157:15
[INFO] [stdout]     |
[INFO] [stdout] 157 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/hash.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 158 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Rel` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Elf32_Rel {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Rel` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Elf64_Rel {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rel` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Rel {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse`, `parse_rel`, and `size_for` are never used
[INFO] [stdout]   --> src/parser/relocation.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Rel {
[INFO] [stdout]    | -------- associated functions in this implementation
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     pub fn parse(ident: (AnyEndian, Class),data: &[u8],e_size:u64)->Vec<Rel>{
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn parse_rel(ident: (AnyEndian, Class),data: &[u8],mut offset:usize)->Rel{
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn size_for(class: Class) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf32_Rela` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Elf32_Rela {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Elf64_Rela` is never constructed
[INFO] [stdout]   --> src/parser/relocation.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct Elf64_Rela {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U16SIZE` is never used
[INFO] [stdout]    --> src/parser/relocation.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8SIZE` is never used
[INFO] [stdout]    --> src/parser/relocation.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parser_Symbol` should have a snake case name
[INFO] [stdout]   --> src/parser/symbol.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn parser_Symbol(ident: (AnyEndian, Class),data:&[u8],mut offset: usize)->Vec<Symbol>{
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `parser_symbol`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] running `Command { std: "docker" "inspect" "5ac49f5d0efba1efe35b21bf0fcb5ef70de399d1d9d8b07868e86b78bfd40f8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ac49f5d0efba1efe35b21bf0fcb5ef70de399d1d9d8b07868e86b78bfd40f8a", kill_on_drop: false }`
[INFO] [stdout] 5ac49f5d0efba1efe35b21bf0fcb5ef70de399d1d9d8b07868e86b78bfd40f8a
