[INFO] cloning repository https://github.com/Hagi013/toy-container
[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-container" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-container", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-container'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c00a54a4836c9fbf2581f4a360cb22a1dad29b1e
[INFO] checking Hagi013/toy-container against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-container" "/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/Hagi013/toy-container
[INFO] finished tweaking git repo https://github.com/Hagi013/toy-container
[INFO] tweaked toml for git repo https://github.com/Hagi013/toy-container written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Hagi013/toy-container on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Hagi013/toy-container 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1879366c54197e7368fb66558f85a302eca354f99459c834c0dc2fdb07c79c23
[INFO] running `Command { std: "docker" "start" "-a" "1879366c54197e7368fb66558f85a302eca354f99459c834c0dc2fdb07c79c23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1879366c54197e7368fb66558f85a302eca354f99459c834c0dc2fdb07c79c23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1879366c54197e7368fb66558f85a302eca354f99459c834c0dc2fdb07c79c23", kill_on_drop: false }`
[INFO] [stdout] 1879366c54197e7368fb66558f85a302eca354f99459c834c0dc2fdb07c79c23
[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" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 362d4faf28f552a8a2b5da492920d0b64fc8affedc4cd0ff37e8f6c73c3ae89e
[INFO] running `Command { std: "docker" "start" "-a" "362d4faf28f552a8a2b5da492920d0b64fc8affedc4cd0ff37e8f6c73c3ae89e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]    Compiling anyhow v1.0.31
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking toy-container v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/mirror.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[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::time::Duration`
[INFO] [stdout]  --> src/mirror.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/mirror.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |         ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 -         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 199 +         count / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[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 imports: `BufReader`, `BufWriter`, and `Stderr`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[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: `Child`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::{Command, Stdio, Child};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileType`, `File`, and `set_permissions`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, and `symlink`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]   --> src/execution_multi_trace_1.rs:10:45
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/execution_multi_trace_1.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]   --> src/execution_multi_trace_1.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:567:9
[INFO] [stdout]     |
[INFO] [stdout] 567 |         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |         ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 567 -         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 567 +         count / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/mirror.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         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/mirror.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `emulate_flag` is assigned to, but never used
[INFO] [stdout]   --> src/mirror.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut emulate_flag = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_emulate_flag` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/mirror.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | /         emulate_flag = match handle_syscall(pid, status, regs, prev_orig_rax, root_pid) {
[INFO] [stdout] 49 | |             Ok(flag) => {
[INFO] [stdout] 50 | |                 if flag.is_none() { break; }
[INFO] [stdout] 51 | |                 flag.unwrap()
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |             },
[INFO] [stdout] 57 | |         };
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/mirror.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         emulate_flag = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_orig_rax`
[INFO] [stdout]   --> src/mirror.rs:82:73
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]   --> src/mirror.rs:82:93
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]    |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/mirror.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let signal: libc::siginfo_t = fetch_signal(pid).unwrap();
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/mirror.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 |                         let event = ptrace::get_event(pid).unwrap();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/mirror.rs:107:49
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   WaitStatus::Stopped(pid, signal::SIGTRAP) => {},
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]    --> src/mirror.rs:162:41
[INFO] [stdout]     |
[INFO] [stdout] 162 |         WaitStatus::PtraceEvent(p, sig, int) => {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `siginfo`
[INFO] [stdout]    --> src/mirror.rs:165:25
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid_num`
[INFO] [stdout]    --> src/mirror.rs:166:25
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     let pid_num: i64 = ptrace::get_event(pid)?;
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/mirror.rs:183:31
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/mirror.rs:225:28
[INFO] [stdout]     |
[INFO] [stdout] 225 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/mirror.rs:225:33
[INFO] [stdout]     |
[INFO] [stdout] 225 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[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 `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_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 `sysemu` is never used
[INFO] [stdout]    --> src/ptrace.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | 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:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/mirror.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ptrace::set_emulate_option(pid);
[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] 26 |     let _ = ptrace::set_emulate_option(pid);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/mirror.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         ptrace::attach(event_pid);
[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] 93 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/mirror.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |                         ptrace::set_emulate_option(event_pid);
[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] 94 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     fetch_signal(pid);
[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] 115 |                     let _ = fetch_signal(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         ptrace::attach(event_pid);
[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] 119 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                         ptrace::set_emulate_option(event_pid);
[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] 120 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Stderr`
[INFO] [stdout]  --> src/executor_1.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead};
[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: `FileType` and `set_permissions`
[INFO] [stdout]  --> src/executor_1.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionsExt` and `symlink`
[INFO] [stdout]  --> src/executor_1.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]  --> src/executor_1.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]   --> src/executor_1.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     ptrace::detach(pid);
[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] 124 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 ptrace::setregs(pid, new_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] 150 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 ptrace::setregs(pid, new_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] 158 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 ptrace::cont(waited_pid);
[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] 189 |                 let _ = ptrace::cont(waited_pid);
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 134 | /         loop {
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 138 |           return 0 as isize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/mirror.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[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::time::Duration`
[INFO] [stdout]  --> src/mirror.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/mirror.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |         ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 -         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 199 +         count / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[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: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/tracer_1.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |         ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 214 -         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 214 +         count / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stderr`
[INFO] [stdout]  --> src/container_pivot.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr};
[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: `FileType` and `set_permissions`
[INFO] [stdout]  --> src/container_pivot.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/print_emulator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[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::time::Duration`
[INFO] [stdout]  --> src/print_emulator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionsExt` and `symlink`
[INFO] [stdout]  --> src/container_pivot.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]  --> src/container_pivot.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/print_emulator.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |         ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 209 -         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 209 +         count / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chdir`
[INFO] [stdout]  --> src/escaping_chroot.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nix::unistd::{Pid, chroot, chdir, mkdir};
[INFO] [stdout]   |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `escaping_chroot::escape_chroot`
[INFO] [stdout]   --> src/container_pivot.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use escaping_chroot::escape_chroot;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stderr`
[INFO] [stdout]  --> src/container_1.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr};
[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: `FileType` and `set_permissions`
[INFO] [stdout]  --> src/container_1.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionsExt` and `symlink`
[INFO] [stdout]  --> src/container_1.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/container_1.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         loop {
[INFO] [stdout] 31 | |             sleep(Duration::from_secs(3));
[INFO] [stdout] 32 | |             spawn_sh("id", self_pid);
[INFO] [stdout] 33 | |             spawn_sh("ipcs", self_pid);
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 43 |           return 0 as isize;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[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/container_1.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     loop {
[INFO] [stdout] 58 | |         exec_sh("uname -n", root_pid);
[INFO] [stdout] 59 | |         sleep(Duration::from_secs(3));
[INFO] [stdout] 60 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 61 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/executor_1.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | /         loop {
[INFO] [stdout] 111 | |             // sleep(Duration::from_secs(3));
[INFO] [stdout] 112 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 113 |           return 0 as isize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[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/executor_1.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | /     loop {
[INFO] [stdout] 129 | |         sleep(Duration::from_secs(3));
[INFO] [stdout] 130 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 131 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/container_pivot.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | /         loop {
[INFO] [stdout] 50 | |             sleep(Duration::from_secs(3));
[INFO] [stdout] 51 | |             spawn_sh("id", self_pid);
[INFO] [stdout] 52 | |             spawn_sh("ipcs", self_pid);
[INFO] [stdout] ...  |
[INFO] [stdout] 60 | |             spawn_sh("ls -a .", self_pid);
[INFO] [stdout] 61 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 62 |           return 0 as isize;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[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/container_pivot.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     loop {
[INFO] [stdout] 77 | |         exec_sh("uname -n", root_pid);
[INFO] [stdout] 78 | |         sleep(Duration::from_secs(3));
[INFO] [stdout] 79 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 80 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/print_emulator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/container_1.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn dir(path: &str) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/print_emulator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/print_emulator.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |         ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 209 -         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 209 +         count / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, and `Stderr`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[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: `Child`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::{Command, Stdio, Child};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/container_1.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     prepare_bash();
[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] 45 |     let _ = prepare_bash();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/container_1.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 144 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileType`, `File`, and `set_permissions`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, and `symlink`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]   --> src/execution_multi_trace_1.rs:10:45
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/execution_multi_trace_1.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]   --> src/execution_multi_trace_1.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:567:9
[INFO] [stdout]     |
[INFO] [stdout] 567 |         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |         ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 567 -         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 567 +         count / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/container_pivot.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn dir(path: &str) {
[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 `escape_chroot` is never used
[INFO] [stdout]  --> src/escaping_chroot.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn escape_chroot(pid: Pid) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/mirror.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         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/mirror.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tracer_1.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         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 imports: `BufReader` and `Stderr`
[INFO] [stdout]  --> src/execution_trace_1.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead};
[INFO] [stdout]   |                      ^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tracer_1.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tracer_1.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tracer_1.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileType` and `set_permissions`
[INFO] [stdout]  --> src/execution_trace_1.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/tracer_1.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut emulate_flag = false;
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/tracer_1.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         emulate_flag = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionsExt` and `symlink`
[INFO] [stdout]  --> src/execution_trace_1.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/execution_trace_1.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]  --> src/execution_trace_1.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/execution_trace_1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]   --> src/execution_trace_1.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `emulate_flag` is assigned to, but never used
[INFO] [stdout]   --> src/mirror.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut emulate_flag = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_emulate_flag` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/mirror.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | /         emulate_flag = match handle_syscall(pid, status, regs, prev_orig_rax, root_pid) {
[INFO] [stdout] 49 | |             Ok(flag) => {
[INFO] [stdout] 50 | |                 if flag.is_none() { break; }
[INFO] [stdout] 51 | |                 flag.unwrap()
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |             },
[INFO] [stdout] 57 | |         };
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/mirror.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         emulate_flag = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_orig_rax`
[INFO] [stdout]   --> src/mirror.rs:82:73
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]   --> src/mirror.rs:82:93
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]    |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/mirror.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let signal: libc::siginfo_t = fetch_signal(pid).unwrap();
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/mirror.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 |                         let event = ptrace::get_event(pid).unwrap();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/mirror.rs:107:49
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   WaitStatus::Stopped(pid, signal::SIGTRAP) => {},
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]    --> src/mirror.rs:162:41
[INFO] [stdout]     |
[INFO] [stdout] 162 |         WaitStatus::PtraceEvent(p, sig, int) => {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `siginfo`
[INFO] [stdout]    --> src/mirror.rs:165:25
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid_num`
[INFO] [stdout]    --> src/mirror.rs:166:25
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     let pid_num: i64 = ptrace::get_event(pid)?;
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/mirror.rs:183:31
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]   --> src/tracer_1.rs:91:93
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]    |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/tracer_1.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let signal: libc::siginfo_t = fetch_signal(pid).unwrap();
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/tracer_1.rs:120:49
[INFO] [stdout]     |
[INFO] [stdout] 120 | ...                   WaitStatus::Stopped(pid, signal::SIGTRAP) => {},
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]    --> src/tracer_1.rs:175:41
[INFO] [stdout]     |
[INFO] [stdout] 175 |         WaitStatus::PtraceEvent(p, sig, int) => {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/tracer_1.rs:198:31
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/tracer_1.rs:242:28
[INFO] [stdout]     |
[INFO] [stdout] 242 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/tracer_1.rs:242:33
[INFO] [stdout]     |
[INFO] [stdout] 242 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tracer_1.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[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 `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_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 `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/container_pivot.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         chdir("/root");
[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] 31 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/container_pivot.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     prepare_bash();
[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] 64 |     let _ = prepare_bash();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/container_pivot.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 164 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/mirror.rs:225:28
[INFO] [stdout]     |
[INFO] [stdout] 225 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/mirror.rs:225:33
[INFO] [stdout]     |
[INFO] [stdout] 225 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[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 `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_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 `sysemu` is never used
[INFO] [stdout]    --> src/ptrace.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | 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:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tracer_1.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ptrace::set_emulate_option(pid);
[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] 26 |     let _ = ptrace::set_emulate_option(pid);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |                         ptrace::attach(event_pid);
[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] 102 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         ptrace::set_emulate_option(event_pid);
[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] 103 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:128:21
[INFO] [stdout]     |
[INFO] [stdout] 128 |                     fetch_signal(pid);
[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] 128 |                     let _ = fetch_signal(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:132:25
[INFO] [stdout]     |
[INFO] [stdout] 132 |                         ptrace::attach(event_pid);
[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] 132 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         ptrace::set_emulate_option(event_pid);
[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] 133 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     ptrace::detach(pid);
[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] 137 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 ptrace::setregs(pid, new_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] 163 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 ptrace::setregs(pid, new_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] 171 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:204:17
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 ptrace::cont(waited_pid);
[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] 204 |                 let _ = ptrace::cont(waited_pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     ptrace::setregs(pid, new_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] 252 |     let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         ptrace::sysemu_single(pid);
[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] 259 |         let _ = ptrace::sysemu_single(pid);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |         ptrace::sysemu(pid);
[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] 261 |         let _ = ptrace::sysemu(pid);
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/mirror.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ptrace::set_emulate_option(pid);
[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] 26 |     let _ = ptrace::set_emulate_option(pid);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/mirror.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         ptrace::attach(event_pid);
[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] 93 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/mirror.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |                         ptrace::set_emulate_option(event_pid);
[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] 94 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     fetch_signal(pid);
[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] 115 |                     let _ = fetch_signal(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         ptrace::attach(event_pid);
[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] 119 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |                         ptrace::set_emulate_option(event_pid);
[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] 120 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     ptrace::detach(pid);
[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] 124 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:561:5
[INFO] [stdout]     |
[INFO] [stdout] 520 | /     match status {
[INFO] [stdout] 521 | |         WaitStatus::PtraceEvent(pid, sig, int) => {
[INFO] [stdout] 522 | |             match sig {
[INFO] [stdout] 523 | |                 signal::SIGTRAP => {
[INFO] [stdout] ...   |
[INFO] [stdout] 559 | |         },
[INFO] [stdout] 560 | |     }
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 561 |       Ok(Some(false))
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[INFO] [stdout]   |                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 ptrace::setregs(pid, new_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] 150 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 ptrace::setregs(pid, new_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] 158 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mirror.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 ptrace::cont(waited_pid);
[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] 189 |                 let _ = ptrace::cont(waited_pid);
[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 import: `BufRead`
[INFO] [stdout]  --> src/executor_1.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead};
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]    --> src/executor_1.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let root_pid = getpid();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/print_emulator.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         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/print_emulator.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/print_emulator.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/print_emulator.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/execution_trace_1.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 115 | /         loop {
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 119 |           return 0 as isize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/executor_1.rs:225:4
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn dir(path: &str) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_status`
[INFO] [stdout]   --> src/print_emulator.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let end_status = ptrace::wait_pid(pid).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_status`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/print_emulator.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut emulate_flag = false;
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/print_emulator.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         emulate_flag = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]   --> src/print_emulator.rs:94:93
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]    |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]    --> src/print_emulator.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let signal: libc::siginfo_t = fetch_signal(pid).unwrap();
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/print_emulator.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |                         let event = ptrace::get_event(pid).unwrap();
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/print_emulator.rs:123:49
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...                   WaitStatus::Stopped(pid, signal::SIGTRAP) => {},
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/execution_trace_1.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | /     loop {
[INFO] [stdout] 141 | |         let status: WaitStatus = ptrace::wait_pid(pid).unwrap();
[INFO] [stdout] 142 | |         println!("status: {:?}", status);
[INFO] [stdout] 143 | |         let regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 201 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]    --> src/print_emulator.rs:170:41
[INFO] [stdout]     |
[INFO] [stdout] 170 |         WaitStatus::PtraceEvent(p, sig, int) => {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `siginfo`
[INFO] [stdout]    --> src/print_emulator.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid_num`
[INFO] [stdout]    --> src/print_emulator.rs:175:25
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     let pid_num: i64 = ptrace::get_event(pid)?;
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/print_emulator.rs:193:31
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/tracer_1.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |         ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 214 -         (count / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 214 +         count / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/print_emulator.rs:237:28
[INFO] [stdout]     |
[INFO] [stdout] 237 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let mut child_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: `code`
[INFO] [stdout]    --> src/print_emulator.rs:237:33
[INFO] [stdout]     |
[INFO] [stdout] 237 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/print_emulator.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |     let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_orig_rax`
[INFO] [stdout]    --> src/print_emulator.rs:242:46
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn emulate(pid: Pid, regs: user_regs_struct, prev_orig_rax: u64) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_syscall_before_exit` is never used
[INFO] [stdout]    --> src/print_emulator.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) {
[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 `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] 
[INFO] [stdout] warning: function `cont` is never used
[INFO] [stdout]   --> src/ptrace.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn cont(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_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 `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 let mut contents = fs::read_to_string(read_guard.as_path()).unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:244:17
[INFO] [stdout]     |
[INFO] [stdout] 244 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/executor_1.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         chdir("/root");
[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] 60 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/executor_1.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |             mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[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] 97 |             let _ = mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/executor_1.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     prepare_bash();
[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] 115 |     let _ = prepare_bash();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/executor_1.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 215 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/executor_1.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 | /     mount::<Path, Path, str, str>(
[INFO] [stdout] 241 | |         Some(source_path),
[INFO] [stdout] 242 | |         target_path.as_path(),
[INFO] [stdout] 243 | |         Some("ext4"),
[INFO] [stdout] 244 | |         MsFlags::MS_BIND | MsFlags::MS_REC,
[INFO] [stdout] 245 | |         None,
[INFO] [stdout] 246 | |     );
[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] 240 |     let _ = mount::<Path, Path, str, str>(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/print_emulator.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         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/print_emulator.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/print_emulator.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/print_emulator.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_status`
[INFO] [stdout]   --> src/print_emulator.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let end_status = ptrace::wait_pid(pid).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_status`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/print_emulator.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut emulate_flag = false;
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/print_emulator.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         emulate_flag = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]   --> src/print_emulator.rs:94:93
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]    |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]    --> src/print_emulator.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let signal: libc::siginfo_t = fetch_signal(pid).unwrap();
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/print_emulator.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |                         let event = ptrace::get_event(pid).unwrap();
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Stderr`
[INFO] [stdout]  --> src/executor_1.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead};
[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: `FileType` and `set_permissions`
[INFO] [stdout]  --> src/executor_1.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionsExt` and `symlink`
[INFO] [stdout]  --> src/executor_1.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/print_emulator.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ptrace::set_emulate_option(pid);
[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] 26 |     let _ = ptrace::set_emulate_option(pid);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]  --> src/executor_1.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stderr`
[INFO] [stdout]  --> src/container_pivot.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr};
[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: `RwLockReadGuard`
[INFO] [stdout]   --> src/executor_1.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileType` and `set_permissions`
[INFO] [stdout]  --> src/container_pivot.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionsExt` and `symlink`
[INFO] [stdout]  --> src/container_pivot.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]  --> src/container_pivot.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chdir`
[INFO] [stdout]  --> src/escaping_chroot.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nix::unistd::{Pid, chroot, chdir, mkdir};
[INFO] [stdout]   |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `escaping_chroot::escape_chroot`
[INFO] [stdout]   --> src/container_pivot.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use escaping_chroot::escape_chroot;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/print_emulator.rs:123:49
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...                   WaitStatus::Stopped(pid, signal::SIGTRAP) => {},
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]    --> src/print_emulator.rs:170:41
[INFO] [stdout]     |
[INFO] [stdout] 170 |         WaitStatus::PtraceEvent(p, sig, int) => {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `siginfo`
[INFO] [stdout]    --> src/print_emulator.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid_num`
[INFO] [stdout]    --> src/print_emulator.rs:175:25
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     let pid_num: i64 = ptrace::get_event(pid)?;
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/print_emulator.rs:193:31
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/print_emulator.rs:237:28
[INFO] [stdout]     |
[INFO] [stdout] 237 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/print_emulator.rs:237:33
[INFO] [stdout]     |
[INFO] [stdout] 237 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:458:19
[INFO] [stdout]     |
[INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_orig_rax`
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:458:73
[INFO] [stdout]     |
[INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:458:93
[INFO] [stdout]     |
[INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         ptrace::attach(event_pid);
[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] 105 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         ptrace::set_emulate_option(event_pid);
[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] 106 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |                     fetch_signal(pid);
[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] 131 |                     let _ = fetch_signal(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:135:25
[INFO] [stdout]     |
[INFO] [stdout] 135 |                         ptrace::attach(event_pid);
[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] 135 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:136:25
[INFO] [stdout]     |
[INFO] [stdout] 136 |                         ptrace::set_emulate_option(event_pid);
[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] 136 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     ptrace::detach(pid);
[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] 140 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:544:17
[INFO] [stdout]     |
[INFO] [stdout] 544 |             let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |             let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:521:43
[INFO] [stdout]     |
[INFO] [stdout] 521 |         WaitStatus::PtraceEvent(pid, sig, int) => {
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn dir(path: &str) {
[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 `make_fifo` is never used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:446:4
[INFO] [stdout]     |
[INFO] [stdout] 446 | fn make_fifo(file_path: &str, mode: Mode) -> Result<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cont` is never used
[INFO] [stdout]   --> src/ptrace.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn cont(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_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 `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/print_emulator.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |     let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_orig_rax`
[INFO] [stdout]    --> src/print_emulator.rs:242:46
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn emulate(pid: Pid, regs: user_regs_struct, prev_orig_rax: u64) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_syscall_before_exit` is never used
[INFO] [stdout]    --> src/print_emulator.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) {
[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 `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] 
[INFO] [stdout] warning: function `cont` is never used
[INFO] [stdout]   --> src/ptrace.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn cont(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_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 `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/container_pivot.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | /         loop {
[INFO] [stdout] 50 | |             sleep(Duration::from_secs(3));
[INFO] [stdout] 51 | |             spawn_sh("id", self_pid);
[INFO] [stdout] 52 | |             spawn_sh("ipcs", self_pid);
[INFO] [stdout] ...  |
[INFO] [stdout] 60 | |             spawn_sh("ls -a .", self_pid);
[INFO] [stdout] 61 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 62 |           return 0 as isize;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 ptrace::setregs(pid, new_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] 166 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 ptrace::cont(waited_pid);
[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] 199 |                 let _ = ptrace::cont(waited_pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     ptrace::setregs(pid, new_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] 247 |     let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         ptrace::sysemu_single(pid);
[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] 251 |         let _ = ptrace::sysemu_single(pid);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         ptrace::sysemu(pid);
[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] 253 |         let _ = ptrace::sysemu(pid);
[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 imports: `BufReader`, `BufWriter`, and `Stderr`
[INFO] [stdout]  --> src/execution_trace_2.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[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 `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileType`, `File`, and `set_permissions`
[INFO] [stdout]  --> src/execution_trace_2.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, and `symlink`
[INFO] [stdout]  --> src/execution_trace_2.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd`
[INFO] [stdout]  --> src/execution_trace_2.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::os::unix::io::{AsRawFd, FromRawFd};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/container_pivot.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     loop {
[INFO] [stdout] 77 | |         exec_sh("uname -n", root_pid);
[INFO] [stdout] 78 | |         sleep(Duration::from_secs(3));
[INFO] [stdout] 79 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 80 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/execution_multi_trace_1.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         chdir("/root");
[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] 73 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/container_pivot.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn dir(path: &str) {
[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 `escape_chroot` is never used
[INFO] [stdout]  --> src/escaping_chroot.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn escape_chroot(pid: Pid) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/container_pivot.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         chdir("/root");
[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] 31 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/execution_trace_2.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/container_pivot.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     prepare_bash();
[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] 64 |     let _ = prepare_bash();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |             mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[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] 110 |             let _ = mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]  --> src/execution_trace_2.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     prepare_bash();
[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] 140 |     let _ = prepare_bash();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/execution_trace_2.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/container_pivot.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 164 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]   --> src/execution_trace_2.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     ptrace::set_emulate_option(pid);
[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] 152 |     let _ = ptrace::set_emulate_option(pid);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/execution_trace_2.rs:395:21
[INFO] [stdout]     |
[INFO] [stdout] 395 |                     (regs.rdx / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |                     ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 395 -                     (regs.rdx / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 395 +                     regs.rdx / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |             handle_trap(pid, child_status);
[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] 178 |             let _ = handle_trap(pid, child_status);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 ptrace::sysemu_single(pid);
[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] 229 |                 let _ = ptrace::sysemu_single(pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:231:17
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 ptrace::sysemu(pid);
[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] 231 |                 let _ = ptrace::sysemu(pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 411 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:436:5
[INFO] [stdout]     |
[INFO] [stdout] 436 | /     mount::<Path, Path, str, str>(
[INFO] [stdout] 437 | |         Some(source_path),
[INFO] [stdout] 438 | |         target_path.as_path(),
[INFO] [stdout] 439 | |         Some("ext4"),
[INFO] [stdout] 440 | |         MsFlags::MS_BIND | MsFlags::MS_REC,
[INFO] [stdout] 441 | |         None,
[INFO] [stdout] 442 | |     );
[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] 436 |     let _ = mount::<Path, Path, str, str>(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Stderr`
[INFO] [stdout]  --> src/execution_trace_1.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead};
[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 `Result` that must be used
[INFO] [stdout]   --> src/print_emulator.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ptrace::set_emulate_option(pid);
[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] 26 |     let _ = ptrace::set_emulate_option(pid);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:471:21
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     ptrace::detach(pid);
[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] 471 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/execution_trace_1.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead};
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:489:17
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 ptrace::setregs(pid, new_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] 489 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:499:17
[INFO] [stdout]     |
[INFO] [stdout] 499 |                 ptrace::setregs(pid, new_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] 499 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         ptrace::attach(event_pid);
[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] 105 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:507:17
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 ptrace::setregs(pid, new_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] 507 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         ptrace::set_emulate_option(event_pid);
[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] 106 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 |             ptrace::setregs(pid, child_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] 552 |             let _ = ptrace::setregs(pid, child_regs);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |                     fetch_signal(pid);
[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] 131 |                     let _ = fetch_signal(pid);
[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/print_emulator.rs:135:25
[INFO] [stdout]     |
[INFO] [stdout] 135 |                         ptrace::attach(event_pid);
[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] 135 |                         let _ = ptrace::attach(event_pid);
[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/print_emulator.rs:136:25
[INFO] [stdout]     |
[INFO] [stdout] 136 |                         ptrace::set_emulate_option(event_pid);
[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] 136 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     ptrace::detach(pid);
[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] 140 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 ptrace::setregs(pid, new_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] 166 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 ptrace::cont(waited_pid);
[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] 199 |                 let _ = ptrace::cont(waited_pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     ptrace::setregs(pid, new_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] 247 |     let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         ptrace::sysemu_single(pid);
[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] 251 |         let _ = ptrace::sysemu_single(pid);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/print_emulator.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         ptrace::sysemu(pid);
[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] 253 |         let _ = ptrace::sysemu(pid);
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 134 | /         loop {
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 138 |           return 0 as isize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[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/execution_multi_trace_1.rs:561:5
[INFO] [stdout]     |
[INFO] [stdout] 520 | /     match status {
[INFO] [stdout] 521 | |         WaitStatus::PtraceEvent(pid, sig, int) => {
[INFO] [stdout] 522 | |             match sig {
[INFO] [stdout] 523 | |                 signal::SIGTRAP => {
[INFO] [stdout] ...   |
[INFO] [stdout] 559 | |         },
[INFO] [stdout] 560 | |     }
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 561 |       Ok(Some(false))
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/executor_1.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | /         loop {
[INFO] [stdout] 111 | |             // sleep(Duration::from_secs(3));
[INFO] [stdout] 112 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 113 |           return 0 as isize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[INFO] [stdout]   |                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stderr`
[INFO] [stdout]  --> src/container_1.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr};
[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: `BufRead`
[INFO] [stdout]  --> src/execution_multi_trace_1.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/executor_1.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | /     loop {
[INFO] [stdout] 129 | |         sleep(Duration::from_secs(3));
[INFO] [stdout] 130 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 131 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/executor_1.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead};
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]    --> src/executor_1.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let root_pid = getpid();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileType` and `set_permissions`
[INFO] [stdout]  --> src/container_1.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileType` and `set_permissions`
[INFO] [stdout]  --> src/execution_trace_1.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/executor_1.rs:225:4
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn dir(path: &str) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionsExt` and `symlink`
[INFO] [stdout]  --> src/execution_trace_1.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionsExt` and `symlink`
[INFO] [stdout]  --> src/container_1.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/execution_trace_1.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]  --> src/execution_trace_1.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/container_1.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         loop {
[INFO] [stdout] 31 | |             sleep(Duration::from_secs(3));
[INFO] [stdout] 32 | |             spawn_sh("id", self_pid);
[INFO] [stdout] 33 | |             spawn_sh("ipcs", self_pid);
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 43 |           return 0 as isize;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/execution_trace_1.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]   --> src/execution_trace_1.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/container_1.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     loop {
[INFO] [stdout] 58 | |         exec_sh("uname -n", root_pid);
[INFO] [stdout] 59 | |         sleep(Duration::from_secs(3));
[INFO] [stdout] 60 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 61 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let mut child_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/execution_multi_trace_1.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 let mut contents = fs::read_to_string(read_guard.as_path()).unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tracer_1.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         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 imports: `BufReader`, `BufWriter`, and `Stderr`
[INFO] [stdout]  --> src/execution_trace_2.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[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 `Result` that must be used
[INFO] [stdout]   --> src/executor_1.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         chdir("/root");
[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] 60 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:244:17
[INFO] [stdout]     |
[INFO] [stdout] 244 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:458:19
[INFO] [stdout]     |
[INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileType`, `File`, and `set_permissions`
[INFO] [stdout]  --> src/execution_trace_2.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File};
[INFO] [stdout]   |                                     ^^^^^^^^  ^^^^^^^^^^^^^^^                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, and `symlink`
[INFO] [stdout]  --> src/execution_trace_2.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd`
[INFO] [stdout]  --> src/execution_trace_2.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::os::unix::io::{AsRawFd, FromRawFd};
[INFO] [stdout]   |                         ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/execution_trace_2.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chroot`
[INFO] [stdout]  --> src/execution_trace_2.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/execution_trace_2.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]   --> src/execution_trace_2.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/execution_trace_2.rs:395:21
[INFO] [stdout]     |
[INFO] [stdout] 395 |                     (regs.rdx / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout]     |                     ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 395 -                     (regs.rdx / (std::mem::size_of::<u64>() as u64))
[INFO] [stdout] 395 +                     regs.rdx / (std::mem::size_of::<u64>() as u64) 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_orig_rax`
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:458:73
[INFO] [stdout]     |
[INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:458:93
[INFO] [stdout]     |
[INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:544:17
[INFO] [stdout]     |
[INFO] [stdout] 544 |             let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |             let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:521:43
[INFO] [stdout]     |
[INFO] [stdout] 521 |         WaitStatus::PtraceEvent(pid, sig, int) => {
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn dir(path: &str) {
[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 `make_fifo` is never used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:446:4
[INFO] [stdout]     |
[INFO] [stdout] 446 | fn make_fifo(file_path: &str, mode: Mode) -> Result<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cont` is never used
[INFO] [stdout]   --> src/ptrace.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn cont(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_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 `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/executor_1.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |             mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[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] 97 |             let _ = mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/executor_1.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     prepare_bash();
[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] 115 |     let _ = prepare_bash();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/executor_1.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 215 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/executor_1.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 | /     mount::<Path, Path, str, str>(
[INFO] [stdout] 241 | |         Some(source_path),
[INFO] [stdout] 242 | |         target_path.as_path(),
[INFO] [stdout] 243 | |         Some("ext4"),
[INFO] [stdout] 244 | |         MsFlags::MS_BIND | MsFlags::MS_REC,
[INFO] [stdout] 245 | |         None,
[INFO] [stdout] 246 | |     );
[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] 240 |     let _ = mount::<Path, Path, str, str>(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tracer_1.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tracer_1.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tracer_1.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/execution_multi_trace_1.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         chdir("/root");
[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] 73 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/tracer_1.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut emulate_flag = false;
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `emulate_flag` is never read
[INFO] [stdout]   --> src/tracer_1.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         emulate_flag = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |             mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[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] 110 |             let _ = mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]   --> src/tracer_1.rs:91:93
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]    |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/tracer_1.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let signal: libc::siginfo_t = fetch_signal(pid).unwrap();
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/tracer_1.rs:120:49
[INFO] [stdout]     |
[INFO] [stdout] 120 | ...                   WaitStatus::Stopped(pid, signal::SIGTRAP) => {},
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `int`
[INFO] [stdout]    --> src/tracer_1.rs:175:41
[INFO] [stdout]     |
[INFO] [stdout] 175 |         WaitStatus::PtraceEvent(p, sig, int) => {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/tracer_1.rs:198:31
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/tracer_1.rs:242:28
[INFO] [stdout]     |
[INFO] [stdout] 242 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/tracer_1.rs:242:33
[INFO] [stdout]     |
[INFO] [stdout] 242 |         WaitStatus::Exited(pid, code) => true,
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tracer_1.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[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 `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_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 `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     prepare_bash();
[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] 140 |     let _ = prepare_bash();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     ptrace::set_emulate_option(pid);
[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] 152 |     let _ = ptrace::set_emulate_option(pid);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |             handle_trap(pid, child_status);
[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] 178 |             let _ = handle_trap(pid, child_status);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 ptrace::sysemu_single(pid);
[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] 229 |                 let _ = ptrace::sysemu_single(pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:231:17
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 ptrace::sysemu(pid);
[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] 231 |                 let _ = ptrace::sysemu(pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 411 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:436:5
[INFO] [stdout]     |
[INFO] [stdout] 436 | /     mount::<Path, Path, str, str>(
[INFO] [stdout] 437 | |         Some(source_path),
[INFO] [stdout] 438 | |         target_path.as_path(),
[INFO] [stdout] 439 | |         Some("ext4"),
[INFO] [stdout] 440 | |         MsFlags::MS_BIND | MsFlags::MS_REC,
[INFO] [stdout] 441 | |         None,
[INFO] [stdout] 442 | |     );
[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] 436 |     let _ = mount::<Path, Path, str, str>(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:471:21
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     ptrace::detach(pid);
[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] 471 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:489:17
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 ptrace::setregs(pid, new_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] 489 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:499:17
[INFO] [stdout]     |
[INFO] [stdout] 499 |                 ptrace::setregs(pid, new_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] 499 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:507:17
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 ptrace::setregs(pid, new_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] 507 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_multi_trace_1.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 |             ptrace::setregs(pid, child_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] 552 |             let _ = ptrace::setregs(pid, child_regs);
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tracer_1.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ptrace::set_emulate_option(pid);
[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] 26 |     let _ = ptrace::set_emulate_option(pid);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |                         ptrace::attach(event_pid);
[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] 102 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         ptrace::set_emulate_option(event_pid);
[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] 103 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:128:21
[INFO] [stdout]     |
[INFO] [stdout] 128 |                     fetch_signal(pid);
[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] 128 |                     let _ = fetch_signal(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:132:25
[INFO] [stdout]     |
[INFO] [stdout] 132 |                         ptrace::attach(event_pid);
[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] 132 |                         let _ = ptrace::attach(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         ptrace::set_emulate_option(event_pid);
[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] 133 |                         let _ = ptrace::set_emulate_option(event_pid);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     ptrace::detach(pid);
[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] 137 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 ptrace::setregs(pid, new_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] 163 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 ptrace::setregs(pid, new_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] 171 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:204:17
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 ptrace::cont(waited_pid);
[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] 204 |                 let _ = ptrace::cont(waited_pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     ptrace::setregs(pid, new_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] 252 |     let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         ptrace::sysemu_single(pid);
[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] 259 |         let _ = ptrace::sysemu_single(pid);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tracer_1.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |         ptrace::sysemu(pid);
[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] 261 |         let _ = ptrace::sysemu(pid);
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]    --> src/execution_trace_1.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let root_pid = getpid();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_enter_stop` is never read
[INFO] [stdout]    --> src/execution_trace_1.rs:137:35
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let mut is_enter_stop: bool = false;
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_enter_stop` is never read
[INFO] [stdout]    --> src/execution_trace_1.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         is_enter_stop = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/execution_trace_1.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 115 | /         loop {
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 119 |           return 0 as isize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/container_1.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn dir(path: &str) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/execution_trace_2.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 132 | /         loop {
[INFO] [stdout] ...   |
[INFO] [stdout] 135 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 136 |           return 0 as isize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/execution_trace_2.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 132 | /         loop {
[INFO] [stdout] ...   |
[INFO] [stdout] 135 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 136 |           return 0 as isize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ unreachable statement
[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/execution_trace_1.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | /     loop {
[INFO] [stdout] 141 | |         let status: WaitStatus = ptrace::wait_pid(pid).unwrap();
[INFO] [stdout] 142 | |         println!("status: {:?}", status);
[INFO] [stdout] 143 | |         let regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 201 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/execution_trace_1.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn dir(path: &str) {
[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 `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] 
[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 `cont` is never used
[INFO] [stdout]   --> src/ptrace.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn cont(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 `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_step` is never used
[INFO] [stdout]   --> src/ptrace.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn syscall_step(pid: Pid) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setregs` is never used
[INFO] [stdout]   --> src/ptrace.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn setregs(pid: Pid, urs: user_regs_struct) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sysemu` is never used
[INFO] [stdout]    --> src/ptrace.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | 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:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(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:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | 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:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn get_siginfo(pid: Pid) -> Result<libc::siginfo_t> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/container_1.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     prepare_bash();
[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] 45 |     let _ = prepare_bash();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/container_1.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 144 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/execution_trace_1.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         chdir("/root");
[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] 65 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/execution_trace_1.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead};
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[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] 102 |             let _ = mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     prepare_bash();
[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 _ = prepare_bash();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     ptrace::set_tracesysgood(pid);
[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] 132 |     let _ = ptrace::set_tracesysgood(pid);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 285 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 | /     mount::<Path, Path, str, str>(
[INFO] [stdout] 311 | |         Some(source_path),
[INFO] [stdout] 312 | |         target_path.as_path(),
[INFO] [stdout] 313 | |         Some("ext4"),
[INFO] [stdout] 314 | |         MsFlags::MS_BIND | MsFlags::MS_REC,
[INFO] [stdout] 315 | |         None,
[INFO] [stdout] 316 | |     );
[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] 310 |     let _ = mount::<Path, Path, str, str>(
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]    --> src/execution_trace_1.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let root_pid = getpid();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_enter_stop` is never read
[INFO] [stdout]    --> src/execution_trace_1.rs:137:35
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let mut is_enter_stop: bool = false;
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_enter_stop` is never read
[INFO] [stdout]    --> src/execution_trace_1.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         is_enter_stop = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/execution_trace_2.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[INFO] [stdout]   |                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/execution_trace_2.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/execution_trace_2.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[INFO] [stdout]   |                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/execution_trace_2.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter};
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/execution_trace_1.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn dir(path: &str) {
[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 `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] 
[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 `cont` is never used
[INFO] [stdout]   --> src/ptrace.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn cont(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 `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_step` is never used
[INFO] [stdout]   --> src/ptrace.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn syscall_step(pid: Pid) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setregs` is never used
[INFO] [stdout]   --> src/ptrace.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn setregs(pid: Pid, urs: user_regs_struct) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sysemu` is never used
[INFO] [stdout]    --> src/ptrace.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | 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:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(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:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | 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:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn get_siginfo(pid: Pid) -> Result<libc::siginfo_t> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/execution_trace_1.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         chdir("/root");
[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] 65 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[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] 102 |             let _ = mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     prepare_bash();
[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 _ = prepare_bash();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     ptrace::set_tracesysgood(pid);
[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] 132 |     let _ = ptrace::set_tracesysgood(pid);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 285 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_1.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 | /     mount::<Path, Path, str, str>(
[INFO] [stdout] 311 | |         Some(source_path),
[INFO] [stdout] 312 | |         target_path.as_path(),
[INFO] [stdout] 313 | |         Some("ext4"),
[INFO] [stdout] 314 | |         MsFlags::MS_BIND | MsFlags::MS_REC,
[INFO] [stdout] 315 | |         None,
[INFO] [stdout] 316 | |     );
[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] 310 |     let _ = mount::<Path, Path, str, str>(
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_trace_2.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         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/execution_trace_2.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let mut contents = fs::read_to_string(read_guard.as_path()).unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_trace_2.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `regs`
[INFO] [stdout]    --> src/execution_trace_2.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_regs`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_trace_2.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         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/execution_trace_2.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let mut contents = fs::read_to_string(read_guard.as_path()).unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/execution_trace_2.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `regs`
[INFO] [stdout]    --> src/execution_trace_2.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 |             let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_regs`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/execution_trace_2.rs:367:19
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_orig_rax`
[INFO] [stdout]    --> src/execution_trace_2.rs:367:73
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]    --> src/execution_trace_2.rs:367:93
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/execution_trace_2.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn dir(path: &str) {
[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 `make_fifo` is never used
[INFO] [stdout]    --> src/execution_trace_2.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn make_fifo(file_path: &str, mode: Mode) -> Result<PathBuf> {
[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] 
[INFO] [stdout] warning: function `cont` is never used
[INFO] [stdout]   --> src/ptrace.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn cont(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 `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(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:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn get_event(pid: Pid) -> Result<i64> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pid`
[INFO] [stdout]    --> src/execution_trace_2.rs:367:19
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_orig_rax`
[INFO] [stdout]    --> src/execution_trace_2.rs:367:73
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_pid`
[INFO] [stdout]    --> src/execution_trace_2.rs:367:93
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result<Option<bool>> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir` is never used
[INFO] [stdout]    --> src/execution_trace_2.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn dir(path: &str) {
[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 `make_fifo` is never used
[INFO] [stdout]    --> src/execution_trace_2.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn make_fifo(file_path: &str, mode: Mode) -> Result<PathBuf> {
[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] 
[INFO] [stdout] warning: function `cont` is never used
[INFO] [stdout]   --> src/ptrace.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn cont(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 `pokeuser` is never used
[INFO] [stdout]    --> src/ptrace.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn pokeuser(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:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn get_event(pid: Pid) -> Result<i64> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/execution_trace_2.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         chdir("/root");
[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] 72 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[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] 109 |             let _ = mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     prepare_bash();
[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] 138 |     let _ = prepare_bash();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     ptrace::set_tracesysgood(pid);
[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] 149 |     let _ = ptrace::set_tracesysgood(pid);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 ptrace::sysemu_single(pid);
[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] 216 |                 let _ = ptrace::sysemu_single(pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 ptrace::sysemu(pid);
[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] 218 |                 let _ = ptrace::sysemu(pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 320 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 | /     mount::<Path, Path, str, str>(
[INFO] [stdout] 346 | |         Some(source_path),
[INFO] [stdout] 347 | |         target_path.as_path(),
[INFO] [stdout] 348 | |         Some("ext4"),
[INFO] [stdout] 349 | |         MsFlags::MS_BIND | MsFlags::MS_REC,
[INFO] [stdout] 350 | |         None,
[INFO] [stdout] 351 | |     );
[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] 345 |     let _ = mount::<Path, Path, str, str>(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:377:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                     ptrace::detach(pid);
[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] 377 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/execution_trace_2.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         chdir("/root");
[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] 72 |         let _ = chdir("/root");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[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] 109 |             let _ = mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     prepare_bash();
[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] 138 |     let _ = prepare_bash();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     ptrace::set_tracesysgood(pid);
[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] 149 |     let _ = ptrace::set_tracesysgood(pid);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 ptrace::sysemu_single(pid);
[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] 216 |                 let _ = ptrace::sysemu_single(pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:413:17
[INFO] [stdout]     |
[INFO] [stdout] 413 |                 ptrace::setregs(pid, new_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] 413 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 ptrace::sysemu(pid);
[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] 218 |                 let _ = ptrace::sysemu(pid);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 | ...   copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[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] 320 |             let _ = copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 | /     mount::<Path, Path, str, str>(
[INFO] [stdout] 346 | |         Some(source_path),
[INFO] [stdout] 347 | |         target_path.as_path(),
[INFO] [stdout] 348 | |         Some("ext4"),
[INFO] [stdout] 349 | |         MsFlags::MS_BIND | MsFlags::MS_REC,
[INFO] [stdout] 350 | |         None,
[INFO] [stdout] 351 | |     );
[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] 345 |     let _ = mount::<Path, Path, str, str>(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:377:21
[INFO] [stdout]     |
[INFO] [stdout] 377 |                     ptrace::detach(pid);
[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] 377 |                     let _ = ptrace::detach(pid);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 ptrace::setregs(pid, new_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] 421 |                 let _ = ptrace::setregs(pid, new_regs);
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:413:17
[INFO] [stdout]     |
[INFO] [stdout] 413 |                 ptrace::setregs(pid, new_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] 413 |                 let _ = ptrace::setregs(pid, new_regs);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/execution_trace_2.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 ptrace::setregs(pid, new_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] 421 |                 let _ = ptrace::setregs(pid, new_regs);
[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:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     Errno::result(
[INFO] [stdout] 102 | |         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] 105 | |         .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] 101 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | /     Errno::result(
[INFO] [stdout] 111 | |         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] 112 | |     )
[INFO] [stdout] 113 | |         .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] 110 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ptrace.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     Errno::result(
[INFO] [stdout] 120 | |         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] 121 | |     )
[INFO] [stdout] 122 | |         .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] 119 |     let _ = Errno::result(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.80s
[INFO] running `Command { std: "docker" "inspect" "362d4faf28f552a8a2b5da492920d0b64fc8affedc4cd0ff37e8f6c73c3ae89e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "362d4faf28f552a8a2b5da492920d0b64fc8affedc4cd0ff37e8f6c73c3ae89e", kill_on_drop: false }`
[INFO] [stdout] 362d4faf28f552a8a2b5da492920d0b64fc8affedc4cd0ff37e8f6c73c3ae89e
