[INFO] cloning repository https://github.com/Hagi013/toy-gdb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hagi013/toy-gdb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-gdb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-gdb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 23dd4e4899150b9ff59b66c83e374001e273a4a4
[INFO] checking Hagi013/toy-gdb against 165655a2f1981fef27b31c547ad7631979fc5139 for pr-160235
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-gdb" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Hagi013/toy-gdb
[INFO] finished tweaking git repo https://github.com/Hagi013/toy-gdb
[INFO] tweaked toml for git repo https://github.com/Hagi013/toy-gdb written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Hagi013/toy-gdb on toolchain 165655a2f1981fef27b31c547ad7631979fc5139
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+165655a2f1981fef27b31c547ad7631979fc5139" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Hagi013/toy-gdb 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" "+165655a2f1981fef27b31c547ad7631979fc5139" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking Hagi013/toy-gdb against 165655a2f1981fef27b31c547ad7631979fc5139 for pr-160235
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-gdb" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Hagi013/toy-gdb
[INFO] finished tweaking git repo https://github.com/Hagi013/toy-gdb
[INFO] tweaked toml for git repo https://github.com/Hagi013/toy-gdb written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Hagi013/toy-gdb on toolchain 165655a2f1981fef27b31c547ad7631979fc5139
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+165655a2f1981fef27b31c547ad7631979fc5139" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Hagi013/toy-gdb 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" "+165655a2f1981fef27b31c547ad7631979fc5139" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded anyhow v1.0.37
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a
[INFO] running `Command { std: "docker" "start" "9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a" "/opt/rustwide/cargo-home/bin/cargo" "+165655a2f1981fef27b31c547ad7631979fc5139" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a" "/opt/rustwide/cargo-home/bin/cargo" "+165655a2f1981fef27b31c547ad7631979fc5139" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.81
[INFO] [stderr]    Compiling anyhow v1.0.37
[INFO] [stderr]     Checking nix v0.19.1
[INFO] [stderr]     Checking toy-gdb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Pid`, `chdir`, `chroot`, `mkdir`, `pivot_root`, and `sethostname`
[INFO] [stdout]  --> src/main.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[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 imports: `Pid`, `chdir`, `chroot`, `mkdir`, `pivot_root`, and `sethostname`
[INFO] [stdout]  --> src/main.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[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: `Error`
[INFO] [stdout]  --> src/toy_gdb.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Result, Error, Context};
[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 imports: `Write` and `stdout`
[INFO] [stdout]  --> src/toy_gdb.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, stdout};
[INFO] [stdout]   |               ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/toy_gdb.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `getpid`
[INFO] [stdout]  --> src/toy_gdb.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nix::unistd::{Pid, getpid};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nix::sys::signal`
[INFO] [stdout]  --> src/toy_gdb.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nix::sys::signal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/toy_gdb.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/toy_gdb.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/toy_gdb.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Result, Error, Context};
[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: `std::env::args`
[INFO] [stdout]  --> src/check_fn_viradd.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env::args;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Demangle` and `TryDemangleError`
[INFO] [stdout]  --> src/check_fn_viradd.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rustc_demangle::{try_demangle, Demangle, TryDemangleError};
[INFO] [stdout]   |                                    ^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `stdout`
[INFO] [stdout]  --> src/toy_gdb.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, stdout};
[INFO] [stdout]   |               ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/toy_gdb.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_NULL` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_...
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `ShtNull`
[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: unused import: `getpid`
[INFO] [stdout]  --> src/toy_gdb.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nix::unistd::{Pid, getpid};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_PROGBITS` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:19
[INFO] [stdout]     |
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_...
[INFO] [stdout]     |                   ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtProgbits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nix::sys::signal`
[INFO] [stdout]  --> src/toy_gdb.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nix::sys::signal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SYMTAB` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:37
[INFO] [stdout]     |
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_...
[INFO] [stdout]     |                                     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSymtab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/toy_gdb.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_STRTAB` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:53
[INFO] [stdout]     |
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_...
[INFO] [stdout]     |                                                     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtStrtab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/toy_gdb.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_RELA` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:69
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...T_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB ...
[INFO] [stdout]     |                                  ^^^^^^^^ help: convert the identifier to upper camel case: `ShtRela`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_HASH` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:83
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                  ^^^^^^^^ help: convert the identifier to upper camel case: `ShtHash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::args`
[INFO] [stdout]  --> src/check_fn_viradd.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env::args;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_DYNAMIC` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:97
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...HT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                               ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtDynamic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Demangle` and `TryDemangleError`
[INFO] [stdout]  --> src/check_fn_viradd.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rustc_demangle::{try_demangle, Demangle, TryDemangleError};
[INFO] [stdout]   |                                    ^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_NOTE` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:114
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...HT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                  ^^^^^^^^ help: convert the identifier to upper camel case: `ShtNote`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_NULL` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_...
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `ShtNull`
[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: variant `SHT_NOBITS` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:128
[INFO] [stdout]     |
[INFO] [stdout] 192 | ..._DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtNobits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_PROGBITS` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:19
[INFO] [stdout]     |
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_...
[INFO] [stdout]     |                   ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtProgbits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_REL` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:144
[INFO] [stdout]     |
[INFO] [stdout] 192 | ... SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                   ^^^^^^^ help: convert the identifier to upper camel case: `ShtRel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SYMTAB` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:37
[INFO] [stdout]     |
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_...
[INFO] [stdout]     |                                     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSymtab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SHLIB` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:157
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                 ^^^^^^^^^ help: convert the identifier to upper camel case: `ShtShlib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_STRTAB` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:53
[INFO] [stdout]     |
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_...
[INFO] [stdout]     |                                                     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtStrtab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_DYNSYM` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     SHT_DYNSYM = 11, SHT_SUNW_move = 0x6ffffffa, SHT_SUNW_COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6...
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtDynsym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_RELA` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:69
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...T_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB ...
[INFO] [stdout]     |                                  ^^^^^^^^ help: convert the identifier to upper camel case: `ShtRela`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_move` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:22
[INFO] [stdout]     |
[INFO] [stdout] 193 |     SHT_DYNSYM = 11, SHT_SUNW_move = 0x6ffffffa, SHT_SUNW_COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6...
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwMove`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_COMDAT` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:50
[INFO] [stdout]     |
[INFO] [stdout] 193 | ...UNW_move = 0x6ffffffa, SHT_SUNW_COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6ffffffd, SHT_SUNW_verne...
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwComdat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_HASH` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:83
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                  ^^^^^^^^ help: convert the identifier to upper camel case: `ShtHash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_syminfo` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:80
[INFO] [stdout]     |
[INFO] [stdout] 193 | ..._COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6ffffffd, SHT_SUNW_verneed = 0x6ffffffe,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwSyminfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_DYNAMIC` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:97
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...HT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                               ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtDynamic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_verdef` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:111
[INFO] [stdout]     |
[INFO] [stdout] 193 | ..._syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6ffffffd, SHT_SUNW_verneed = 0x6ffffffe,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwVerdef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_verneed` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:141
[INFO] [stdout]     |
[INFO] [stdout] 193 | ..._verdef = 0x6ffffffd, SHT_SUNW_verneed = 0x6ffffffe,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwVerneed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_NOTE` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:114
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...HT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                  ^^^^^^^^ help: convert the identifier to upper camel case: `ShtNote`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_NOBITS` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:128
[INFO] [stdout]     |
[INFO] [stdout] 192 | ..._DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtNobits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_versym` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwVersym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_REL` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:144
[INFO] [stdout]     |
[INFO] [stdout] 192 | ... SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                   ^^^^^^^ help: convert the identifier to upper camel case: `ShtRel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_LOPROC` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:35
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtLoproc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_HIPROC` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:60
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |                                                            ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtHiproc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SHLIB` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:157
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |                                 ^^^^^^^^^ help: convert the identifier to upper camel case: `ShtShlib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_LOUSER` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:85
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtLouser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_DYNSYM` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     SHT_DYNSYM = 11, SHT_SUNW_move = 0x6ffffffa, SHT_SUNW_COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6...
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtDynsym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_HIUSER` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:110
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtHiuser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_move` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:22
[INFO] [stdout]     |
[INFO] [stdout] 193 |     SHT_DYNSYM = 11, SHT_SUNW_move = 0x6ffffffa, SHT_SUNW_COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6...
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwMove`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_COMDAT` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:50
[INFO] [stdout]     |
[INFO] [stdout] 193 | ...UNW_move = 0x6ffffffa, SHT_SUNW_COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6ffffffd, SHT_SUNW_verne...
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwComdat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_syminfo` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:80
[INFO] [stdout]     |
[INFO] [stdout] 193 | ..._COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6ffffffd, SHT_SUNW_verneed = 0x6ffffffe,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwSyminfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_verdef` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:111
[INFO] [stdout]     |
[INFO] [stdout] 193 | ..._syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6ffffffd, SHT_SUNW_verneed = 0x6ffffffe,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwVerdef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_verneed` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:193:141
[INFO] [stdout]     |
[INFO] [stdout] 193 | ..._verdef = 0x6ffffffd, SHT_SUNW_verneed = 0x6ffffffe,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwVerneed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_SUNW_versym` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtSunwVersym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_LOPROC` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:35
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtLoproc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_HIPROC` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:60
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |                                                            ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtHiproc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_LOUSER` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:85
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtLouser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SHT_HIUSER` should have an upper camel case name
[INFO] [stdout]    --> src/check_fn_viradd.rs:194:110
[INFO] [stdout]     |
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^ help: convert the identifier to upper camel case: `ShtHiuser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/toy_gdb.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     loop {
[INFO] [stdout] 39 | |         let status: WaitStatus = ptrace::wait_pid(pid).unwrap();
[INFO] [stdout] 40 | |         let pid = status.pid().unwrap();
[INFO] [stdout] 41 | |         println!("status: {:?}", status);
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |         ptrace::syscall_step(pid);
[INFO] [stdout] 65 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 66 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/toy_gdb.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     loop {
[INFO] [stdout] 39 | |         let status: WaitStatus = ptrace::wait_pid(pid).unwrap();
[INFO] [stdout] 40 | |         let pid = status.pid().unwrap();
[INFO] [stdout] 41 | |         println!("status: {:?}", status);
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |         ptrace::syscall_step(pid);
[INFO] [stdout] 65 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 66 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elf_ephdr`
[INFO] [stdout]   --> src/check_fn_viradd.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let elf_ephdr: ElfEPhdr = ElfEPhdr::parse_unit(&file, &elf_ehdr, idx as usize);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elf_ephdr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elf_ephdr`
[INFO] [stdout]   --> src/check_fn_viradd.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let elf_ephdr: ElfEPhdr = ElfEPhdr::parse_unit(&file, &elf_ehdr, idx as usize);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elf_ephdr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elf_ephdr`
[INFO] [stdout]   --> src/check_fn_viradd.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let elf_ephdr: ElfEPhdr = ElfEPhdr::parse_unit(&file, &elf_ehdr, idx as usize);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elf_ephdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elf_ephdr`
[INFO] [stdout]   --> src/check_fn_viradd.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let elf_ephdr: ElfEPhdr = ElfEPhdr::parse_unit(&file, &elf_ehdr, idx as usize);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elf_ephdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/toy_gdb.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/toy_gdb.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[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: `e`
[INFO] [stdout]    --> src/toy_gdb.rs:124:53
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let text_start_at = memory_map.split('-').find(|e| { true }).with_context(|| "text_start_at is none in fetch_text_base_vir_addr...
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/toy_gdb.rs:123:50
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let memory_map = first_line.split(' ').find(|e| { true }).with_context(|| "memory_map is none in fetch_text_base_vir_address me...
[INFO] [stdout]     |                                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/toy_gdb.rs:122:44
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let first_line = res.split('\n').find(|e| { true }).with_context(|| "first_line is none in fetch_text_base_vir_address method.")?;
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `traceme` is never used
[INFO] [stdout]   --> src/ptrace.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn traceme() -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detach` is never used
[INFO] [stdout]   --> src/ptrace.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn detach(pid: Pid) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_tracesysgood` is never used
[INFO] [stdout]   --> src/ptrace.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()>  {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_emulate_option` is never used
[INFO] [stdout]   --> src/ptrace.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn set_emulate_option(pid: Pid) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_emulate_option_simple` is never used
[INFO] [stdout]   --> src/ptrace.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_option_simple` is never used
[INFO] [stdout]   --> src/ptrace.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn set_option_simple(pid: Pid, options: ptrace::Options) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_all` is never used
[INFO] [stdout]   --> src/ptrace.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn wait_all() -> Result<WaitStatus> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `syscall` is never used
[INFO] [stdout]   --> src/ptrace.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn syscall(pid: Pid) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_memory` is never used
[INFO] [stdout]   --> src/ptrace.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn read_memory(pid: Pid, addr: u64) -> Result<i64> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_data` is never used
[INFO] [stdout]    --> src/ptrace.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn write_data(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sysemu` is never used
[INFO] [stdout]    --> src/ptrace.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn sysemu(pid: Pid) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sysemu_single` is never used
[INFO] [stdout]    --> src/ptrace.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn sysemu_single(pid: Pid) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poke_user` is never used
[INFO] [stdout]    --> src/ptrace.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn poke_user(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_event` is never used
[INFO] [stdout]    --> src/ptrace.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn get_event(pid: Pid) -> Result<i64> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_siginfo` is never used
[INFO] [stdout]    --> src/ptrace.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn get_siginfo(pid: Pid) -> Result<libc::siginfo_t> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fn_vir_address` is never used
[INFO] [stdout]  --> src/check_fn_viradd.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn check_fn_vir_address(file_path: &str, sym_name: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/check_fn_viradd.rs:91:5
[INFO] [stdout]     |
[INFO] [stdout]  90 | struct EIdent {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout]  91 |     magic_num1: u8,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     elf_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  96 |     elf_endian: u8,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  97 |     elf_format_version: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     os_abi: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  99 |     os_abi_version: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     padding: [u8; 6],
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EIdent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/check_fn_viradd.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct ElfEPhdr {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 138 |     p_type: u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 139 |     p_flags: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 140 |     p_offset: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 141 |     p_vaddr: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 142 |     p_paddr: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 143 |     p_filesz: u64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 144 |     p_memsz: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 145 |     p_align: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ElfEPhdr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/toy_gdb.rs:124:53
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let text_start_at = memory_map.split('-').find(|e| { true }).with_context(|| "text_start_at is none in fetch_text_base_vir_addr...
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/toy_gdb.rs:123:50
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let memory_map = first_line.split(' ').find(|e| { true }).with_context(|| "memory_map is none in fetch_text_base_vir_address me...
[INFO] [stdout]     |                                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/toy_gdb.rs:122:44
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let first_line = res.split('\n').find(|e| { true }).with_context(|| "first_line is none in fetch_text_base_vir_address method.")?;
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | enum SHType {
[INFO] [stdout]     |      ------ variants in this enum
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |     ^^^^^^^^      ^^^^^^^^^^^^      ^^^^^^^^^^      ^^^^^^^^^^      ^^^^^^^^      ^^^^^^^^      ^^^^^^^^^^^      ^^^^^^^^      ^^^^^^^^^^      ^^^^^^^      ^^^^^^^^^
[INFO] [stdout] 193 |     SHT_DYNSYM = 11, SHT_SUNW_move = 0x6ffffffa, SHT_SUNW_COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6ffffffd, SHT_SUNW_verneed = 0x6ffffffe,
[INFO] [stdout]     |     ^^^^^^^^^^       ^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^               ^^^^^^^^^^               ^^^^^^^^^^               ^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SHType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lookup_sym_name` is never used
[INFO] [stdout]    --> src/check_fn_viradd.rs:219:4
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn lookup_sym_name(file: &Vec<u8>, elf_eshdr_list: &Vec<ElfEShdr>, sym_name: &str) -> Result<Option<Vec<SymMap>>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `traceme` is never used
[INFO] [stdout]   --> src/ptrace.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn traceme() -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/toy_gdb.rs:47:97
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...c!(format!("ptrace::peek_text error.[instruction_res: {:?}, pid: {:?}, debug_point: {:x}]", instruction_res, pid, debug_point)) };
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 47 -         let instruction = if instruction_res.is_ok() { instruction_res.unwrap() } else { panic!(format!("ptrace::peek_text error.[instruction_res: {:?}, pid: {:?}, debug_point: {:x}]", instruction_res, pid, debug_point)) };
[INFO] [stdout] 47 +         let instruction = if instruction_res.is_ok() { instruction_res.unwrap() } else { panic!("ptrace::peek_text error.[instruction_res: {:?}, pid: {:?}, debug_point: {:x}]", instruction_res, pid, debug_point) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detach` is never used
[INFO] [stdout]   --> src/ptrace.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn detach(pid: Pid) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_tracesysgood` is never used
[INFO] [stdout]   --> src/ptrace.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()>  {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_emulate_option` is never used
[INFO] [stdout]   --> src/ptrace.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn set_emulate_option(pid: Pid) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_emulate_option_simple` is never used
[INFO] [stdout]   --> src/ptrace.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_option_simple` is never used
[INFO] [stdout]   --> src/ptrace.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn set_option_simple(pid: Pid, options: ptrace::Options) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_all` is never used
[INFO] [stdout]   --> src/ptrace.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn wait_all() -> Result<WaitStatus> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `syscall` is never used
[INFO] [stdout]   --> src/ptrace.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn syscall(pid: Pid) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_memory` is never used
[INFO] [stdout]   --> src/ptrace.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn read_memory(pid: Pid, addr: u64) -> Result<i64> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_data` is never used
[INFO] [stdout]    --> src/ptrace.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn write_data(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sysemu` is never used
[INFO] [stdout]    --> src/ptrace.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn sysemu(pid: Pid) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sysemu_single` is never used
[INFO] [stdout]    --> src/ptrace.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn sysemu_single(pid: Pid) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poke_user` is never used
[INFO] [stdout]    --> src/ptrace.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn poke_user(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_event` is never used
[INFO] [stdout]    --> src/ptrace.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn get_event(pid: Pid) -> Result<i64> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_siginfo` is never used
[INFO] [stdout]    --> src/ptrace.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn get_siginfo(pid: Pid) -> Result<libc::siginfo_t> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fn_vir_address` is never used
[INFO] [stdout]  --> src/check_fn_viradd.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn check_fn_vir_address(file_path: &str, sym_name: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/check_fn_viradd.rs:91:5
[INFO] [stdout]     |
[INFO] [stdout]  90 | struct EIdent {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout]  91 |     magic_num1: u8,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     elf_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  96 |     elf_endian: u8,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  97 |     elf_format_version: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     os_abi: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  99 |     os_abi_version: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     padding: [u8; 6],
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EIdent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/check_fn_viradd.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct ElfEPhdr {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 138 |     p_type: u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 139 |     p_flags: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 140 |     p_offset: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 141 |     p_vaddr: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 142 |     p_paddr: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 143 |     p_filesz: u64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 144 |     p_memsz: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 145 |     p_align: u64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ElfEPhdr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/check_fn_viradd.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | enum SHType {
[INFO] [stdout]     |      ------ variants in this enum
[INFO] [stdout] 192 |     SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3, SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7, SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10,
[INFO] [stdout]     |     ^^^^^^^^      ^^^^^^^^^^^^      ^^^^^^^^^^      ^^^^^^^^^^      ^^^^^^^^      ^^^^^^^^      ^^^^^^^^^^^      ^^^^^^^^      ^^^^^^^^^^      ^^^^^^^      ^^^^^^^^^
[INFO] [stdout] 193 |     SHT_DYNSYM = 11, SHT_SUNW_move = 0x6ffffffa, SHT_SUNW_COMDAT = 0x6ffffffb, SHT_SUNW_syminfo = 0x6ffffffc, SHT_SUNW_verdef = 0x6ffffffd, SHT_SUNW_verneed = 0x6ffffffe,
[INFO] [stdout]     |     ^^^^^^^^^^       ^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 194 |     SHT_SUNW_versym = 0x6fffffff, SHT_LOPROC = 0x70000000, SHT_HIPROC = 0x7fffffff, SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^               ^^^^^^^^^^               ^^^^^^^^^^               ^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SHType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lookup_sym_name` is never used
[INFO] [stdout]    --> src/check_fn_viradd.rs:219:4
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn lookup_sym_name(file: &Vec<u8>, elf_eshdr_list: &Vec<ElfEShdr>, sym_name: &str) -> Result<Option<Vec<SymMap>>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/toy_gdb.rs:47:97
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...c!(format!("ptrace::peek_text error.[instruction_res: {:?}, pid: {:?}, debug_point: {:x}]", instruction_res, pid, debug_point)) };
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 47 -         let instruction = if instruction_res.is_ok() { instruction_res.unwrap() } else { panic!(format!("ptrace::peek_text error.[instruction_res: {:?}, pid: {:?}, debug_point: {:x}]", instruction_res, pid, debug_point)) };
[INFO] [stdout] 47 +         let instruction = if instruction_res.is_ok() { instruction_res.unwrap() } else { panic!("ptrace::peek_text error.[instruction_res: {:?}, pid: {:?}, debug_point: {:x}]", instruction_res, pid, debug_point) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/toy_gdb.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         ptrace::poke_text(pid, debug_point, (instruction & !0xff | 0xcc) as u64);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let _ = ptrace::poke_text(pid, debug_point, (instruction & !0xff | 0xcc) as u64);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/toy_gdb.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         ptrace::setregs(pid, regs);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let _ = ptrace::setregs(pid, regs);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/toy_gdb.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         ptrace::poke_text(pid, debug_point, instruction as u64);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = ptrace::poke_text(pid, debug_point, instruction as u64);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/ptrace.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     ptrace::syscall(pid, None);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let _ = ptrace::syscall(pid, None);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/ptrace.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     ptrace::step(pid, None);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let _ = ptrace::step(pid, None);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | /     Errno::result(
[INFO] [stdout] 113 | |         unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::<libc::c_uint>(), std::ptr::null_mu...
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |         .map(drop);
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | /     Errno::result(
[INFO] [stdout] 122 | |         unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::<libc::c_uint>(), std::ptr::null_mu...
[INFO] [stdout] 123 | |     )
[INFO] [stdout] 124 | |         .map(drop);
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     Errno::result(
[INFO] [stdout] 149 | |         unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) }
[INFO] [stdout] 150 | |     )
[INFO] [stdout] 151 | |         .map(drop);
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/check_fn_viradd.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |         _ =>  panic!("{:?} is nothing.")
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 47 |         _ =>  panic!("{:?} is nothing.", ...)
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 47 |         _ =>  panic!("{}", "{:?} is nothing.")
[INFO] [stdout]    |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/toy_gdb.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         ptrace::poke_text(pid, debug_point, (instruction & !0xff | 0xcc) as u64);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let _ = ptrace::poke_text(pid, debug_point, (instruction & !0xff | 0xcc) as u64);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/toy_gdb.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         ptrace::setregs(pid, regs);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let _ = ptrace::setregs(pid, regs);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/toy_gdb.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         ptrace::poke_text(pid, debug_point, instruction as u64);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = ptrace::poke_text(pid, debug_point, instruction as u64);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/check_fn_viradd.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |         _ =>  panic!("{:?} is nothing.")
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 84 |         _ =>  panic!("{:?} is nothing.", ...)
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 84 |         _ =>  panic!("{}", "{:?} is nothing.")
[INFO] [stdout]    |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/ptrace.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     ptrace::syscall(pid, None);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let _ = ptrace::syscall(pid, None);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/ptrace.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     ptrace::step(pid, None);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let _ = ptrace::step(pid, None);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | /     Errno::result(
[INFO] [stdout] 113 | |         unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::<libc::c_uint>(), std::ptr::null_mu...
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |         .map(drop);
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | /     Errno::result(
[INFO] [stdout] 122 | |         unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::<libc::c_uint>(), std::ptr::null_mu...
[INFO] [stdout] 123 | |     )
[INFO] [stdout] 124 | |         .map(drop);
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     Errno::result(
[INFO] [stdout] 149 | |         unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) }
[INFO] [stdout] 150 | |     )
[INFO] [stdout] 151 | |         .map(drop);
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/check_fn_viradd.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |         _ =>  panic!("{:?} is nothing.")
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 47 |         _ =>  panic!("{:?} is nothing.", ...)
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 47 |         _ =>  panic!("{}", "{:?} is nothing.")
[INFO] [stdout]    |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/check_fn_viradd.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |         _ =>  panic!("{:?} is nothing.")
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 84 |         _ =>  panic!("{:?} is nothing.", ...)
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 84 |         _ =>  panic!("{}", "{:?} is nothing.")
[INFO] [stdout]    |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.09s
[INFO] running `Command { std: "docker" "inspect" "9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a", kill_on_drop: false }`
[INFO] [stdout] 9b4962b8a504e63fa15a5425725a13bd27eb25129cb6633b3610a0c9797c1c0a
