[INFO] cloning repository https://github.com/post-rex/doit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/post-rex/doit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpost-rex%2Fdoit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpost-rex%2Fdoit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0147a149228116fe0cc6a17bdb185d0d75dd7e36 [INFO] checking post-rex/doit against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpost-rex%2Fdoit" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/post-rex/doit on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/post-rex/doit [INFO] finished tweaking git repo https://github.com/post-rex/doit [INFO] tweaked toml for git repo https://github.com/post-rex/doit written to /workspace/builds/worker-9/source/Cargo.toml [INFO] crate git repo https://github.com/post-rex/doit already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fancy-regex v0.4.1 [INFO] [stderr] Downloaded pam-sys v0.5.6 [INFO] [stderr] Downloaded users v0.8.1 [INFO] [stderr] Downloaded pam v0.7.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b5a96b35a157db02bc82f17b554c5fb91ce75dc975a82a18317335cbc0f00585 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b5a96b35a157db02bc82f17b554c5fb91ce75dc975a82a18317335cbc0f00585", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b5a96b35a157db02bc82f17b554c5fb91ce75dc975a82a18317335cbc0f00585", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b5a96b35a157db02bc82f17b554c5fb91ce75dc975a82a18317335cbc0f00585", kill_on_drop: false }` [INFO] [stdout] b5a96b35a157db02bc82f17b554c5fb91ce75dc975a82a18317335cbc0f00585 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 59a4781476cc0907d4500cbe36fc7a9e4b183a521bfcc419915c20fa7a0359cb [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "59a4781476cc0907d4500cbe36fc7a9e4b183a521bfcc419915c20fa7a0359cb", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.82 [INFO] [stderr] Compiling syn v1.0.58 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling serde_derive v1.0.120 [INFO] [stderr] Compiling serde v1.0.120 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Compiling pam-sys v0.5.6 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking strfmt v0.1.6 [INFO] [stderr] Compiling heck v0.3.2 [INFO] [stderr] Checking thread_local v1.1.0 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking regex v1.4.3 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking fancy-regex v0.4.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking users v0.8.1 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking pam v0.7.0 [INFO] [stderr] Checking term v0.7.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling structopt-derive v0.4.14 [INFO] [stderr] Checking structopt v0.3.21 [INFO] [stderr] Checking ron v0.6.4 [INFO] [stderr] Checking doit v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0585]: found a documentation comment that doesn't document anything [INFO] [stdout] --> src/config/file.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | /// Format string with dynamic values [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: doc comments must come before what they document, maybe a comment was intended with `//`? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0585]: found a documentation comment that doesn't document anything [INFO] [stdout] --> src/config/file.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | /// Format string with dynamic values [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: doc comments must come before what they document, maybe a comment was intended with `//`? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::config::file::FileBoundConfig` [INFO] [stdout] --> src/config/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::config::file::FileBoundConfig; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `FileBoundConfig` in `config::file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `crate::config::Command`, `crate::config::ExecRight`, `crate::config::UserMode` [INFO] [stdout] --> src/user.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::config::{Command, ExecRight, UserMode}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^ no `UserMode` in `config` [INFO] [stdout] | | | [INFO] [stdout] | | no `ExecRight` in `config` [INFO] [stdout] | no `Command` in `config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::config::file::FileBoundConfig` [INFO] [stdout] --> src/config/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::config::file::FileBoundConfig; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `FileBoundConfig` in `config::file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `crate::config::Command`, `crate::config::ExecRight`, `crate::config::UserMode` [INFO] [stdout] --> src/user.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::config::{Command, ExecRight, UserMode}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^ no `UserMode` in `config` [INFO] [stdout] | | | [INFO] [stdout] | | no `ExecRight` in `config` [INFO] [stdout] | no `Command` in `config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected value, found builtin type `str` [INFO] [stdout] --> src/config/mod.rs:68:54 [INFO] [stdout] | [INFO] [stdout] 68 | Ok(cfg) => ron::from_str::(&str).map_err(ConfigError::ParseErr), [INFO] [stdout] | ^^^ not a value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected value, found builtin type `str` [INFO] [stdout] --> src/config/mod.rs:68:54 [INFO] [stdout] | [INFO] [stdout] 68 | Ok(cfg) => ron::from_str::(&str).map_err(ConfigError::ParseErr), [INFO] [stdout] | ^^^ not a value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/config/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/config/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> src/config/mod.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ffi::{CStr, CString}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/config/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> src/config/mod.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ffi::{CStr, CString}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EAGAIN`, `passwd` [INFO] [stdout] --> src/linux.rs:1:48 [INFO] [stdout] | [INFO] [stdout] 1 | use libc::{__errno_location, getpwuid, getuid, passwd, setuid, EAGAIN, ENOENT, EPERM}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CString` [INFO] [stdout] --> src/linux.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ffi::{CStr, CString, OsStr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/config/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EAGAIN`, `passwd` [INFO] [stdout] --> src/linux.rs:1:48 [INFO] [stdout] | [INFO] [stdout] 1 | use libc::{__errno_location, getpwuid, getuid, passwd, setuid, EAGAIN, ENOENT, EPERM}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CString` [INFO] [stdout] --> src/linux.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ffi::{CStr, CString, OsStr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `VecDeque` [INFO] [stdout] --> src/main.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::{HashMap, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `VecDeque` [INFO] [stdout] --> src/main.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::{HashMap, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `ExecutionAction` [INFO] [stdout] --> src/main.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::config::{ConfigError, Config, RuntimeConfig, ExecutionAction}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `ExecutionAction` [INFO] [stdout] --> src/main.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::config::{ConfigError, Config, RuntimeConfig, ExecutionAction}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `ConfigError` doesn't implement `Debug` [INFO] [stdout] --> src/main.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | ConfigErr(config::ConfigError), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `ConfigError` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `ConfigError` [INFO] [stdout] = note: add `#[derive(Debug)]` or manually implement `Debug` [INFO] [stdout] = note: required because of the requirements on the impl of `Debug` for `&ConfigError` [INFO] [stdout] = note: required for the cast to the object type `dyn Debug` [INFO] [stdout] = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0600]: cannot apply unary operator `!` to type `Result` [INFO] [stdout] --> src/config/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if !crate::linux::is_readonly(CONFIG_PATH) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot apply unary operator `!` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Result: From>` is not satisfied [INFO] [stdout] --> src/config/mod.rs:65:46 [INFO] [stdout] | [INFO] [stdout] 65 | std::fs::read_to_string(CONFIG_PATH).into() [INFO] [stdout] | ^^^^ the trait `From>` is not implemented for `Result` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] as From<&miniz_oxide::StreamResult>> [INFO] [stdout] as From> [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/config/mod.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 83 | todo!("print error: invalid user id"); [INFO] [stdout] | -------------------------------------- any code following this expression is unreachable [INFO] [stdout] 84 | return Err(ConfigError::InvalidUserId(uid)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/config/mod.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 93 | todo!("print error: invalid user name"); [INFO] [stdout] | ---------------------------------------- any code following this expression is unreachable [INFO] [stdout] 94 | return Err(ConfigError::InvalidUserName(name.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/config/mod.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 130 | todo!("Print error"); [INFO] [stdout] | --------------------- any code following this expression is unreachable [INFO] [stdout] 131 | false [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/config/mod.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 135 | todo!("Print advanced error"); [INFO] [stdout] | ------------------------------ any code following this expression is unreachable [INFO] [stdout] 136 | false [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/config/mod.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 142 | todo!("Print advanced error"); [INFO] [stdout] | ------------------------------ any code following this expression is unreachable [INFO] [stdout] 143 | false [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_bytes` found for reference `&OsStr` in the current scope [INFO] [stdout] --> src/linux.rs:78:27 [INFO] [stdout] | [INFO] [stdout] 78 | match libc::stat(path.as_bytes().as_ptr() as *const c_char, stat) { [INFO] [stdout] | ^^^^^^^^ method not found in `&OsStr` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::os::unix::ffi::OsStrExt;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `st_mode` on type `*mut libc::stat` [INFO] [stdout] --> src/linux.rs:83:22 [INFO] [stdout] | [INFO] [stdout] 83 | let perms = stat.st_mode; [INFO] [stdout] | -----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: `stat` is a raw pointer; try dereferencing it: `(*stat).st_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0432, E0585, E0599, E0600, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0277]: `ConfigError` doesn't implement `Debug` [INFO] [stdout] --> src/main.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | ConfigErr(config::ConfigError), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `ConfigError` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `ConfigError` [INFO] [stdout] = note: add `#[derive(Debug)]` or manually implement `Debug` [INFO] [stdout] = note: required because of the requirements on the impl of `Debug` for `&ConfigError` [INFO] [stdout] = note: required for the cast to the object type `dyn Debug` [INFO] [stdout] = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0600]: cannot apply unary operator `!` to type `Result` [INFO] [stdout] --> src/config/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if !crate::linux::is_readonly(CONFIG_PATH) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot apply unary operator `!` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Result: From>` is not satisfied [INFO] [stdout] --> src/config/mod.rs:65:46 [INFO] [stdout] | [INFO] [stdout] 65 | std::fs::read_to_string(CONFIG_PATH).into() [INFO] [stdout] | ^^^^ the trait `From>` is not implemented for `Result` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] as From<&miniz_oxide::StreamResult>> [INFO] [stdout] as From> [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `doit` [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] [stdout] warning: unreachable statement [INFO] [stdout] --> src/config/mod.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 83 | todo!("print error: invalid user id"); [INFO] [stdout] | -------------------------------------- any code following this expression is unreachable [INFO] [stdout] 84 | return Err(ConfigError::InvalidUserId(uid)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/config/mod.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 93 | todo!("print error: invalid user name"); [INFO] [stdout] | ---------------------------------------- any code following this expression is unreachable [INFO] [stdout] 94 | return Err(ConfigError::InvalidUserName(name.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/config/mod.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 130 | todo!("Print error"); [INFO] [stdout] | --------------------- any code following this expression is unreachable [INFO] [stdout] 131 | false [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/config/mod.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 135 | todo!("Print advanced error"); [INFO] [stdout] | ------------------------------ any code following this expression is unreachable [INFO] [stdout] 136 | false [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/config/mod.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 142 | todo!("Print advanced error"); [INFO] [stdout] | ------------------------------ any code following this expression is unreachable [INFO] [stdout] 143 | false [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_bytes` found for reference `&OsStr` in the current scope [INFO] [stdout] --> src/linux.rs:78:27 [INFO] [stdout] | [INFO] [stdout] 78 | match libc::stat(path.as_bytes().as_ptr() as *const c_char, stat) { [INFO] [stdout] | ^^^^^^^^ method not found in `&OsStr` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::os::unix::ffi::OsStrExt;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `st_mode` on type `*mut libc::stat` [INFO] [stdout] --> src/linux.rs:83:22 [INFO] [stdout] | [INFO] [stdout] 83 | let perms = stat.st_mode; [INFO] [stdout] | -----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: `stat` is a raw pointer; try dereferencing it: `(*stat).st_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0432, E0585, E0599, E0600, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "59a4781476cc0907d4500cbe36fc7a9e4b183a521bfcc419915c20fa7a0359cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59a4781476cc0907d4500cbe36fc7a9e4b183a521bfcc419915c20fa7a0359cb", kill_on_drop: false }` [INFO] [stdout] 59a4781476cc0907d4500cbe36fc7a9e4b183a521bfcc419915c20fa7a0359cb