[INFO] updating cached repository cpg1111/conspect [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/cpg1111/conspect [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/cpg1111/conspect" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/cpg1111/conspect"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/cpg1111/conspect'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/cpg1111/conspect" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/cpg1111/conspect"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/cpg1111/conspect'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 0d08a443728c0d3ea555c1637df036a47be64ce0 [INFO] sha for GitHub repo cpg1111/conspect: 0d08a443728c0d3ea555c1637df036a47be64ce0 [INFO] validating manifest of cpg1111/conspect on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of cpg1111/conspect on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing cpg1111/conspect [INFO] finished frobbing cpg1111/conspect [INFO] frobbed toml for cpg1111/conspect written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/cpg1111/conspect/Cargo.toml [INFO] started frobbing cpg1111/conspect [INFO] finished frobbing cpg1111/conspect [INFO] frobbed toml for cpg1111/conspect written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/cpg1111/conspect/Cargo.toml [INFO] crate cpg1111/conspect already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking cpg1111/conspect against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-6/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/cpg1111/conspect:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 94c7ee32fd9a5cac947b5aac1f3ca1a2de4cc660d42620f3b0a3b8392c7b47d1 [INFO] running `"docker" "start" "-a" "94c7ee32fd9a5cac947b5aac1f3ca1a2de4cc660d42620f3b0a3b8392c7b47d1"` [INFO] [stderr] Checking libc v0.2.16 [INFO] [stderr] Checking regex-syntax v0.3.5 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking regex v0.1.77 [INFO] [stderr] Checking conspect v0.0.1 (/opt/crater/workdir) [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 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, Vec); [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: 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 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, Vec); [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]: method `get_containers` is private [INFO] [stderr] --> src/main.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | mang.get_containers(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0624]: method `update` is private [INFO] [stderr] --> src/main.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | mang.update(); [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[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] = note: expected type `std::string::String` [INFO] [stderr] found type `()` [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>>) { [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>>) { [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] 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>>]` 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/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::().unwrap(); [INFO] [stderr] | - help: consider removing this semicolon [INFO] [stderr] | [INFO] [stderr] = note: expected type `u32` [INFO] [stderr] found type `()` [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 [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: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 type `()` [INFO] [stderr] found type `std::result::Result<_, _>` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-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:13 [INFO] [stderr] | [INFO] [stderr] 33 | reader.ipc.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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:13 [INFO] [stderr] | [INFO] [stderr] 34 | reader.mnt.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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:13 [INFO] [stderr] | [INFO] [stderr] 35 | reader.net.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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:13 [INFO] [stderr] | [INFO] [stderr] 36 | reader.pid.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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:13 [INFO] [stderr] | [INFO] [stderr] 37 | reader.uts.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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 type `std::vec::Vec<(std::vec::Vec, std::vec::Vec)>` 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 a method with a similar name: `capacity` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/manager/mod.rs:40:20 [INFO] [stderr] | [INFO] [stderr] 40 | groups.push(new_group, vec![process]); [INFO] [stderr] | ^^^^ expected 1 parameter [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] | ^^^^^^^^^^^^^^^^^^^ expected struct `std::vec::Vec`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::vec::Vec` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[(std::vec::Vec, std::vec::Vec)]` cannot be indexed by `std::vec::Vec` [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::vec::Vec)]>` is not implemented for `std::vec::Vec` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index>` for `std::vec::Vec<(std::vec::Vec, std::vec::Vec)>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `strip_prefix` found for type `&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] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `new` found for type `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 parameters but 1 parameter 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] | ^^^^^^^^^^^^^^^^^^^^^ expected 0 parameters [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 std::ops::Fn, found closure [INFO] [stderr] | [INFO] [stderr] = note: expected type `(dyn for<'r> std::ops::Fn(&'r std::fs::DirEntry) + 'static)` [INFO] [stderr] found type `[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 { [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 type `std::vec::Vec<(std::vec::Vec, std::vec::Vec)>` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0624]: method `update` is private [INFO] [stderr] --> src/manager/mod.rs:82:27 [INFO] [stderr] | [INFO] [stderr] 82 | container.update() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/manager/mod.rs:92:24 [INFO] [stderr] | [INFO] [stderr] 92 | ext_ns_reader: ns_reader::new(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected 1 parameter [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, 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] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0624]: method `get_containers` is private [INFO] [stderr] --> src/main.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | mang.get_containers(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0624]: method `update` is private [INFO] [stderr] --> src/main.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | mang.update(); [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[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] = note: expected type `std::string::String` [INFO] [stderr] found type `()` [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>>) { [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>>) { [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] 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>>]` 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/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::().unwrap(); [INFO] [stderr] | - help: consider removing this semicolon [INFO] [stderr] | [INFO] [stderr] = note: expected type `u32` [INFO] [stderr] found type `()` [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 [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: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 type `()` [INFO] [stderr] found type `std::result::Result<_, _>` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-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:13 [INFO] [stderr] | [INFO] [stderr] 33 | reader.ipc.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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:13 [INFO] [stderr] | [INFO] [stderr] 34 | reader.mnt.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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:13 [INFO] [stderr] | [INFO] [stderr] 35 | reader.net.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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:13 [INFO] [stderr] | [INFO] [stderr] 36 | reader.pid.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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:13 [INFO] [stderr] | [INFO] [stderr] 37 | reader.uts.read(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for type `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] | ^^^^ [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 type `std::vec::Vec<(std::vec::Vec, std::vec::Vec)>` 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 a method with a similar name: `capacity` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/manager/mod.rs:40:20 [INFO] [stderr] | [INFO] [stderr] 40 | groups.push(new_group, vec![process]); [INFO] [stderr] | ^^^^ expected 1 parameter [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] | ^^^^^^^^^^^^^^^^^^^ expected struct `std::vec::Vec`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::vec::Vec` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[(std::vec::Vec, std::vec::Vec)]` cannot be indexed by `std::vec::Vec` [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::vec::Vec)]>` is not implemented for `std::vec::Vec` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index>` for `std::vec::Vec<(std::vec::Vec, std::vec::Vec)>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `strip_prefix` found for type `&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] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `new` found for type `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 parameters but 1 parameter 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] | ^^^^^^^^^^^^^^^^^^^^^ expected 0 parameters [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 std::ops::Fn, found closure [INFO] [stderr] | [INFO] [stderr] = note: expected type `(dyn for<'r> std::ops::Fn(&'r std::fs::DirEntry) + 'static)` [INFO] [stderr] found type `[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 { [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 type `std::vec::Vec<(std::vec::Vec, std::vec::Vec)>` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0624]: method `update` is private [INFO] [stderr] --> src/manager/mod.rs:82:27 [INFO] [stderr] | [INFO] [stderr] 82 | container.update() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/manager/mod.rs:92:24 [INFO] [stderr] | [INFO] [stderr] 92 | ext_ns_reader: ns_reader::new(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected 1 parameter [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, 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" "94c7ee32fd9a5cac947b5aac1f3ca1a2de4cc660d42620f3b0a3b8392c7b47d1"` [INFO] running `"docker" "rm" "-f" "94c7ee32fd9a5cac947b5aac1f3ca1a2de4cc660d42620f3b0a3b8392c7b47d1"` [INFO] [stdout] 94c7ee32fd9a5cac947b5aac1f3ca1a2de4cc660d42620f3b0a3b8392c7b47d1