[INFO] cloning repository https://github.com/mokua/crust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mokua/crust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmokua%2Fcrust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmokua%2Fcrust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a4d06650c2d4a53ea14f8679fbb700e98cce9454
[INFO] checking mokua/crust against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmokua%2Fcrust" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config
[INFO] started tweaking git repo https://github.com/mokua/crust
[INFO] finished tweaking git repo https://github.com/mokua/crust
[INFO] tweaked toml for git repo https://github.com/mokua/crust written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mokua/crust 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/mokua/crust 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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 7a6c591ca4f12a09e1678cd724f2c0abe6660d92bc5c90bacc5b8e3e4df67b2b
[INFO] running `Command { std: "docker" "start" "-a" "7a6c591ca4f12a09e1678cd724f2c0abe6660d92bc5c90bacc5b8e3e4df67b2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7a6c591ca4f12a09e1678cd724f2c0abe6660d92bc5c90bacc5b8e3e4df67b2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a6c591ca4f12a09e1678cd724f2c0abe6660d92bc5c90bacc5b8e3e4df67b2b", kill_on_drop: false }`
[INFO] [stdout] 7a6c591ca4f12a09e1678cd724f2c0abe6660d92bc5c90bacc5b8e3e4df67b2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 3018b33741ae6ff30ee164e9176b689e090c97d081fc9594fd8901ce3ad45f8c
[INFO] running `Command { std: "docker" "start" "-a" "3018b33741ae6ff30ee164e9176b689e090c97d081fc9594fd8901ce3ad45f8c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling libc v0.2.82
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.58
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling serde_derive v1.0.120
[INFO] [stderr]    Compiling serde v1.0.120
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking once_cell v1.5.2
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling seccomp-sys v0.1.3
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking regex-syntax v0.6.22
[INFO] [stderr]    Compiling serde_json v1.0.61
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking thread_local v1.1.3
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]     Checking itoa v0.4.7
[INFO] [stderr]     Checking yansi v0.5.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking errno v0.2.7
[INFO] [stderr]     Checking nix v0.19.1
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking regex v1.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.23
[INFO] [stderr]     Checking thiserror v1.0.23
[INFO] [stderr]     Checking caps v0.5.0
[INFO] [stderr]     Checking flexi_logger v0.17.1
[INFO] [stderr]     Checking crust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `caps::errors::CapsError`
[INFO] [stdout]  --> src/caps.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use caps::errors::CapsError;
[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: `libc::prctl`
[INFO] [stdout]  --> src/caps.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc::prctl;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/caps.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/dev.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `caps::errors::CapsError`
[INFO] [stdout]  --> src/caps.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use caps::errors::CapsError;
[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: `libc::prctl`
[INFO] [stdout]  --> src/caps.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc::prctl;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/caps.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/dev.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/mount.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nix::{Error, NixPath};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/mount.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nix::{Error, NixPath};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/mount.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/mount.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::BitAnd`
[INFO] [stdout]  --> src/mount.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::BitAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::BitAnd`
[INFO] [stdout]  --> src/mount.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::BitAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LevelFilter`, `LogSpecification`, and `Logger`
[INFO] [stdout]  --> src/mount.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use flexi_logger::{LevelFilter, LogSpecification, Logger};
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OFlag`, `open`, and `openat`
[INFO] [stdout]   --> src/mount.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nix::fcntl::{open, openat, OFlag};
[INFO] [stdout]    |                  ^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LevelFilter`, `LogSpecification`, and `Logger`
[INFO] [stdout]  --> src/mount.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use flexi_logger::{LevelFilter, LogSpecification, Logger};
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mount.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |       ///1. check if the root & mounts are set
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 | /     if spec.root.is_none() || spec.mounts.is_none() {
[INFO] [stdout] 21 | |         info!("no work todo, both root & mount is None ");
[INFO] [stdout] 22 | |         return;
[INFO] [stdout] 23 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[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/mount.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | /     ///2. Ensure that 'new_root' and its parent mount don't have
[INFO] [stdout] 25 | |     /// shared propagation (which would cause pivot_root() to
[INFO] [stdout] 26 | |     /// return an error), and prevent propagation of mount
[INFO] [stdout] 27 | |     /// events to the initial mount namespace
[INFO] [stdout]    | |_____________________________________________^
[INFO] [stdout] 28 |       //if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL) == -1)
[INFO] [stdout] 29 |       let root = b"/".as_ref();
[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: unused imports: `OFlag`, `open`, and `openat`
[INFO] [stdout]   --> src/mount.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nix::fcntl::{open, openat, OFlag};
[INFO] [stdout]    |                  ^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mount.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | /     /// 3. Ensure that 'rootfs' is a mount point
[INFO] [stdout] 44 | |     /// if (mount(new_root, new_root, NULL, MS_BIND, NULL) == -1)
[INFO] [stdout]    | |_________________________________________________________________^
[INFO] [stdout] 45 |       let x = spec.root.as_ref().unwrap();
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     ///4. Create directory to which old root will be pivoted; it must be under the new root
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     let rp = std::str::from_utf8(rootfs_path).unwrap();
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     ///5.  And pivot the root filesystem
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     let result = nix::unistd::pivot_root(rootfs_path, put_old_path);
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     ///6.Switch the current working directory to "/"
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 83 |     //if (chdir("/") == -1)
[INFO] [stdout] 84 |     let result = chdir("/");
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     ///7.Unmount old root and remove mount point
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     //umount2(put_old, MNT_DETACH)
[INFO] [stdout] 92 |     let put_old_dir = put_old_name.as_bytes();
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |       ///1. check if the root & mounts are set
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 | /     if spec.root.is_none() || spec.mounts.is_none() {
[INFO] [stdout] 21 | |         info!("no work todo, both root & mount is None ");
[INFO] [stdout] 22 | |         return;
[INFO] [stdout] 23 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[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 import: `main`
[INFO] [stdout]  --> src/resources.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{main, ChildConfig};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/resources.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/resources.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mount.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | /     ///2. Ensure that 'new_root' and its parent mount don't have
[INFO] [stdout] 25 | |     /// shared propagation (which would cause pivot_root() to
[INFO] [stdout] 26 | |     /// return an error), and prevent propagation of mount
[INFO] [stdout] 27 | |     /// events to the initial mount namespace
[INFO] [stdout]    | |_____________________________________________^
[INFO] [stdout] 28 |       //if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL) == -1)
[INFO] [stdout] 29 |       let root = b"/".as_ref();
[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: unused import: `std::path::Display`
[INFO] [stdout]  --> src/resources.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mount.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | /     /// 3. Ensure that 'rootfs' is a mount point
[INFO] [stdout] 44 | |     /// if (mount(new_root, new_root, NULL, MS_BIND, NULL) == -1)
[INFO] [stdout]    | |_________________________________________________________________^
[INFO] [stdout] 45 |       let x = spec.root.as_ref().unwrap();
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     ///4. Create directory to which old root will be pivoted; it must be under the new root
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     let rp = std::str::from_utf8(rootfs_path).unwrap();
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     ///5.  And pivot the root filesystem
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     let result = nix::unistd::pivot_root(rootfs_path, put_old_path);
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     ///6.Switch the current working directory to "/"
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 83 |     //if (chdir("/") == -1)
[INFO] [stdout] 84 |     let result = chdir("/");
[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: unused doc comment
[INFO] [stdout]   --> src/mount.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     ///7.Unmount old root and remove mount point
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     //umount2(put_old, MNT_DETACH)
[INFO] [stdout] 92 |     let put_old_dir = put_old_name.as_bytes();
[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: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]    --> src/resources.rs:712:17
[INFO] [stdout]     |
[INFO] [stdout] 712 |     use serde::{Deserialize, Serialize};
[INFO] [stdout]     |                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `main`
[INFO] [stdout]  --> src/resources.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{main, ChildConfig};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/resources.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seccomp_sys::scmp_compare`
[INFO] [stdout]  --> src/spec.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use seccomp_sys::scmp_compare;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/resources.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seccomp_sys::scmp_compare::SCMP_CMP_NE`
[INFO] [stdout]  --> src/spec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use seccomp_sys::scmp_compare::SCMP_CMP_NE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Display`
[INFO] [stdout]  --> src/resources.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nix::unistd::Uid`
[INFO] [stdout]    --> src/spec.rs:638:9
[INFO] [stdout]     |
[INFO] [stdout] 638 |     use nix::unistd::Uid;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]    --> src/spec.rs:639:17
[INFO] [stdout]     |
[INFO] [stdout] 639 |     use serde::{Deserialize, Serialize};
[INFO] [stdout]     |                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seccomp_sys::scmp_compare`
[INFO] [stdout]  --> src/spec.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use seccomp_sys::scmp_compare;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seccomp_sys::scmp_compare::SCMP_CMP_NE`
[INFO] [stdout]  --> src/spec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use seccomp_sys::scmp_compare::SCMP_CMP_NE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nix::sys::socket::SockFlag`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use nix::sys::socket::SockFlag;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressFamily`, `SockType`, and `socketpair`
[INFO] [stdout]   --> src/main.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use nix::sys::socket::{socketpair, AddressFamily, SockType};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ForkResult`, `execvp`, `fork`, and `gethostname`
[INFO] [stdout]   --> src/main.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use nix::unistd::{execve, execvp, fork, gethostname, pipe, sethostname, ForkResult, Pid, Uid};
[INFO] [stdout]    |                           ^^^^^^  ^^^^  ^^^^^^^^^^^                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command`, `ExitStatus`, and `Stdio`
[INFO] [stdout]   --> src/main.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::process::{exit, Command, ExitStatus, Stdio};
[INFO] [stdout]    |                          ^^^^^^^  ^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io`, `process`, and `time`
[INFO] [stdout]   --> src/main.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::{fs, io, process, thread, time};
[INFO] [stdout]    |               ^^  ^^^^^^^          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arch`, `LinuxSeccompArg`, and `Process`
[INFO] [stdout]   --> src/main.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::spec::{Arch, LinuxSeccomp, LinuxSeccompAction, LinuxSeccompArg, Process, Spec};
[INFO] [stdout]    |                   ^^^^                                    ^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nix::errno::Errno::EPERM`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use nix::errno::Errno::EPERM;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `sched`
[INFO] [stdout]   --> src/main.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | use nix::{sched, Error};
[INFO] [stdout]    |           ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seccomp_sys::scmp_arch::SCMP_ARCH_NATIVE`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use seccomp_sys::scmp_arch::SCMP_ARCH_NATIVE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scmp_compare`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     scmp_compare, seccomp_arch_add, seccomp_attr_set, seccomp_init, seccomp_load, seccomp_release,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::raw::c_int`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::os::raw::c_int;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::IntoRawFd`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::os::unix::io::IntoRawFd;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     ///* Execute a shell command */
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:399:13
[INFO] [stdout]     |
[INFO] [stdout] 399 | /             ///-EDOM  Architecture specific failure.
[INFO] [stdout] 400 | |             //
[INFO] [stdout] 401 | |             ///-EEXIST
[INFO] [stdout]     | |______________________^
[INFO] [stdout] ...
[INFO] [stdout] 412 | /             if result != 0 && result != -libc::EEXIST {
[INFO] [stdout] 413 | |                 info!("seccomp adding architecture failed!, result {} ", result);
[INFO] [stdout] 414 | |                 seccomp_release(ctx);
[INFO] [stdout] 415 | |                 return;
[INFO] [stdout] 416 | |             }
[INFO] [stdout]     | |_____________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nix::sys::socket::SockFlag`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use nix::sys::socket::SockFlag;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressFamily`, `SockType`, and `socketpair`
[INFO] [stdout]   --> src/main.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use nix::sys::socket::{socketpair, AddressFamily, SockType};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ForkResult`, `execvp`, `fork`, and `gethostname`
[INFO] [stdout]   --> src/main.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use nix::unistd::{execve, execvp, fork, gethostname, pipe, sethostname, ForkResult, Pid, Uid};
[INFO] [stdout]    |                           ^^^^^^  ^^^^  ^^^^^^^^^^^                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Command`, `ExitStatus`, and `Stdio`
[INFO] [stdout]   --> src/main.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::process::{exit, Command, ExitStatus, Stdio};
[INFO] [stdout]    |                          ^^^^^^^  ^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io`, `process`, and `time`
[INFO] [stdout]   --> src/main.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::{fs, io, process, thread, time};
[INFO] [stdout]    |               ^^  ^^^^^^^          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arch`, `LinuxSeccompArg`, and `Process`
[INFO] [stdout]   --> src/main.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::spec::{Arch, LinuxSeccomp, LinuxSeccompAction, LinuxSeccompArg, Process, Spec};
[INFO] [stdout]    |                   ^^^^                                    ^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nix::errno::Errno::EPERM`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use nix::errno::Errno::EPERM;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `sched`
[INFO] [stdout]   --> src/main.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | use nix::{sched, Error};
[INFO] [stdout]    |           ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `seccomp_sys::scmp_arch::SCMP_ARCH_NATIVE`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use seccomp_sys::scmp_arch::SCMP_ARCH_NATIVE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scmp_compare`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     scmp_compare, seccomp_arch_add, seccomp_attr_set, seccomp_init, seccomp_load, seccomp_release,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::raw::c_int`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::os::raw::c_int;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::IntoRawFd`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::os::unix::io::IntoRawFd;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     ///* Execute a shell command */
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:399:13
[INFO] [stdout]     |
[INFO] [stdout] 399 | /             ///-EDOM  Architecture specific failure.
[INFO] [stdout] 400 | |             //
[INFO] [stdout] 401 | |             ///-EEXIST
[INFO] [stdout]     | |______________________^
[INFO] [stdout] ...
[INFO] [stdout] 412 | /             if result != 0 && result != -libc::EEXIST {
[INFO] [stdout] 413 | |                 info!("seccomp adding architecture failed!, result {} ", result);
[INFO] [stdout] 414 | |                 seccomp_release(ctx);
[INFO] [stdout] 415 | |                 return;
[INFO] [stdout] 416 | |             }
[INFO] [stdout]     | |_____________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NixPath`
[INFO] [stdout]  --> src/mount.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nix::{Error, NixPath};
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NixPath`
[INFO] [stdout]  --> src/mount.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nix::{Error, NixPath};
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/mount.rs:133:27
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let (mount_flags, options) = match &mount.mount_options {
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_houw`
[INFO] [stdout]    --> src/mount.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let label_houw = match mount.mount_type.as_ref().unwrap().as_str() {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_houw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/mount.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let source = mount.source.as_ref().unwrap().as_bytes();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/mount.rs:133:27
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let (mount_flags, options) = match &mount.mount_options {
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_houw`
[INFO] [stdout]    --> src/mount.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let label_houw = match mount.mount_type.as_ref().unwrap().as_str() {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_houw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/mount.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let source = mount.source.as_ref().unwrap().as_bytes();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/resources.rs:564:30
[INFO] [stdout]     |
[INFO] [stdout] 564 |     fn visit_pids(&mut self, s: &LinuxPids) -> String {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:568:32
[INFO] [stdout]     |
[INFO] [stdout] 568 |     fn visit_memory(&mut self, e: &LinuxMemory) -> String {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:572:30
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn visit_rdma(&mut self, e: &LinuxRdma) -> String {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:576:32
[INFO] [stdout]     |
[INFO] [stdout] 576 |     fn visit_cpuset(&mut self, e: &LinuxCPUSet) -> String {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:580:28
[INFO] [stdout]     |
[INFO] [stdout] 580 |     fn visit_io(&mut self, e: &LinuxBlockIO) -> String {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:584:34
[INFO] [stdout]     |
[INFO] [stdout] 584 |     fn visit_hugepage(&mut self, e: &LinuxHugepageLimits) -> String {
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cgroup_subsystems`
[INFO] [stdout]    --> src/resources.rs:615:13
[INFO] [stdout]     |
[INFO] [stdout] 615 |         let cgroup_subsystems = vec![
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cgroup_subsystems`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/resources.rs:677:18
[INFO] [stdout]     |
[INFO] [stdout] 677 |             Some(m) => buffer.push_str("+memory"),
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]    --> src/resources.rs:681:18
[INFO] [stdout]     |
[INFO] [stdout] 681 |             Some(cpu) => buffer.push_str(" +cpu"),
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpuset`
[INFO] [stdout]    --> src/resources.rs:685:18
[INFO] [stdout]     |
[INFO] [stdout] 685 |             Some(cpuset) => buffer.push_str(" +cpuset"),
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpuset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pids`
[INFO] [stdout]    --> src/resources.rs:690:18
[INFO] [stdout]     |
[INFO] [stdout] 690 |             Some(pids) => buffer.push_str(" +pids"),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_pids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hugetlb`
[INFO] [stdout]    --> src/resources.rs:695:18
[INFO] [stdout]     |
[INFO] [stdout] 695 |             Some(hugetlb) => buffer.push_str(" +hugetlb"),
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hugetlb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rdma`
[INFO] [stdout]    --> src/resources.rs:700:18
[INFO] [stdout]     |
[INFO] [stdout] 700 |             Some(rdma) => buffer.push_str(" +rdma"),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_rdma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/resources.rs:564:30
[INFO] [stdout]     |
[INFO] [stdout] 564 |     fn visit_pids(&mut self, s: &LinuxPids) -> String {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:568:32
[INFO] [stdout]     |
[INFO] [stdout] 568 |     fn visit_memory(&mut self, e: &LinuxMemory) -> String {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:572:30
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn visit_rdma(&mut self, e: &LinuxRdma) -> String {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:576:32
[INFO] [stdout]     |
[INFO] [stdout] 576 |     fn visit_cpuset(&mut self, e: &LinuxCPUSet) -> String {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:580:28
[INFO] [stdout]     |
[INFO] [stdout] 580 |     fn visit_io(&mut self, e: &LinuxBlockIO) -> String {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/resources.rs:584:34
[INFO] [stdout]     |
[INFO] [stdout] 584 |     fn visit_hugepage(&mut self, e: &LinuxHugepageLimits) -> String {
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cgroup_subsystems`
[INFO] [stdout]    --> src/resources.rs:615:13
[INFO] [stdout]     |
[INFO] [stdout] 615 |         let cgroup_subsystems = vec![
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cgroup_subsystems`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/resources.rs:677:18
[INFO] [stdout]     |
[INFO] [stdout] 677 |             Some(m) => buffer.push_str("+memory"),
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]    --> src/resources.rs:681:18
[INFO] [stdout]     |
[INFO] [stdout] 681 |             Some(cpu) => buffer.push_str(" +cpu"),
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpuset`
[INFO] [stdout]    --> src/resources.rs:685:18
[INFO] [stdout]     |
[INFO] [stdout] 685 |             Some(cpuset) => buffer.push_str(" +cpuset"),
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpuset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pids`
[INFO] [stdout]    --> src/resources.rs:690:18
[INFO] [stdout]     |
[INFO] [stdout] 690 |             Some(pids) => buffer.push_str(" +pids"),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_pids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hugetlb`
[INFO] [stdout]    --> src/resources.rs:695:18
[INFO] [stdout]     |
[INFO] [stdout] 695 |             Some(hugetlb) => buffer.push_str(" +hugetlb"),
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hugetlb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rdma`
[INFO] [stdout]    --> src/resources.rs:700:18
[INFO] [stdout]     |
[INFO] [stdout] 700 |             Some(rdma) => buffer.push_str(" +rdma"),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_rdma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/resources.rs:844:13
[INFO] [stdout]     |
[INFO] [stdout] 844 |         let res = LinuxResources::install_resources(
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> src/spec.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let buffer = String::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> src/spec.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let buffer = String::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/spec.rs:990:13
[INFO] [stdout]     |
[INFO] [stdout] 990 |         let mut spec: Spec = serde_json::from_str(&jj).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: `architecture`
[INFO] [stdout]    --> src/main.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |         for architecture in architectures {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_architecture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `errno_ret`
[INFO] [stdout]    --> src/main.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let errno_ret = syscall.errno_ret.unwrap_or(libc::EPERM);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_errno_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `argc`, `uid`, `fd`, `argv`, and `mount_dir` are never read
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ChildConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 46 |     argc: u8,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     uid: Uid,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 48 |     fd: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 49 |     host_name: &'static str,
[INFO] [stdout] 50 |     argv: Vec<&'static str>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     mount_dir: &'static 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 `check_running_in_user_namespace` is never used
[INFO] [stdout]    --> src/dev.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn check_running_in_user_namespace() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Validator` is never constructed
[INFO] [stdout]    --> src/resources.rs:523:8
[INFO] [stdout]     |
[INFO] [stdout] 523 | struct Validator {}
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/resources.rs:526:12
[INFO] [stdout]     |
[INFO] [stdout] 525 | impl Validator {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 526 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `architecture`
[INFO] [stdout]    --> src/main.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |         for architecture in architectures {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_architecture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `errno_ret`
[INFO] [stdout]    --> src/main.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let errno_ret = syscall.errno_ret.unwrap_or(libc::EPERM);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_errno_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 |     execve(&CString::new("/bin/bash").unwrap().as_c_str(), args, env);
[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] 295 |     let _ = execve(&CString::new("/bin/bash").unwrap().as_c_str(), args, env);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     writeln!(&mut buffer, "0\t{}\t1", child_pid.as_raw());
[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 _ = writeln!(&mut buffer, "0\t{}\t1", child_pid.as_raw());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 324 |     writeln!(&mut buffer, "deny");
[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] 324 |     let _ = writeln!(&mut buffer, "deny");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     writeln!(&mut buffer, "0\t{}\t1", child_pid.as_raw());
[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] 337 |     let _ = writeln!(&mut buffer, "0\t{}\t1", child_pid.as_raw());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `argc`, `uid`, `fd`, `argv`, and `mount_dir` are never read
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ChildConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 46 |     argc: u8,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     uid: Uid,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 48 |     fd: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 49 |     host_name: &'static str,
[INFO] [stdout] 50 |     argv: Vec<&'static str>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     mount_dir: &'static 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 `check_running_in_user_namespace` is never used
[INFO] [stdout]    --> src/dev.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn check_running_in_user_namespace() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `put_old_name` should have an upper case name
[INFO] [stdout]   --> src/mount.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const put_old_name: &str = "oldrootfs";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 13 - const put_old_name: &str = "oldrootfs";
[INFO] [stdout] 13 + const PUT_OLD_NAME: &str = "oldrootfs";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cpuSet` should have a snake case name
[INFO] [stdout]   --> src/resources.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     cpuSet: Option<LinuxCPUSet>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `cpu_set`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blockIO` should have a snake case name
[INFO] [stdout]   --> src/resources.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     blockIO: Option<LinuxBlockIO>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `block_io`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hugepageLimits` should have a snake case name
[INFO] [stdout]   --> src/resources.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     hugepageLimits: Option<LinuxHugepageLimits>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hugepage_limits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hugepageLimits` should have a snake case name
[INFO] [stdout]   --> src/resources.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     hugepageLimits: Option<Vec<LinuxHugepageLimit>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hugepage_limits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 | /         fs::write(
[INFO] [stdout] 331 | |             format!("{}/pids.max", self.child_directory),
[INFO] [stdout] 332 | |             s.pids_max.to_string(),
[INFO] [stdout] 333 | |         );
[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] 330 |         let _ = fs::write(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:393:17
[INFO] [stdout]     |
[INFO] [stdout] 393 |                 writeln!(&mut buffer, "{}", rdma_entry.to_string());
[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] 393 |                 let _ = writeln!(&mut buffer, "{}", rdma_entry.to_string());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 | /         match e.default_weight {
[INFO] [stdout] 425 | |             None => writeln!(&mut buffer, "{}", "default 100"),
[INFO] [stdout] 426 | |             Some(def) => writeln!(&mut buffer, "default {}", def),
[INFO] [stdout] 427 | |         };
[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] 424 |         let _ = match e.default_weight {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 | /             writeln!(
[INFO] [stdout] 430 | |                 &mut buffer,
[INFO] [stdout] 431 | |                 "{}:{}\t{}",
[INFO] [stdout] 432 | |                 weight.device.major, weight.device.minor, weight.weight
[INFO] [stdout] 433 | |             );
[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] 429 |             let _ = writeln!(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:435:9
[INFO] [stdout]     |
[INFO] [stdout] 435 |         fs::write(format!("{}/io.weight", self.child_directory), buffer);
[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] 435 |         let _ = fs::write(format!("{}/io.weight", self.child_directory), buffer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 | /             write!(
[INFO] [stdout] 442 | |                 &mut buffer,
[INFO] [stdout] 443 | |                 "{}:{}\t",
[INFO] [stdout] 444 | |                 io_limit.device.major, io_limit.device.minor,
[INFO] [stdout] 445 | |             );
[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] 441 |             let _ = write!(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:449:21
[INFO] [stdout]     |
[INFO] [stdout] 449 |                     write!(&mut buffer, "rbps={}\t", rbps);
[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] 449 |                     let _ = write!(&mut buffer, "rbps={}\t", rbps);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:455:21
[INFO] [stdout]     |
[INFO] [stdout] 455 |                     write!(&mut buffer, "wbps={}\t", wbps);
[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] 455 |                     let _ = write!(&mut buffer, "wbps={}\t", wbps);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:462:21
[INFO] [stdout]     |
[INFO] [stdout] 462 |                     write!(&mut buffer, "riops={}\t", riops);
[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] 462 |                     let _ = write!(&mut buffer, "riops={}\t", riops);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:469:21
[INFO] [stdout]     |
[INFO] [stdout] 469 |                     write!(&mut buffer, "wiops={}\t", wiops);
[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] 469 |                     let _ = write!(&mut buffer, "wiops={}\t", wiops);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:473:13
[INFO] [stdout]     |
[INFO] [stdout] 473 |             writeln!(&mut buffer);
[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] 473 |             let _ = writeln!(&mut buffer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout] 475 |         fs::write(format!("{}/io.max", self.child_directory), buffer);
[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] 475 |         let _ = fs::write(format!("{}/io.max", self.child_directory), buffer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 | /             match hugetlb.max {
[INFO] [stdout] 488 | |                 None => fs::write(
[INFO] [stdout] 489 | |                     format!(
[INFO] [stdout] 490 | |                         "{}/hugetlb.{}.max",
[INFO] [stdout] ...   |
[INFO] [stdout] 501 | |                 ),
[INFO] [stdout] 502 | |             };
[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] 487 |             let _ = match hugetlb.max {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:509:9
[INFO] [stdout]     |
[INFO] [stdout] 509 |         &e.cpu.as_ref().map(|cpu| self.visit_cpu(&cpu));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let _ = &e.cpu.as_ref().map(|cpu| self.visit_cpu(&cpu));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |         &e.memory.as_ref().map(|memory| self.visit_memory(&memory));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 |         let _ = &e.memory.as_ref().map(|memory| self.visit_memory(&memory));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:511:9
[INFO] [stdout]     |
[INFO] [stdout] 511 |         &e.pids.as_ref().map(|pids| self.visit_pids(&pids));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let _ = &e.pids.as_ref().map(|pids| self.visit_pids(&pids));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |         &e.cpuSet.as_ref().map(|cpuset| self.visit_cpuset(&cpuset));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let _ = &e.cpuSet.as_ref().map(|cpuset| self.visit_cpuset(&cpuset));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 513 |         &e.rdma.as_ref().map(|rdma| self.visit_rdma(&rdma));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let _ = &e.rdma.as_ref().map(|rdma| self.visit_rdma(&rdma));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:514:9
[INFO] [stdout]     |
[INFO] [stdout] 514 | /         &e.hugepageLimits
[INFO] [stdout] 515 | |             .as_ref()
[INFO] [stdout] 516 | |             .map(|hugetlb| self.visit_hugepage(&hugetlb));
[INFO] [stdout]     | |_________________________________________________________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let _ = &e.hugepageLimits
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:517:9
[INFO] [stdout]     |
[INFO] [stdout] 517 |         &e.blockIO.as_ref().map(|io| self.visit_io(&io));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let _ = &e.blockIO.as_ref().map(|io| self.visit_io(&io));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 |     execve(&CString::new("/bin/bash").unwrap().as_c_str(), args, env);
[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] 295 |     let _ = execve(&CString::new("/bin/bash").unwrap().as_c_str(), args, env);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     writeln!(&mut buffer, "0\t{}\t1", child_pid.as_raw());
[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 _ = writeln!(&mut buffer, "0\t{}\t1", child_pid.as_raw());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 324 |     writeln!(&mut buffer, "deny");
[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] 324 |     let _ = writeln!(&mut buffer, "deny");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     writeln!(&mut buffer, "0\t{}\t1", child_pid.as_raw());
[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] 337 |     let _ = writeln!(&mut buffer, "0\t{}\t1", child_pid.as_raw());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `put_old_name` should have an upper case name
[INFO] [stdout]   --> src/mount.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const put_old_name: &str = "oldrootfs";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 13 - const put_old_name: &str = "oldrootfs";
[INFO] [stdout] 13 + const PUT_OLD_NAME: &str = "oldrootfs";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cpuSet` should have a snake case name
[INFO] [stdout]   --> src/resources.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     cpuSet: Option<LinuxCPUSet>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `cpu_set`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blockIO` should have a snake case name
[INFO] [stdout]   --> src/resources.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     blockIO: Option<LinuxBlockIO>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `block_io`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hugepageLimits` should have a snake case name
[INFO] [stdout]   --> src/resources.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     hugepageLimits: Option<LinuxHugepageLimits>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hugepage_limits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hugepageLimits` should have a snake case name
[INFO] [stdout]   --> src/resources.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     hugepageLimits: Option<Vec<LinuxHugepageLimit>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hugepage_limits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 | /         fs::write(
[INFO] [stdout] 331 | |             format!("{}/pids.max", self.child_directory),
[INFO] [stdout] 332 | |             s.pids_max.to_string(),
[INFO] [stdout] 333 | |         );
[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] 330 |         let _ = fs::write(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:393:17
[INFO] [stdout]     |
[INFO] [stdout] 393 |                 writeln!(&mut buffer, "{}", rdma_entry.to_string());
[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] 393 |                 let _ = writeln!(&mut buffer, "{}", rdma_entry.to_string());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 | /         match e.default_weight {
[INFO] [stdout] 425 | |             None => writeln!(&mut buffer, "{}", "default 100"),
[INFO] [stdout] 426 | |             Some(def) => writeln!(&mut buffer, "default {}", def),
[INFO] [stdout] 427 | |         };
[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] 424 |         let _ = match e.default_weight {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 | /             writeln!(
[INFO] [stdout] 430 | |                 &mut buffer,
[INFO] [stdout] 431 | |                 "{}:{}\t{}",
[INFO] [stdout] 432 | |                 weight.device.major, weight.device.minor, weight.weight
[INFO] [stdout] 433 | |             );
[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] 429 |             let _ = writeln!(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:435:9
[INFO] [stdout]     |
[INFO] [stdout] 435 |         fs::write(format!("{}/io.weight", self.child_directory), buffer);
[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] 435 |         let _ = fs::write(format!("{}/io.weight", self.child_directory), buffer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 | /             write!(
[INFO] [stdout] 442 | |                 &mut buffer,
[INFO] [stdout] 443 | |                 "{}:{}\t",
[INFO] [stdout] 444 | |                 io_limit.device.major, io_limit.device.minor,
[INFO] [stdout] 445 | |             );
[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] 441 |             let _ = write!(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:449:21
[INFO] [stdout]     |
[INFO] [stdout] 449 |                     write!(&mut buffer, "rbps={}\t", rbps);
[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] 449 |                     let _ = write!(&mut buffer, "rbps={}\t", rbps);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:455:21
[INFO] [stdout]     |
[INFO] [stdout] 455 |                     write!(&mut buffer, "wbps={}\t", wbps);
[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] 455 |                     let _ = write!(&mut buffer, "wbps={}\t", wbps);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:462:21
[INFO] [stdout]     |
[INFO] [stdout] 462 |                     write!(&mut buffer, "riops={}\t", riops);
[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] 462 |                     let _ = write!(&mut buffer, "riops={}\t", riops);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:469:21
[INFO] [stdout]     |
[INFO] [stdout] 469 |                     write!(&mut buffer, "wiops={}\t", wiops);
[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] 469 |                     let _ = write!(&mut buffer, "wiops={}\t", wiops);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:473:13
[INFO] [stdout]     |
[INFO] [stdout] 473 |             writeln!(&mut buffer);
[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] 473 |             let _ = writeln!(&mut buffer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout] 475 |         fs::write(format!("{}/io.max", self.child_directory), buffer);
[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] 475 |         let _ = fs::write(format!("{}/io.max", self.child_directory), buffer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/resources.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 | /             match hugetlb.max {
[INFO] [stdout] 488 | |                 None => fs::write(
[INFO] [stdout] 489 | |                     format!(
[INFO] [stdout] 490 | |                         "{}/hugetlb.{}.max",
[INFO] [stdout] ...   |
[INFO] [stdout] 501 | |                 ),
[INFO] [stdout] 502 | |             };
[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] 487 |             let _ = match hugetlb.max {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:509:9
[INFO] [stdout]     |
[INFO] [stdout] 509 |         &e.cpu.as_ref().map(|cpu| self.visit_cpu(&cpu));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let _ = &e.cpu.as_ref().map(|cpu| self.visit_cpu(&cpu));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |         &e.memory.as_ref().map(|memory| self.visit_memory(&memory));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 |         let _ = &e.memory.as_ref().map(|memory| self.visit_memory(&memory));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:511:9
[INFO] [stdout]     |
[INFO] [stdout] 511 |         &e.pids.as_ref().map(|pids| self.visit_pids(&pids));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let _ = &e.pids.as_ref().map(|pids| self.visit_pids(&pids));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |         &e.cpuSet.as_ref().map(|cpuset| self.visit_cpuset(&cpuset));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let _ = &e.cpuSet.as_ref().map(|cpuset| self.visit_cpuset(&cpuset));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 513 |         &e.rdma.as_ref().map(|rdma| self.visit_rdma(&rdma));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let _ = &e.rdma.as_ref().map(|rdma| self.visit_rdma(&rdma));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:514:9
[INFO] [stdout]     |
[INFO] [stdout] 514 | /         &e.hugepageLimits
[INFO] [stdout] 515 | |             .as_ref()
[INFO] [stdout] 516 | |             .map(|hugetlb| self.visit_hugepage(&hugetlb));
[INFO] [stdout]     | |_________________________________________________________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let _ = &e.hugepageLimits
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/resources.rs:517:9
[INFO] [stdout]     |
[INFO] [stdout] 517 |         &e.blockIO.as_ref().map(|io| self.visit_io(&io));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let _ = &e.blockIO.as_ref().map(|io| self.visit_io(&io));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hugepageLimits` should have a snake case name
[INFO] [stdout]    --> src/resources.rs:814:17
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut hugepageLimits = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hugepage_limits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.09s
[INFO] running `Command { std: "docker" "inspect" "3018b33741ae6ff30ee164e9176b689e090c97d081fc9594fd8901ce3ad45f8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3018b33741ae6ff30ee164e9176b689e090c97d081fc9594fd8901ce3ad45f8c", kill_on_drop: false }`
[INFO] [stdout] 3018b33741ae6ff30ee164e9176b689e090c97d081fc9594fd8901ce3ad45f8c
