[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#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmokua%2Fcrust" "/workspace/builds/worker-12/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mokua/crust on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-12/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-12/source/Cargo.toml [INFO] crate git repo https://github.com/mokua/crust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded caps v0.5.0 [INFO] [stderr] Downloaded errno v0.2.7 [INFO] [stderr] Downloaded flexi_logger v0.17.1 [INFO] [stderr] Downloaded seccomp-sys v0.1.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] c64814bef6179f917bdd003691d46c600b7810f20e3b327330472fa6cac21fb2 [INFO] running `Command { std: "docker" "start" "-a" "c64814bef6179f917bdd003691d46c600b7810f20e3b327330472fa6cac21fb2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c64814bef6179f917bdd003691d46c600b7810f20e3b327330472fa6cac21fb2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c64814bef6179f917bdd003691d46c600b7810f20e3b327330472fa6cac21fb2", kill_on_drop: false }` [INFO] [stdout] c64814bef6179f917bdd003691d46c600b7810f20e3b327330472fa6cac21fb2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a0a0807528422d9bb521c63a8b2dbf6d99a2b25ba818dc2418972a5f5165ea8d [INFO] running `Command { std: "docker" "start" "-a" "a0a0807528422d9bb521c63a8b2dbf6d99a2b25ba818dc2418972a5f5165ea8d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.82 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [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 log v0.4.14 [INFO] [stderr] Compiling seccomp-sys v0.1.3 [INFO] [stderr] Checking regex-syntax v0.6.22 [INFO] [stderr] Compiling serde_json v1.0.61 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking yansi v0.5.0 [INFO] [stderr] Checking glob v0.3.0 [INFO] [stderr] Checking thread_local v1.1.3 [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 time v0.1.44 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking errno v0.2.7 [INFO] [stderr] Checking nix v0.19.1 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking regex v1.4.3 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Compiling thiserror-impl v1.0.23 [INFO] [stderr] Compiling serde_derive v1.0.120 [INFO] [stderr] Checking thiserror v1.0.23 [INFO] [stderr] Checking flexi_logger v0.17.1 [INFO] [stderr] Checking caps v0.5.0 [INFO] [stderr] Checking serde v1.0.120 [INFO] [stderr] Checking crust v0.1.0 (/opt/rustwide/workdir) [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] = note: `#[warn(unused_doc_comments)]` on by default [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 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)]` 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: `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 imports: `LevelFilter`, `LogSpecification`, `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`, `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: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] [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] [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] [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] [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] [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] [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] [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 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: `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`, `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`, `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`, `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`, `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`, `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`, `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: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] [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] = note: `#[warn(unused_doc_comments)]` on by default [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 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)]` 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: `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 imports: `LevelFilter`, `LogSpecification`, `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`, `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: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] [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] [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] [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] [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] [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] [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] [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 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 imports: `Deserialize`, `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: `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::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`, `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: `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`, `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`, `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`, `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`, `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`, `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`, `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: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] [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: `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] = note: `#[warn(unused_variables)]` on by default [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 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] [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: `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 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: `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] = note: `#[warn(unused_variables)]` on by default [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 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] [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: `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: function is never used: `check_running_in_user_namespace` [INFO] [stdout] --> src/dev.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn check_running_in_user_namespace() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/resources.rs:526:12 [INFO] [stdout] | [INFO] [stdout] 526 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `argc` [INFO] [stdout] --> src/main.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | argc: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `uid` [INFO] [stdout] --> src/main.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | uid: Uid, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `fd` [INFO] [stdout] --> src/main.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | fd: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `argv` [INFO] [stdout] --> src/main.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | argv: Vec<&'static str>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `mount_dir` [INFO] [stdout] --> src/main.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | mount_dir: &'static str, [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: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `PUT_OLD_NAME` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [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, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `cpu_set` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` 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, [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, [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>, [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] [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] [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] [INFO] [stdout] [INFO] [stdout] warning: 89 warnings emitted [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `check_running_in_user_namespace` [INFO] [stdout] --> src/dev.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn check_running_in_user_namespace() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `argc` [INFO] [stdout] --> src/main.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | argc: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `uid` [INFO] [stdout] --> src/main.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | uid: Uid, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `fd` [INFO] [stdout] --> src/main.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | fd: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `argv` [INFO] [stdout] --> src/main.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | argv: Vec<&'static str>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `mount_dir` [INFO] [stdout] --> src/main.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | mount_dir: &'static str, [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: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `PUT_OLD_NAME` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [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, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `cpu_set` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` 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, [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, [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>, [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] [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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] [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] [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] [stdout] warning: 94 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 40.21s [INFO] running `Command { std: "docker" "inspect" "a0a0807528422d9bb521c63a8b2dbf6d99a2b25ba818dc2418972a5f5165ea8d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a0a0807528422d9bb521c63a8b2dbf6d99a2b25ba818dc2418972a5f5165ea8d", kill_on_drop: false }` [INFO] [stdout] a0a0807528422d9bb521c63a8b2dbf6d99a2b25ba818dc2418972a5f5165ea8d