[INFO] updating cached repository https://github.com/cpg1111/conspect
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 0d08a443728c0d3ea555c1637df036a47be64ce0
[INFO] checking cpg1111/conspect against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpg1111%2Fconspect" "/workspace/builds/worker-1/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/cpg1111/conspect on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/cpg1111/conspect
[INFO] finished tweaking git repo https://github.com/cpg1111/conspect
[INFO] tweaked toml for git repo https://github.com/cpg1111/conspect written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate git repo https://github.com/cpg1111/conspect already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 03fd79fd1485918c675c33e6aae3bf739764766bf27bd2b6f3b08ef93d168770
[INFO] running `"docker" "start" "-a" "03fd79fd1485918c675c33e6aae3bf739764766bf27bd2b6f3b08ef93d168770"`
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking regex v0.1.77
[INFO] [stderr]     Checking conspect v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/manager/mod.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 23 |             for entry in try!(fs::read_dir(proc_dir)) {
[INFO] [stderr]    |                          ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/manager/mod.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 |                 let entry = try!(entry);
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> src/container/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/container/mod.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/container/cgroup_reader.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `CGroup_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/cgroup_reader.rs:33:7
[INFO] [stderr]    |
[INFO] [stderr] 33 | trait CGroup_Reader {
[INFO] [stderr]    |       ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CgroupReader`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/container/cgroup_reader.rs:37:34
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn which_cgroup(pid: u32) -> Box<Fn(String) -> String> {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> String`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the item `fs` is imported redundantly
[INFO] [stderr]   --> src/container/cgroup_reader.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 1  | use std::fs;
[INFO] [stderr]    |     ------- the item `fs` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 38 |     use std::fs;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]   --> src/container/cgroup_reader.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     use std::fs;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `File` is imported redundantly
[INFO] [stderr]   --> src/container/cgroup_reader.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 2  | use std::fs::File;
[INFO] [stderr]    |     ------------- the item `File` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 39 |     use std::fs::File;
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `CPU_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/cgroup_reader.rs:79:8
[INFO] [stderr]    |
[INFO] [stderr] 79 | struct CPU_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^ help: convert the identifier to upper camel case: `CpuReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Mem_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/cgroup_reader.rs:90:8
[INFO] [stderr]    |
[INFO] [stderr] 90 | struct Mem_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^ help: convert the identifier to upper camel case: `MemReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `BLKIO_Reader` should have an upper camel case name
[INFO] [stderr]    --> src/container/cgroup_reader.rs:101:8
[INFO] [stderr]     |
[INFO] [stderr] 101 | struct BLKIO_Reader {
[INFO] [stderr]     |        ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BlkioReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Net_Reader` should have an upper camel case name
[INFO] [stderr]    --> src/container/cgroup_reader.rs:112:8
[INFO] [stderr]     |
[INFO] [stderr] 112 | struct Net_Reader {
[INFO] [stderr]     |        ^^^^^^^^^^ help: convert the identifier to upper camel case: `NetReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `CGroup_Stat` should have an upper camel case name
[INFO] [stderr]    --> src/container/cgroup_reader.rs:130:10
[INFO] [stderr]     |
[INFO] [stderr] 130 | pub type CGroup_Stat = (String, String);
[INFO] [stderr]     |          ^^^^^^^^^^^ help: convert the identifier to upper camel case: `CgroupStat`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/container/ns_reader.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `NS_Group` should have an upper camel case name
[INFO] [stderr]  --> src/container/ns_reader.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub type NS_Group = (Vec<String>, Vec<Process>);
[INFO] [stderr]   |          ^^^^^^^^ help: convert the identifier to upper camel case: `NsGroup`
[INFO] [stderr] 
[INFO] [stderr] warning: trait `NS_Reader` should have an upper camel case name
[INFO] [stderr]  --> src/container/ns_reader.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | trait NS_Reader {
[INFO] [stderr]   |       ^^^^^^^^^ help: convert the identifier to upper camel case: `NsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `User_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | struct User_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UserNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `IPC_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:41:8
[INFO] [stderr]    |
[INFO] [stderr] 41 | struct IPC_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IpcNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `MNT_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | struct MNT_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MntNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Net_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:61:8
[INFO] [stderr]    |
[INFO] [stderr] 61 | struct Net_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NetNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `PID_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:71:8
[INFO] [stderr]    |
[INFO] [stderr] 71 | struct PID_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PidNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `UTS_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 81 | struct UTS_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UtsNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/manager/mod.rs:20:29
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn walk_proc(&self, cb: Fn(&DirEntry)) {
[INFO] [stderr]    |                             ^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&DirEntry)`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/manager/mod.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 23 |             for entry in try!(fs::read_dir(proc_dir)) {
[INFO] [stderr]    |                          ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/manager/mod.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 |                 let entry = try!(entry);
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> src/container/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/container/mod.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/container/cgroup_reader.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `CGroup_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/cgroup_reader.rs:33:7
[INFO] [stderr]    |
[INFO] [stderr] 33 | trait CGroup_Reader {
[INFO] [stderr]    |       ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CgroupReader`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/container/cgroup_reader.rs:37:34
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn which_cgroup(pid: u32) -> Box<Fn(String) -> String> {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> String`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the item `fs` is imported redundantly
[INFO] [stderr]   --> src/container/cgroup_reader.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 1  | use std::fs;
[INFO] [stderr]    |     ------- the item `fs` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 38 |     use std::fs;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]   --> src/container/cgroup_reader.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     use std::fs;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `File` is imported redundantly
[INFO] [stderr]   --> src/container/cgroup_reader.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 2  | use std::fs::File;
[INFO] [stderr]    |     ------------- the item `File` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 39 |     use std::fs::File;
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `CPU_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/cgroup_reader.rs:79:8
[INFO] [stderr]    |
[INFO] [stderr] 79 | struct CPU_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^ help: convert the identifier to upper camel case: `CpuReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Mem_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/cgroup_reader.rs:90:8
[INFO] [stderr]    |
[INFO] [stderr] 90 | struct Mem_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^ help: convert the identifier to upper camel case: `MemReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `BLKIO_Reader` should have an upper camel case name
[INFO] [stderr]    --> src/container/cgroup_reader.rs:101:8
[INFO] [stderr]     |
[INFO] [stderr] 101 | struct BLKIO_Reader {
[INFO] [stderr]     |        ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BlkioReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Net_Reader` should have an upper camel case name
[INFO] [stderr]    --> src/container/cgroup_reader.rs:112:8
[INFO] [stderr]     |
[INFO] [stderr] 112 | struct Net_Reader {
[INFO] [stderr]     |        ^^^^^^^^^^ help: convert the identifier to upper camel case: `NetReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `CGroup_Stat` should have an upper camel case name
[INFO] [stderr]    --> src/container/cgroup_reader.rs:130:10
[INFO] [stderr]     |
[INFO] [stderr] 130 | pub type CGroup_Stat = (String, String);
[INFO] [stderr]     |          ^^^^^^^^^^^ help: convert the identifier to upper camel case: `CgroupStat`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/container/ns_reader.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `NS_Group` should have an upper camel case name
[INFO] [stderr]  --> src/container/ns_reader.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub type NS_Group = (Vec<String>, Vec<Process>);
[INFO] [stderr]   |          ^^^^^^^^ help: convert the identifier to upper camel case: `NsGroup`
[INFO] [stderr] 
[INFO] [stderr] warning: trait `NS_Reader` should have an upper camel case name
[INFO] [stderr]  --> src/container/ns_reader.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | trait NS_Reader {
[INFO] [stderr]   |       ^^^^^^^^^ help: convert the identifier to upper camel case: `NsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `User_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | struct User_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UserNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `IPC_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:41:8
[INFO] [stderr]    |
[INFO] [stderr] 41 | struct IPC_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IpcNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `MNT_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | struct MNT_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MntNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Net_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:61:8
[INFO] [stderr]    |
[INFO] [stderr] 61 | struct Net_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NetNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `PID_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:71:8
[INFO] [stderr]    |
[INFO] [stderr] 71 | struct PID_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PidNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: type `UTS_NS_Reader` should have an upper camel case name
[INFO] [stderr]   --> src/container/ns_reader.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 81 | struct UTS_NS_Reader {
[INFO] [stderr]    |        ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UtsNsReader`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/manager/mod.rs:20:29
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn walk_proc(&self, cb: Fn(&DirEntry)) {
[INFO] [stderr]    |                             ^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&DirEntry)`
[INFO] [stderr] 
[INFO] [stderr] error[E0624]: associated function `get_containers` is private
[INFO] [stderr]  --> src/main.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 |     mang.get_containers();
[INFO] [stderr]   |          ^^^^^^^^^^^^^^ private associated function
[INFO] [stderr] 
[INFO] [stderr] error[E0624]: associated function `update` is private
[INFO] [stderr]   --> src/main.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 |     mang.update();
[INFO] [stderr]    |          ^^^^^^ private associated function
[INFO] [stderr] 
[INFO] [stderr] error[E0624]: associated function `get_containers` is private
[INFO] [stderr]  --> src/main.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 |     mang.get_containers();
[INFO] [stderr]   |          ^^^^^^^^^^^^^^ private associated function
[INFO] [stderr] 
[INFO] [stderr] error[E0624]: associated function `update` is private
[INFO] [stderr]   --> src/main.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 |     mang.update();
[INFO] [stderr]    |          ^^^^^^ private associated function
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `usize: std::ops::Neg` is not satisfied
[INFO] [stderr]   --> src/container/cgroup_reader.rs:47:23
[INFO] [stderr]    |
[INFO] [stderr] 47 |         let mut end = -1;
[INFO] [stderr]    |                       ^^ the trait `std::ops::Neg` is not implemented for `usize`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `usize: std::ops::Neg` is not satisfied
[INFO] [stderr]   --> src/container/cgroup_reader.rs:46:25
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut begin = -1;
[INFO] [stderr]    |                         ^^ the trait `std::ops::Neg` is not implemented for `usize`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/container/cgroup_reader.rs:85:35
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn read(&self, stat: &str) -> String {
[INFO] [stderr]    |        ----                       ^^^^^^ expected struct `std::string::String`, found `()`
[INFO] [stderr]    |        |
[INFO] [stderr]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stderr] 86 |         read_cgroup(String::from("cpu,cpuacct"), self.name, stat);
[INFO] [stderr]    |                                                                  - help: consider removing this semicolon
[INFO] [stderr] 
[INFO] [stderr] error[E0621]: explicit lifetime required in the type of `res`
[INFO] [stderr]    --> src/container/cgroup_reader.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn read_res(&self, res: &str, tx_arc: Arc<Mutex<mpsc::Sender<CGroup_Stat>>>) {
[INFO] [stderr]     |                             ---- help: add explicit lifetime `'static` to the type of `res`: `&'static str`
[INFO] [stderr] 134 |         let tx_thread = tx_arc.clone();
[INFO] [stderr] 135 |         thread::spawn(move || {
[INFO] [stderr]     |         ^^^^^^^^^^^^^ lifetime `'static` required
[INFO] [stderr] 
[INFO] [stderr] error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
[INFO] [stderr]    --> src/container/cgroup_reader.rs:135:23
[INFO] [stderr]     |
[INFO] [stderr] 135 |           thread::spawn(move || {
[INFO] [stderr]     |  _______________________^
[INFO] [stderr] 136 | |             let shares;
[INFO] [stderr] 137 | |             let cpu_re = Regex::new(r"^cpu(.*)").unwrap();
[INFO] [stderr] 138 | |             let mem_re = Regex::new(r"^mem(.*)").unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 151 | |             tx.send((String::from(res), shares)).unwrap();
[INFO] [stderr] 152 | |         }).join();
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the method body at 133:5...
[INFO] [stderr]    --> src/container/cgroup_reader.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 | /     fn read_res(&self, res: &str, tx_arc: Arc<Mutex<mpsc::Sender<CGroup_Stat>>>) {
[INFO] [stderr] 134 | |         let tx_thread = tx_arc.clone();
[INFO] [stderr] 135 | |         thread::spawn(move || {
[INFO] [stderr] 136 | |             let shares;
[INFO] [stderr] ...   |
[INFO] [stderr] 152 | |         }).join();
[INFO] [stderr] 153 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] note: ...so that the types are compatible
[INFO] [stderr]    --> src/container/cgroup_reader.rs:135:23
[INFO] [stderr]     |
[INFO] [stderr] 135 |           thread::spawn(move || {
[INFO] [stderr]     |  _______________________^
[INFO] [stderr] 136 | |             let shares;
[INFO] [stderr] 137 | |             let cpu_re = Regex::new(r"^cpu(.*)").unwrap();
[INFO] [stderr] 138 | |             let mem_re = Regex::new(r"^mem(.*)").unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 151 | |             tx.send((String::from(res), shares)).unwrap();
[INFO] [stderr] 152 | |         }).join();
[INFO] [stderr]     | |_________^
[INFO] [stderr]     = note: expected  `&container::cgroup_reader::Reader`
[INFO] [stderr]                found  `&container::cgroup_reader::Reader`
[INFO] [stderr]     = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stderr] note: ...so that the type `[closure@src/container/cgroup_reader.rs:135:23: 152:10 res:&str, self:&container::cgroup_reader::Reader, tx_thread:std::sync::Arc<std::sync::Mutex<std::sync::mpsc::Sender<(std::string::String, std::string::String)>>>]` will meet its required lifetime bounds
[INFO] [stderr]    --> src/container/cgroup_reader.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |         thread::spawn(move || {
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `usize: std::ops::Neg` is not satisfied
[INFO] [stderr]   --> src/container/cgroup_reader.rs:47:23
[INFO] [stderr]    |
[INFO] [stderr] 47 |         let mut end = -1;
[INFO] [stderr]    |                       ^^ the trait `std::ops::Neg` is not implemented for `usize`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/container/ns_reader.rs:11:35
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn parse_ns_f(content: String) -> u32 {
[INFO] [stderr]    |    ----------                     ^^^ expected `u32`, found `()`
[INFO] [stderr]    |    |
[INFO] [stderr]    |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stderr] ...
[INFO] [stderr] 22 |     ns.parse::<u32>().unwrap();
[INFO] [stderr]    |                               - help: consider removing this semicolon
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `usize: std::ops::Neg` is not satisfied
[INFO] [stderr]   --> src/container/cgroup_reader.rs:46:25
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut begin = -1;
[INFO] [stderr]    |                         ^^ the trait `std::ops::Neg` is not implemented for `usize`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn for<'r> std::ops::Fn(&'r std::fs::DirEntry) + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/manager/mod.rs:20:25
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn walk_proc(&self, cb: Fn(&DirEntry)) {
[INFO] [stderr]    |                         ^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `std::marker::Sized` is not implemented for `(dyn for<'r> std::ops::Fn(&'r std::fs::DirEntry) + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: all local variables must have a statically known size
[INFO] [stderr]    = help: unsized locals are gated as an unstable feature
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/container/cgroup_reader.rs:85:35
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn read(&self, stat: &str) -> String {
[INFO] [stderr]    |        ----                       ^^^^^^ expected struct `std::string::String`, found `()`
[INFO] [stderr]    |        |
[INFO] [stderr]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stderr] 86 |         read_cgroup(String::from("cpu,cpuacct"), self.name, stat);
[INFO] [stderr]    |                                                                  - help: consider removing this semicolon
[INFO] [stderr] 
[INFO] [stderr] error[E0621]: explicit lifetime required in the type of `res`
[INFO] [stderr]    --> src/container/cgroup_reader.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn read_res(&self, res: &str, tx_arc: Arc<Mutex<mpsc::Sender<CGroup_Stat>>>) {
[INFO] [stderr]     |                             ---- help: add explicit lifetime `'static` to the type of `res`: `&'static str`
[INFO] [stderr] 134 |         let tx_thread = tx_arc.clone();
[INFO] [stderr] 135 |         thread::spawn(move || {
[INFO] [stderr]     |         ^^^^^^^^^^^^^ lifetime `'static` required
[INFO] [stderr] 
[INFO] [stderr] error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
[INFO] [stderr]    --> src/container/cgroup_reader.rs:135:23
[INFO] [stderr]     |
[INFO] [stderr] 135 |           thread::spawn(move || {
[INFO] [stderr]     |  _______________________^
[INFO] [stderr] 136 | |             let shares;
[INFO] [stderr] 137 | |             let cpu_re = Regex::new(r"^cpu(.*)").unwrap();
[INFO] [stderr] 138 | |             let mem_re = Regex::new(r"^mem(.*)").unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 151 | |             tx.send((String::from(res), shares)).unwrap();
[INFO] [stderr] 152 | |         }).join();
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the method body at 133:5...
[INFO] [stderr]    --> src/container/cgroup_reader.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 | /     fn read_res(&self, res: &str, tx_arc: Arc<Mutex<mpsc::Sender<CGroup_Stat>>>) {
[INFO] [stderr] 134 | |         let tx_thread = tx_arc.clone();
[INFO] [stderr] 135 | |         thread::spawn(move || {
[INFO] [stderr] 136 | |             let shares;
[INFO] [stderr] ...   |
[INFO] [stderr] 152 | |         }).join();
[INFO] [stderr] 153 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] note: ...so that the types are compatible
[INFO] [stderr]    --> src/container/cgroup_reader.rs:135:23
[INFO] [stderr]     |
[INFO] [stderr] 135 |           thread::spawn(move || {
[INFO] [stderr]     |  _______________________^
[INFO] [stderr] 136 | |             let shares;
[INFO] [stderr] 137 | |             let cpu_re = Regex::new(r"^cpu(.*)").unwrap();
[INFO] [stderr] 138 | |             let mem_re = Regex::new(r"^mem(.*)").unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 151 | |             tx.send((String::from(res), shares)).unwrap();
[INFO] [stderr] 152 | |         }).join();
[INFO] [stderr]     | |_________^
[INFO] [stderr]     = note: expected  `&container::cgroup_reader::Reader`
[INFO] [stderr]                found  `&container::cgroup_reader::Reader`
[INFO] [stderr]     = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stderr] note: ...so that the type `[closure@src/container/cgroup_reader.rs:135:23: 152:10 res:&str, self:&container::cgroup_reader::Reader, tx_thread:std::sync::Arc<std::sync::Mutex<std::sync::mpsc::Sender<(std::string::String, std::string::String)>>>]` will meet its required lifetime bounds
[INFO] [stderr]    --> src/container/cgroup_reader.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |         thread::spawn(move || {
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/manager/mod.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn walk_proc(&self, cb: Fn(&DirEntry)) {
[INFO] [stderr]    |                                            - expected `()` because of default return type
[INFO] [stderr] ...
[INFO] [stderr] 23 |             for entry in try!(fs::read_dir(proc_dir)) {
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found enum `std::result::Result`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected unit type `()`
[INFO] [stderr]                    found enum `std::result::Result<_, _>`
[INFO] [stderr]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0609]: no field `cpu` on type `container::ns_reader::Reader`
[INFO] [stderr]   --> src/manager/mod.rs:32:20
[INFO] [stderr]    |
[INFO] [stderr] 32 |             reader.cpu.read(),
[INFO] [stderr]    |                    ^^^ unknown field
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `ipc` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:33:20
[INFO] [stderr]    |
[INFO] [stderr] 33 |             reader.ipc.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::IPC_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:33:24
[INFO] [stderr]    |
[INFO] [stderr] 33 |             reader.ipc.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::IPC_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | struct IPC_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `mnt` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:34:20
[INFO] [stderr]    |
[INFO] [stderr] 34 |             reader.mnt.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::MNT_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:34:24
[INFO] [stderr]    |
[INFO] [stderr] 34 |             reader.mnt.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::MNT_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | struct MNT_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `net` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:35:20
[INFO] [stderr]    |
[INFO] [stderr] 35 |             reader.net.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::Net_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:35:24
[INFO] [stderr]    |
[INFO] [stderr] 35 |             reader.net.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::Net_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:61:1
[INFO] [stderr]    |
[INFO] [stderr] 61 | struct Net_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `pid` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:36:20
[INFO] [stderr]    |
[INFO] [stderr] 36 |             reader.pid.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::PID_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:36:24
[INFO] [stderr]    |
[INFO] [stderr] 36 |             reader.pid.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::PID_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:71:1
[INFO] [stderr]    |
[INFO] [stderr] 71 | struct PID_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/container/ns_reader.rs:11:35
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn parse_ns_f(content: String) -> u32 {
[INFO] [stderr]    |    ----------                     ^^^ expected `u32`, found `()`
[INFO] [stderr]    |    |
[INFO] [stderr]    |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stderr] ...
[INFO] [stderr] 22 |     ns.parse::<u32>().unwrap();
[INFO] [stderr]    |                               - help: consider removing this semicolon
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `uts` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:37:20
[INFO] [stderr]    |
[INFO] [stderr] 37 |             reader.uts.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::UTS_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:37:24
[INFO] [stderr]    |
[INFO] [stderr] 37 |             reader.uts.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::UTS_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:81:1
[INFO] [stderr]    |
[INFO] [stderr] 81 | struct UTS_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `capcity` found for struct `std::vec::Vec<(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)>` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:39:19
[INFO] [stderr]    |
[INFO] [stderr] 39 |         if groups.capcity() == 0 {
[INFO] [stderr]    |                   ^^^^^^^ help: there is an associated function with a similar name: `capacity`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stderr]   --> src/manager/mod.rs:40:20
[INFO] [stderr]    |
[INFO] [stderr] 40 |             groups.push(new_group, vec![process]);
[INFO] [stderr]    |                    ^^^^ ---------  ------------- supplied 2 arguments
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    expected 1 argument
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/manager/mod.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 44 |             let (namespaces, procs) = group;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^   ----- this expression has type `std::vec::Vec<std::string::String>`
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 expected struct `std::vec::Vec`, found tuple
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected struct `std::vec::Vec<std::string::String>`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the type `[(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)]` cannot be indexed by `std::vec::Vec<container::process::Process>`
[INFO] [stderr]   --> src/manager/mod.rs:53:17
[INFO] [stderr]    |
[INFO] [stderr] 53 |                 groups[idx] = (namespaces, procs);
[INFO] [stderr]    |                 ^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `std::slice::SliceIndex<[(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)]>` is not implemented for `std::vec::Vec<container::process::Process>`
[INFO] [stderr]    = note: required because of the requirements on the impl of `std::ops::Index<std::vec::Vec<container::process::Process>>` for `std::vec::Vec<(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `strip_prefix` found for reference `&std::fs::DirEntry` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:63:30
[INFO] [stderr]    |
[INFO] [stderr] 63 |             let path = entry.strip_prefix("/proc/");
[INFO] [stderr]    |                              ^^^^^^^^^^^^ method not found in `&std::fs::DirEntry`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `new` found for struct `container::process::Process` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:65:35
[INFO] [stderr]    |
[INFO] [stderr] 65 |             let p_proc = Process::new(String::new(path_str));
[INFO] [stderr]    |                                   ^^^ function or associated item not found in `container::process::Process`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/process.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | pub struct Process {
[INFO] [stderr]    | ------------------ function or associated item `new` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following trait defines an item `new`, perhaps you need to implement it:
[INFO] [stderr]            candidate #1: `aho_corasick::Transitions`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stderr]   --> src/manager/mod.rs:65:39
[INFO] [stderr]    |
[INFO] [stderr] 65 |             let p_proc = Process::new(String::new(path_str));
[INFO] [stderr]    |                                       ^^^^^^^^^^^ -------- supplied 1 argument
[INFO] [stderr]    |                                       |
[INFO] [stderr]    |                                       expected 0 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn for<'r> std::ops::Fn(&'r std::fs::DirEntry) + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/manager/mod.rs:20:25
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn walk_proc(&self, cb: Fn(&DirEntry)) {
[INFO] [stderr]    |                         ^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `std::marker::Sized` is not implemented for `(dyn for<'r> std::ops::Fn(&'r std::fs::DirEntry) + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: all local variables must have a statically known size
[INFO] [stderr]    = help: unsized locals are gated as an unstable feature
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/manager/mod.rs:62:24
[INFO] [stderr]    |
[INFO] [stderr] 62 |           self.walk_proc(|entry|{
[INFO] [stderr]    |  ________________________^
[INFO] [stderr] 63 | |             let path = entry.strip_prefix("/proc/");
[INFO] [stderr] 64 | |             let path_str = path.to_str();
[INFO] [stderr] 65 | |             let p_proc = Process::new(String::new(path_str));
[INFO] [stderr] 66 | |             let ns = ns_reader::new(p_proc.pid);
[INFO] [stderr] 67 | |             procs = self.match_ns(&p_proc, ns, procs);
[INFO] [stderr] 68 | |         });
[INFO] [stderr]    | |_________^ expected trait object `dyn std::ops::Fn`, found closure
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected trait object `(dyn for<'r> std::ops::Fn(&'r std::fs::DirEntry) + 'static)`
[INFO] [stderr]                    found closure `[closure@src/manager/mod.rs:62:24: 68:10 self:_, procs:_]`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/manager/mod.rs:60:37
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn get_process_groups(&self) -> Vec<NS_Group> {
[INFO] [stderr]    |        ------------------           ^^^^^^^^^^^^^ expected struct `std::vec::Vec`, found `()`
[INFO] [stderr]    |        |
[INFO] [stderr]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stderr] ...
[INFO] [stderr] 69 |         procs;
[INFO] [stderr]    |              - help: consider removing this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected struct `std::vec::Vec<(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)>`
[INFO] [stderr]            found unit type `()`
[INFO] [stderr] 
[INFO] [stderr] error[E0624]: associated function `update` is private
[INFO] [stderr]   --> src/manager/mod.rs:82:27
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 container.update()
[INFO] [stderr]    |                           ^^^^^^ private associated function
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stderr]    --> src/manager/mod.rs:92:24
[INFO] [stderr]     |
[INFO] [stderr] 92  |         ext_ns_reader: ns_reader::new(),
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^-- supplied 0 arguments
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        expected 1 argument
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/container/ns_reader.rs:100:1
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub fn new(pid: u32) -> Reader {
[INFO] [stderr]     | ------------------------------ defined here
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 32 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0277, E0308, E0495, E0599, E0609, E0616, E0621, E0624.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error: could not compile `conspect`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/manager/mod.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn walk_proc(&self, cb: Fn(&DirEntry)) {
[INFO] [stderr]    |                                            - expected `()` because of default return type
[INFO] [stderr] ...
[INFO] [stderr] 23 |             for entry in try!(fs::read_dir(proc_dir)) {
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found enum `std::result::Result`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected unit type `()`
[INFO] [stderr]                    found enum `std::result::Result<_, _>`
[INFO] [stderr]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0609]: no field `cpu` on type `container::ns_reader::Reader`
[INFO] [stderr]   --> src/manager/mod.rs:32:20
[INFO] [stderr]    |
[INFO] [stderr] 32 |             reader.cpu.read(),
[INFO] [stderr]    |                    ^^^ unknown field
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `ipc` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:33:20
[INFO] [stderr]    |
[INFO] [stderr] 33 |             reader.ipc.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::IPC_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:33:24
[INFO] [stderr]    |
[INFO] [stderr] 33 |             reader.ipc.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::IPC_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | struct IPC_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `mnt` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:34:20
[INFO] [stderr]    |
[INFO] [stderr] 34 |             reader.mnt.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::MNT_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:34:24
[INFO] [stderr]    |
[INFO] [stderr] 34 |             reader.mnt.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::MNT_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | struct MNT_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `net` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:35:20
[INFO] [stderr]    |
[INFO] [stderr] 35 |             reader.net.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::Net_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:35:24
[INFO] [stderr]    |
[INFO] [stderr] 35 |             reader.net.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::Net_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:61:1
[INFO] [stderr]    |
[INFO] [stderr] 61 | struct Net_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `pid` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:36:20
[INFO] [stderr]    |
[INFO] [stderr] 36 |             reader.pid.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::PID_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:36:24
[INFO] [stderr]    |
[INFO] [stderr] 36 |             reader.pid.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::PID_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:71:1
[INFO] [stderr]    |
[INFO] [stderr] 71 | struct PID_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0616]: field `uts` of struct `container::ns_reader::Reader` is private
[INFO] [stderr]   --> src/manager/mod.rs:37:20
[INFO] [stderr]    |
[INFO] [stderr] 37 |             reader.uts.read(),
[INFO] [stderr]    |                    ^^^ private field
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `read` found for struct `container::ns_reader::UTS_NS_Reader` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:37:24
[INFO] [stderr]    |
[INFO] [stderr] 37 |             reader.uts.read(),
[INFO] [stderr]    |                        ^^^^ method not found in `container::ns_reader::UTS_NS_Reader`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/ns_reader.rs:81:1
[INFO] [stderr]    |
[INFO] [stderr] 81 | struct UTS_NS_Reader {
[INFO] [stderr]    | -------------------- method `read` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `container::cgroup_reader::CGroup_Reader`
[INFO] [stderr]            candidate #2: `container::ns_reader::NS_Reader`
[INFO] [stderr]            candidate #3: `std::io::Read`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `capcity` found for struct `std::vec::Vec<(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)>` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:39:19
[INFO] [stderr]    |
[INFO] [stderr] 39 |         if groups.capcity() == 0 {
[INFO] [stderr]    |                   ^^^^^^^ help: there is an associated function with a similar name: `capacity`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stderr]   --> src/manager/mod.rs:40:20
[INFO] [stderr]    |
[INFO] [stderr] 40 |             groups.push(new_group, vec![process]);
[INFO] [stderr]    |                    ^^^^ ---------  ------------- supplied 2 arguments
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    expected 1 argument
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/manager/mod.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 44 |             let (namespaces, procs) = group;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^   ----- this expression has type `std::vec::Vec<std::string::String>`
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 expected struct `std::vec::Vec`, found tuple
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected struct `std::vec::Vec<std::string::String>`
[INFO] [stderr]                found tuple `(_, _)`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the type `[(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)]` cannot be indexed by `std::vec::Vec<container::process::Process>`
[INFO] [stderr]   --> src/manager/mod.rs:53:17
[INFO] [stderr]    |
[INFO] [stderr] 53 |                 groups[idx] = (namespaces, procs);
[INFO] [stderr]    |                 ^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `std::slice::SliceIndex<[(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)]>` is not implemented for `std::vec::Vec<container::process::Process>`
[INFO] [stderr]    = note: required because of the requirements on the impl of `std::ops::Index<std::vec::Vec<container::process::Process>>` for `std::vec::Vec<(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `strip_prefix` found for reference `&std::fs::DirEntry` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:63:30
[INFO] [stderr]    |
[INFO] [stderr] 63 |             let path = entry.strip_prefix("/proc/");
[INFO] [stderr]    |                              ^^^^^^^^^^^^ method not found in `&std::fs::DirEntry`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `new` found for struct `container::process::Process` in the current scope
[INFO] [stderr]   --> src/manager/mod.rs:65:35
[INFO] [stderr]    |
[INFO] [stderr] 65 |             let p_proc = Process::new(String::new(path_str));
[INFO] [stderr]    |                                   ^^^ function or associated item not found in `container::process::Process`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/container/process.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | pub struct Process {
[INFO] [stderr]    | ------------------ function or associated item `new` not found for this
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following trait defines an item `new`, perhaps you need to implement it:
[INFO] [stderr]            candidate #1: `aho_corasick::Transitions`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stderr]   --> src/manager/mod.rs:65:39
[INFO] [stderr]    |
[INFO] [stderr] 65 |             let p_proc = Process::new(String::new(path_str));
[INFO] [stderr]    |                                       ^^^^^^^^^^^ -------- supplied 1 argument
[INFO] [stderr]    |                                       |
[INFO] [stderr]    |                                       expected 0 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/manager/mod.rs:62:24
[INFO] [stderr]    |
[INFO] [stderr] 62 |           self.walk_proc(|entry|{
[INFO] [stderr]    |  ________________________^
[INFO] [stderr] 63 | |             let path = entry.strip_prefix("/proc/");
[INFO] [stderr] 64 | |             let path_str = path.to_str();
[INFO] [stderr] 65 | |             let p_proc = Process::new(String::new(path_str));
[INFO] [stderr] 66 | |             let ns = ns_reader::new(p_proc.pid);
[INFO] [stderr] 67 | |             procs = self.match_ns(&p_proc, ns, procs);
[INFO] [stderr] 68 | |         });
[INFO] [stderr]    | |_________^ expected trait object `dyn std::ops::Fn`, found closure
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected trait object `(dyn for<'r> std::ops::Fn(&'r std::fs::DirEntry) + 'static)`
[INFO] [stderr]                    found closure `[closure@src/manager/mod.rs:62:24: 68:10 self:_, procs:_]`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/manager/mod.rs:60:37
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn get_process_groups(&self) -> Vec<NS_Group> {
[INFO] [stderr]    |        ------------------           ^^^^^^^^^^^^^ expected struct `std::vec::Vec`, found `()`
[INFO] [stderr]    |        |
[INFO] [stderr]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stderr] ...
[INFO] [stderr] 69 |         procs;
[INFO] [stderr]    |              - help: consider removing this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected struct `std::vec::Vec<(std::vec::Vec<std::string::String>, std::vec::Vec<container::process::Process>)>`
[INFO] [stderr]            found unit type `()`
[INFO] [stderr] 
[INFO] [stderr] error[E0624]: associated function `update` is private
[INFO] [stderr]   --> src/manager/mod.rs:82:27
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 container.update()
[INFO] [stderr]    |                           ^^^^^^ private associated function
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stderr]    --> src/manager/mod.rs:92:24
[INFO] [stderr]     |
[INFO] [stderr] 92  |         ext_ns_reader: ns_reader::new(),
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^-- supplied 0 arguments
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        expected 1 argument
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/container/ns_reader.rs:100:1
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub fn new(pid: u32) -> Reader {
[INFO] [stderr]     | ------------------------------ defined here
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 32 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0277, E0308, E0495, E0599, E0609, E0616, E0621, E0624.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error: could not compile `conspect`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "03fd79fd1485918c675c33e6aae3bf739764766bf27bd2b6f3b08ef93d168770"`
[INFO] running `"docker" "rm" "-f" "03fd79fd1485918c675c33e6aae3bf739764766bf27bd2b6f3b08ef93d168770"`
[INFO] [stdout] 03fd79fd1485918c675c33e6aae3bf739764766bf27bd2b6f3b08ef93d168770
