[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] testing 9540611855/elf_parser against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F9540611855%2Felf_parser" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-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-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/9540611855/elf_parser on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 10ec8c6c172013f03671a67b12b904b99830ddcedec98fbe6458a53f54c78085
[INFO] running `Command { std: "docker" "start" "-a" "10ec8c6c172013f03671a67b12b904b99830ddcedec98fbe6458a53f54c78085", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "10ec8c6c172013f03671a67b12b904b99830ddcedec98fbe6458a53f54c78085", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10ec8c6c172013f03671a67b12b904b99830ddcedec98fbe6458a53f54c78085", kill_on_drop: false }`
[INFO] [stdout] 10ec8c6c172013f03671a67b12b904b99830ddcedec98fbe6458a53f54c78085
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9a0c9623cfaa28066325e267c92c5007921ce9df28d6ea55d2264a9322c9483e
[INFO] running `Command { std: "docker" "start" "-a" "9a0c9623cfaa28066325e267c92c5007921ce9df28d6ea55d2264a9322c9483e", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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)]` 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)]` 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)]` 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)]` 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)]` 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)]` 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)]` 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)]` 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.79s
[INFO] running `Command { std: "docker" "inspect" "9a0c9623cfaa28066325e267c92c5007921ce9df28d6ea55d2264a9322c9483e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a0c9623cfaa28066325e267c92c5007921ce9df28d6ea55d2264a9322c9483e", kill_on_drop: false }`
[INFO] [stdout] 9a0c9623cfaa28066325e267c92c5007921ce9df28d6ea55d2264a9322c9483e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a8be2662b5ae175af737916ff154c9892692f47bf3cce2918817002a920d098
[INFO] running `Command { std: "docker" "start" "-a" "7a8be2662b5ae175af737916ff154c9892692f47bf3cce2918817002a920d098", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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)]` 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)]` 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)]` 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)]` 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)]` 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)]` 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)]` 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)]` 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.59s
[INFO] running `Command { std: "docker" "inspect" "7a8be2662b5ae175af737916ff154c9892692f47bf3cce2918817002a920d098", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a8be2662b5ae175af737916ff154c9892692f47bf3cce2918817002a920d098", kill_on_drop: false }`
[INFO] [stdout] 7a8be2662b5ae175af737916ff154c9892692f47bf3cce2918817002a920d098
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 86990ce3e32d5edae4e2458e531622a01726dc479dfdab1eeb1016f67781836e
[INFO] running `Command { std: "docker" "start" "-a" "86990ce3e32d5edae4e2458e531622a01726dc479dfdab1eeb1016f67781836e", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `file`
[INFO] [stderr]  --> src/parser/elf_header.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::parser::{abi, file};
[INFO] [stderr]   |                          ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EndianParse`
[INFO] [stderr]  --> src/parser/elf_header.rs:2:40
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::parser::endian::{AnyEndian, EndianParse};
[INFO] [stderr]   |                                        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::string::ParseError`
[INFO] [stderr]    --> src/parser/elf_header.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 103 |     use std::string::ParseError;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `symbol`
[INFO] [stderr]    --> src/parser/elf_header.rs:105:44
[INFO] [stderr]     |
[INFO] [stderr] 105 |     use crate::parser::{abi, endian, file, symbol};
[INFO] [stderr]     |                                            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/parser/elf_header.rs:205:49
[INFO] [stderr]     |
[INFO] [stderr] 205 |     pub fn read_header(file_path: &str)->Option<(FileHeader)>{
[INFO] [stderr]     |                                                 ^          ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 205 -     pub fn read_header(file_path: &str)->Option<(FileHeader)>{
[INFO] [stderr] 205 +     pub fn read_header(file_path: &str)->Option<FileHeader>{
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/parser/elf_header.rs:267:40
[INFO] [stderr]     |
[INFO] [stderr] 267 |                     (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stderr]     |                                        ^                               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 267 -                     (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stderr] 267 +                     (file_path,e_shoff,e_shoff+(e_shsz*e_shnum) as u64);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::string::ParseError`
[INFO] [stderr]  --> src/parser/endian.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::string::ParseError;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parser::abi`
[INFO] [stderr]  --> src/parser/endian.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::parser::abi;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `return` value
[INFO] [stderr]    --> src/parser/segment.rs:130:20
[INFO] [stderr]     |
[INFO] [stderr] 130 |             return (ProgramHeader {
[INFO] [stderr]     |                    ^
[INFO] [stderr] ...
[INFO] [stderr] 139 |             });
[INFO] [stderr]     |              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 130 ~             return ProgramHeader {
[INFO] [stderr] 131 |                 p_type,
[INFO] [stderr] ...
[INFO] [stderr] 138 |                 p_align,
[INFO] [stderr] 139 ~             };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `return` value
[INFO] [stderr]    --> src/parser/segment.rs:160:16
[INFO] [stderr]     |
[INFO] [stderr] 160 |         return (ProgramHeader {
[INFO] [stderr]     |                ^
[INFO] [stderr] ...
[INFO] [stderr] 169 |         });
[INFO] [stderr]     |          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 160 ~         return ProgramHeader {
[INFO] [stderr] 161 |             p_type,
[INFO] [stderr] ...
[INFO] [stderr] 168 |             p_align,
[INFO] [stderr] 169 ~         };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/parser/section.rs:58:32
[INFO] [stderr]    |
[INFO] [stderr] 58 |             (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stderr]    |                                ^                               ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 58 -             (file_path,e_shoff,(e_shoff+(e_shsz*e_shnum) as u64));
[INFO] [stderr] 58 +             (file_path,e_shoff,e_shoff+(e_shsz*e_shnum) as u64);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `return` value
[INFO] [stderr]    --> src/parser/section.rs:161:20
[INFO] [stderr]     |
[INFO] [stderr] 161 |             return (SectionHeader {
[INFO] [stderr]     |                    ^
[INFO] [stderr] ...
[INFO] [stderr] 174 |             });
[INFO] [stderr]     |              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 161 ~             return SectionHeader {
[INFO] [stderr] 162 |                  sh_name:sh_name ,
[INFO] [stderr] ...
[INFO] [stderr] 173 |                  index:index,
[INFO] [stderr] 174 ~             };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `return` value
[INFO] [stderr]    --> src/parser/section.rs:196:16
[INFO] [stderr]     |
[INFO] [stderr] 196 |         return (SectionHeader {
[INFO] [stderr]     |                ^
[INFO] [stderr] ...
[INFO] [stderr] 209 |         });
[INFO] [stderr]     |          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 196 ~         return SectionHeader {
[INFO] [stderr] 197 |             sh_name:sh_name ,
[INFO] [stderr] ...
[INFO] [stderr] 208 |             index:index,
[INFO] [stderr] 209 ~         };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `symbol`
[INFO] [stderr]  --> src/parser/symbol.rs:7:27
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::parser::{file, symbol};
[INFO] [stderr]   |                           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Add`
[INFO] [stderr]  --> src/parser/hash.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::ops::Add;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `hash` should have an upper camel case name
[INFO] [stderr]   --> src/parser/hash.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct hash {
[INFO] [stderr]    |            ^^^^ help: convert the identifier to upper camel case: `Hash`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `return` value
[INFO] [stderr]    --> src/parser/hash.rs:124:28
[INFO] [stderr]     |
[INFO] [stderr] 124 |                     return (Some((sym_idx, symbol.clone())));
[INFO] [stderr]     |                            ^                               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 124 -                     return (Some((sym_idx, symbol.clone())));
[INFO] [stderr] 124 +                     return Some((sym_idx, symbol.clone()));
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/parser/relocation.rs:53:17
[INFO] [stderr]    |
[INFO] [stderr] 53 |                 (Rel {
[INFO] [stderr]    |                 ^
[INFO] [stderr] ...
[INFO] [stderr] 57 |                 })
[INFO] [stderr]    |                  ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 53 ~                 Rel {
[INFO] [stderr] 54 |                     r_offset,
[INFO] [stderr] 55 |                     r_sym: r_info >> 8,
[INFO] [stderr] 56 |                     r_type: r_info & 0xFF,
[INFO] [stderr] 57 ~                 }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/parser/relocation.rs:63:17
[INFO] [stderr]    |
[INFO] [stderr] 63 |                 (Rel {
[INFO] [stderr]    |                 ^
[INFO] [stderr] ...
[INFO] [stderr] 67 |                 })
[INFO] [stderr]    |                  ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 63 ~                 Rel {
[INFO] [stderr] 64 |                     r_offset,
[INFO] [stderr] 65 |                     r_sym: (r_info >> 32) as u32,
[INFO] [stderr] 66 |                     r_type: (r_info & 0xFFFFFFFF) as u32,
[INFO] [stderr] 67 ~                 }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/parser/relocation.rs:131:21
[INFO] [stderr]     |
[INFO] [stderr] 131 |             offset+=(size as u64);
[INFO] [stderr]     |                     ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 131 -             offset+=(size as u64);
[INFO] [stderr] 131 +             offset+=size as u64;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `file::file_utils`
[INFO] [stderr]   --> src/parser/mod.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use file::file_utils;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parser::symbol::Symbol`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::parser::symbol::Symbol;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `offset` is never read
[INFO] [stderr]    --> src/parser/segment.rs:159:9
[INFO] [stderr]     |
[INFO] [stderr] 159 |         offset+=U64SIZE;
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parser/section.rs:79:13
[INFO] [stderr]    |
[INFO] [stderr] 79 |         for mut section_header in  section_headers.iter_mut() {
[INFO] [stderr]    |             ----^^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `endian`
[INFO] [stderr]   --> src/parser/symbol.rs:96:14
[INFO] [stderr]    |
[INFO] [stderr] 96 |         let (endian, class)=ident;
[INFO] [stderr]    |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_endian`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser/symbol.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |         for mut symbol_table in symbol_tables.iter_mut() {
[INFO] [stderr]     |             ----^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/parser/hash.rs:94:13
[INFO] [stderr]    |
[INFO] [stderr] 94 |             _=>{
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/parser/hash.rs:94:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |             Class::ELF32 => {
[INFO] [stderr]    |             ------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 89 |             Class::ELF64 => {
[INFO] [stderr]    |             ------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 94 |             _=>{
[INFO] [stderr]    |             ^ collectively making this unreachable
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf32_Ehdr` is never constructed
[INFO] [stderr]   --> src/parser/elf_header.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub struct Elf32_Ehdr {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf64_Ehdr` is never constructed
[INFO] [stderr]   --> src/parser/elf_header.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub struct Elf64_Ehdr {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U8SIZE` is never used
[INFO] [stderr]    --> src/parser/elf_header.rs:142:15
[INFO] [stderr]     |
[INFO] [stderr] 142 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_file_range` is never used
[INFO] [stderr]    --> src/parser/elf_header.rs:230:12
[INFO] [stderr]     |
[INFO] [stderr] 230 |     pub fn read_file_range(file_path: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EI_NIDENT` is never used
[INFO] [stderr]  --> src/parser/abi.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub const EI_NIDENT: usize = 16;
[INFO] [stderr]   |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELFMAGIC` is never used
[INFO] [stderr]   --> src/parser/abi.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const ELFMAGIC: [u8; 4] = [ELFMAG0, ELFMAG1, ELFMAG2, ELFMAG3];
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELFDATANONE` is never used
[INFO] [stderr]   --> src/parser/abi.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub const ELFDATANONE: u8 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELFDATA2LSB` is never used
[INFO] [stderr]   --> src/parser/abi.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const ELFDATA2LSB: u8 = 1;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELFDATA2MSB` is never used
[INFO] [stderr]   --> src/parser/abi.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub const ELFDATA2MSB: u8 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_big` is never used
[INFO] [stderr]   --> src/parser/endian.rs:99:8
[INFO] [stderr]    |
[INFO] [stderr] 9  | pub trait EndianParse{
[INFO] [stderr]    |           ----------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 99 |     fn is_big(self) -> bool where Self: Sized{
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf32_Phdr` is never constructed
[INFO] [stderr]  --> src/parser/segment.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct Elf32_Phdr {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf64_Phdr` is never constructed
[INFO] [stderr]   --> src/parser/segment.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct Elf64_Phdr {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_file_data_range` is never used
[INFO] [stderr]   --> src/parser/segment.rs:90:19
[INFO] [stderr]    |
[INFO] [stderr] 54 | impl ProgramHeader {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub(crate) fn get_file_data_range(&self) -> (usize, usize){
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U16SIZE` is never used
[INFO] [stderr]    --> src/parser/segment.rs:112:15
[INFO] [stderr]     |
[INFO] [stderr] 112 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stderr]     |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U8SIZE` is never used
[INFO] [stderr]    --> src/parser/segment.rs:113:15
[INFO] [stderr]     |
[INFO] [stderr] 113 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `size_for` is never used
[INFO] [stderr]    --> src/parser/section.rs:213:8
[INFO] [stderr]     |
[INFO] [stderr] 34  | impl  SectionHeader {
[INFO] [stderr]     | ------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 213 |     fn size_for(class: Class) -> usize {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U16SIZE` is never used
[INFO] [stderr]    --> src/parser/section.rs:139:15
[INFO] [stderr]     |
[INFO] [stderr] 139 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stderr]     |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U8SIZE` is never used
[INFO] [stderr]    --> src/parser/section.rs:140:15
[INFO] [stderr]     |
[INFO] [stderr] 140 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf32_Sym` is never constructed
[INFO] [stderr]   --> src/parser/symbol.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct Elf32_Sym {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf64_Sym` is never constructed
[INFO] [stderr]   --> src/parser/symbol.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct Elf64_Sym {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U16SIZE` is never used
[INFO] [stderr]    --> src/parser/hash.rs:157:15
[INFO] [stderr]     |
[INFO] [stderr] 157 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stderr]     |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U8SIZE` is never used
[INFO] [stderr]    --> src/parser/hash.rs:158:15
[INFO] [stderr]     |
[INFO] [stderr] 158 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf32_Rel` is never constructed
[INFO] [stderr]   --> src/parser/relocation.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Elf32_Rel {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf64_Rel` is never constructed
[INFO] [stderr]   --> src/parser/relocation.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct Elf64_Rel {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Rel` is never constructed
[INFO] [stderr]   --> src/parser/relocation.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct Rel {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `parse`, `parse_rel`, and `size_for` are never used
[INFO] [stderr]   --> src/parser/relocation.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl Rel {
[INFO] [stderr]    | -------- associated functions in this implementation
[INFO] [stderr] 29 |
[INFO] [stderr] 30 |     pub fn parse(ident: (AnyEndian, Class),data: &[u8],e_size:u64)->Vec<Rel>{
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn parse_rel(ident: (AnyEndian, Class),data: &[u8],mut offset:usize)->Rel{
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     fn size_for(class: Class) -> usize {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf32_Rela` is never constructed
[INFO] [stderr]   --> src/parser/relocation.rs:84:12
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub struct Elf32_Rela {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Elf64_Rela` is never constructed
[INFO] [stderr]   --> src/parser/relocation.rs:90:12
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub struct Elf64_Rela {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U16SIZE` is never used
[INFO] [stderr]    --> src/parser/relocation.rs:139:15
[INFO] [stderr]     |
[INFO] [stderr] 139 |         const U16SIZE: usize = core::mem::size_of::<u16>();
[INFO] [stderr]     |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `U8SIZE` is never used
[INFO] [stderr]    --> src/parser/relocation.rs:140:15
[INFO] [stderr]     |
[INFO] [stderr] 140 |         const U8SIZE: usize = core::mem::size_of::<u8>();
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `parser_Symbol` should have a snake case name
[INFO] [stderr]   --> src/parser/symbol.rs:95:12
[INFO] [stderr]    |
[INFO] [stderr] 95 |     pub fn parser_Symbol(ident: (AnyEndian, Class),data:&[u8],mut offset: usize)->Vec<Symbol>{
[INFO] [stderr]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `parser_symbol`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `elf_parser` (bin "elf_parser" test) generated 58 warnings (run `cargo fix --bin "elf_parser" --tests` to apply 23 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/elf_parser-af1901d007ffa941)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "86990ce3e32d5edae4e2458e531622a01726dc479dfdab1eeb1016f67781836e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86990ce3e32d5edae4e2458e531622a01726dc479dfdab1eeb1016f67781836e", kill_on_drop: false }`
[INFO] [stdout] 86990ce3e32d5edae4e2458e531622a01726dc479dfdab1eeb1016f67781836e
