[INFO] cloning repository https://github.com/ErickElizondo/Tarea01_OS
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ErickElizondo/Tarea01_OS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErickElizondo%2FTarea01_OS", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErickElizondo%2FTarea01_OS'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2d269266b40810a0eb5a3e584517165783f34716
[INFO] checking ErickElizondo/Tarea01_OS against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErickElizondo%2FTarea01_OS" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ErickElizondo/Tarea01_OS
[INFO] finished tweaking git repo https://github.com/ErickElizondo/Tarea01_OS
[INFO] tweaked toml for git repo https://github.com/ErickElizondo/Tarea01_OS written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ErickElizondo/Tarea01_OS on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ErickElizondo/Tarea01_OS 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded multi-map v1.3.0
[INFO] [stderr]   Downloaded nix v0.13.1
[INFO] [stderr]   Downloaded libc v0.2.88
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a
[INFO] running `Command { std: "docker" "start" "7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.88
[INFO] [stderr]    Compiling nix v0.13.1
[INFO] [stderr]     Checking multi-map v1.3.0
[INFO] [stderr]     Checking rastreador v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[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 type
[INFO] [stdout]   --> src/main.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn traceme() -> std::io::Result<(())> {
[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] 24 - fn traceme() -> std::io::Result<(())> {
[INFO] [stdout] 24 + fn traceme() -> std::io::Result<()> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |         if (arg == "-V" && exit){//Data obtained from sys/user.h https://code.woboq.org/qt5/include/sys/user.h.html
[INFO] [stdout]    |            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -         if (arg == "-V" && exit){//Data obtained from sys/user.h https://code.woboq.org/qt5/include/sys/user.h.html
[INFO] [stdout] 59 +         if arg == "-V" && exit {//Data obtained from sys/user.h https://code.woboq.org/qt5/include/sys/user.h.html
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |         if (arg == "-v" || arg == "-V"){
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -         if (arg == "-v" || arg == "-V"){
[INFO] [stdout] 72 +         if arg == "-v" || arg == "-V" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | /     /// Whether we are exiting (rather than entering) a syscall.
[INFO] [stdout] 97 | |     /// ptrace is stopped both times when exiting and entering a syscall, we only
[INFO] [stdout] 98 | |     /// need to stop once.  
[INFO] [stdout]    | |____________________________^
[INFO] [stdout] 99 |       let mut exit = true;
[INFO] [stdout]    |       -------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 | /             /// syscall number is stored inside orig_rax register. Transalte from number
[INFO] [stdout] 113 | |             /// to syscall name using an array that stores all syscalls.  
[INFO] [stdout]     | |__________________________________________________________________________^
[INFO] [stdout] 114 |               let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize];
[INFO] [stdout]     |               ------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/main.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     while true{
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/main.rs:34:47
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut regs: user_regs_struct = mem::uninitialized();
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `nix::sys::ptrace::ptrace`: usages of `ptrace()` should be replaced with the specialized helper functions instead
[INFO] [stdout]    --> src/main.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...   ptrace( //Restart the stopped tracee as for PTRACE_CONT, but arrange for the tracee to be stopped at the next entry to or exi...
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::os::unix::process::CommandExt::before_exec`: should be unsafe, use `pre_exec` instead
[INFO] [stdout]   --> src/main.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let output = cmd.before_exec(traceme);
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize]; //get syscall name using regs.orig_rax
[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/main.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...   let mut description = system_call_description::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize]; //get syscall description using re...
[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/main.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let mut child = cmd.spawn().expect("child process failed");
[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/main.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |             let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize];
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/main.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let output = cmd.before_exec(traceme);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `user_regs_struct` does not permit being left uninitialized
[INFO] [stdout]   --> src/main.rs:34:42
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut regs: user_regs_struct = mem::uninitialized();
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          this code causes undefined behavior when executed
[INFO] [stdout]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `syscallName` should have a snake case name
[INFO] [stdout]   --> src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize]; //get syscall name using regs.orig_rax
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `syscall_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     waitpid(pid, None); //wait for process to change state
[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] 94 |     let _ = waitpid(pid, None); //wait for process to change state
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `syscallName` should have a snake case name
[INFO] [stdout]    --> src/main.rs:114:21
[INFO] [stdout]     |
[INFO] [stdout] 114 |             let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize];
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `syscall_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 | / ...   ptrace( //Restart the stopped tracee as for PTRACE_CONT, but arrange for the tracee to be stopped at the next entry to or e...
[INFO] [stdout] 124 | | ...       Request::PTRACE_SYSCALL,
[INFO] [stdout] 125 | | ...       pid,
[INFO] [stdout] 126 | | ...       ptr::null_mut(),
[INFO] [stdout] 127 | | ...       ptr::null_mut(),
[INFO] [stdout] 128 | | ...   );
[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] 123 |             let _ = ptrace( //Restart the stopped tracee as for PTRACE_CONT, but arrange for the tracee to be stopped at the next entry to or exit from a system call
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         waitpid(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] 131 |         let _ = waitpid(pid, None);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[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 type
[INFO] [stdout]   --> src/main.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn traceme() -> std::io::Result<(())> {
[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] 24 - fn traceme() -> std::io::Result<(())> {
[INFO] [stdout] 24 + fn traceme() -> std::io::Result<()> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |         if (arg == "-V" && exit){//Data obtained from sys/user.h https://code.woboq.org/qt5/include/sys/user.h.html
[INFO] [stdout]    |            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -         if (arg == "-V" && exit){//Data obtained from sys/user.h https://code.woboq.org/qt5/include/sys/user.h.html
[INFO] [stdout] 59 +         if arg == "-V" && exit {//Data obtained from sys/user.h https://code.woboq.org/qt5/include/sys/user.h.html
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |         if (arg == "-v" || arg == "-V"){
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -         if (arg == "-v" || arg == "-V"){
[INFO] [stdout] 72 +         if arg == "-v" || arg == "-V" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | /     /// Whether we are exiting (rather than entering) a syscall.
[INFO] [stdout] 97 | |     /// ptrace is stopped both times when exiting and entering a syscall, we only
[INFO] [stdout] 98 | |     /// need to stop once.  
[INFO] [stdout]    | |____________________________^
[INFO] [stdout] 99 |       let mut exit = true;
[INFO] [stdout]    |       -------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 | /             /// syscall number is stored inside orig_rax register. Transalte from number
[INFO] [stdout] 113 | |             /// to syscall name using an array that stores all syscalls.  
[INFO] [stdout]     | |__________________________________________________________________________^
[INFO] [stdout] 114 |               let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize];
[INFO] [stdout]     |               ------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/main.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     while true{
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/main.rs:34:47
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut regs: user_regs_struct = mem::uninitialized();
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `nix::sys::ptrace::ptrace`: usages of `ptrace()` should be replaced with the specialized helper functions instead
[INFO] [stdout]    --> src/main.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...   ptrace( //Restart the stopped tracee as for PTRACE_CONT, but arrange for the tracee to be stopped at the next entry to or exi...
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::os::unix::process::CommandExt::before_exec`: should be unsafe, use `pre_exec` instead
[INFO] [stdout]   --> src/main.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let output = cmd.before_exec(traceme);
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize]; //get syscall name using regs.orig_rax
[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/main.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...   let mut description = system_call_description::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize]; //get syscall description using re...
[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/main.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let mut child = cmd.spawn().expect("child process failed");
[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/main.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |             let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize];
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/main.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let output = cmd.before_exec(traceme);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `user_regs_struct` does not permit being left uninitialized
[INFO] [stdout]   --> src/main.rs:34:42
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut regs: user_regs_struct = mem::uninitialized();
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          this code causes undefined behavior when executed
[INFO] [stdout]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `syscallName` should have a snake case name
[INFO] [stdout]   --> src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize]; //get syscall name using regs.orig_rax
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `syscall_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     waitpid(pid, None); //wait for process to change state
[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] 94 |     let _ = waitpid(pid, None); //wait for process to change state
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `syscallName` should have a snake case name
[INFO] [stdout]    --> src/main.rs:114:21
[INFO] [stdout]     |
[INFO] [stdout] 114 |             let mut syscallName = system_call_names::SYSTEM_CALL_NAMES[(regs.orig_rax) as usize];
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `syscall_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 | / ...   ptrace( //Restart the stopped tracee as for PTRACE_CONT, but arrange for the tracee to be stopped at the next entry to or e...
[INFO] [stdout] 124 | | ...       Request::PTRACE_SYSCALL,
[INFO] [stdout] 125 | | ...       pid,
[INFO] [stdout] 126 | | ...       ptr::null_mut(),
[INFO] [stdout] 127 | | ...       ptr::null_mut(),
[INFO] [stdout] 128 | | ...   );
[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] 123 |             let _ = ptrace( //Restart the stopped tracee as for PTRACE_CONT, but arrange for the tracee to be stopped at the next entry to or exit from a system call
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         waitpid(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] 131 |         let _ = waitpid(pid, None);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.31s
[INFO] running `Command { std: "docker" "inspect" "7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a", kill_on_drop: false }`
[INFO] [stdout] 7262c5327866325c71bf912d725a15f762dc2058fccb40d5d6d9562e6bdd557a
