[INFO] cloning repository https://github.com/aldorithms/cobalt-strikeout [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aldorithms/cobalt-strikeout" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faldorithms%2Fcobalt-strikeout", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faldorithms%2Fcobalt-strikeout'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f3264fd22a74fb61ff18c29b1552bb101221420d [INFO] checking aldorithms/cobalt-strikeout against master#74c3f5a146860c94ff4d179fc3bfa34f879adf41 for pr-120248 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faldorithms%2Fcobalt-strikeout" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/aldorithms/cobalt-strikeout on toolchain 74c3f5a146860c94ff4d179fc3bfa34f879adf41 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+74c3f5a146860c94ff4d179fc3bfa34f879adf41" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/aldorithms/cobalt-strikeout [INFO] finished tweaking git repo https://github.com/aldorithms/cobalt-strikeout [INFO] tweaked toml for git repo https://github.com/aldorithms/cobalt-strikeout written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/aldorithms/cobalt-strikeout already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+74c3f5a146860c94ff4d179fc3bfa34f879adf41" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] checking aldorithms/cobalt-strikeout against try#13cae6066db2d5e6c9bb508caceec8d34ca49980 for pr-120248 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faldorithms%2Fcobalt-strikeout" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/aldorithms/cobalt-strikeout on toolchain 13cae6066db2d5e6c9bb508caceec8d34ca49980 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+13cae6066db2d5e6c9bb508caceec8d34ca49980" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/aldorithms/cobalt-strikeout [INFO] finished tweaking git repo https://github.com/aldorithms/cobalt-strikeout [INFO] tweaked toml for git repo https://github.com/aldorithms/cobalt-strikeout written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/aldorithms/cobalt-strikeout already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+13cae6066db2d5e6c9bb508caceec8d34ca49980" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded groups v0.1.1 [INFO] [stderr] Downloaded prctl v1.0.0 [INFO] [stderr] Downloaded rlimit v0.10.1 [INFO] [stderr] Downloaded which v5.0.0 [INFO] [stderr] Downloaded color-spantrace v0.2.1 [INFO] [stderr] Downloaded eyre v0.6.11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+13cae6066db2d5e6c9bb508caceec8d34ca49980" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 230218d6c0186df153c3c3826cef6e3b5e2d31144cf74cd065ef10043e5c0e83 [INFO] running `Command { std: "docker" "start" "-a" "230218d6c0186df153c3c3826cef6e3b5e2d31144cf74cd065ef10043e5c0e83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "230218d6c0186df153c3c3826cef6e3b5e2d31144cf74cd065ef10043e5c0e83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "230218d6c0186df153c3c3826cef6e3b5e2d31144cf74cd065ef10043e5c0e83", kill_on_drop: false }` [INFO] [stdout] 230218d6c0186df153c3c3826cef6e3b5e2d31144cf74cd065ef10043e5c0e83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+13cae6066db2d5e6c9bb508caceec8d34ca49980" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e8b2b9f14667998c4a9bdb773c132df4870a9d1731e2be57c3fd9b1beed5bcb8 [INFO] running `Command { std: "docker" "start" "-a" "e8b2b9f14667998c4a9bdb773c132df4870a9d1731e2be57c3fd9b1beed5bcb8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling rustix v0.38.28 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Compiling eyre v0.6.11 [INFO] [stderr] Compiling rlimit v0.10.1 [INFO] [stderr] Checking linux-raw-sys v0.4.12 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking thread_local v1.1.7 [INFO] [stderr] Checking object v0.32.2 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Checking owo-colors v3.5.0 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Checking inotify v0.9.6 [INFO] [stderr] Checking nix v0.27.1 [INFO] [stderr] Checking mio v0.8.10 [INFO] [stderr] Checking filetime v0.2.23 [INFO] [stderr] Checking walkdir v2.4.0 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking socket2 v0.5.5 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking users v0.11.0 [INFO] [stderr] Checking groups v0.1.1 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking crossbeam-channel v0.5.11 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Checking prctl v1.0.0 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking notify v6.1.1 [INFO] [stderr] Checking tracing-error v0.2.0 [INFO] [stderr] Checking color-spantrace v0.2.1 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Checking which v5.0.0 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Checking color-eyre v0.6.2 [INFO] [stderr] Checking cobalt-strikeout v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find function `chmod` in this scope [INFO] [stdout] --> src/audit/file_permission.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | chmod(path, mode)?; [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::chmod; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `chmod` in this scope [INFO] [stdout] --> src/audit/file_permission.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | chmod(path, mode)?; [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::chmod; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DirEntry` [INFO] [stdout] --> src/discovery.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::{self, DirEntry}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufWriter` [INFO] [stdout] --> src/audit/password_policy.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, BufWriter, Error, ErrorKind, Write, SeekFrom, Seek, BufRead}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DirEntry` [INFO] [stdout] --> src/discovery.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::{self, DirEntry}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `chown` [INFO] [stdout] --> src/audit/password_policy.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use std::os::unix::fs::{PermissionsExt, chown,}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufWriter` [INFO] [stdout] --> src/audit/password_policy.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, BufWriter, Error, ErrorKind, Write, SeekFrom, Seek, BufRead}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `OpenOptions` [INFO] [stdout] --> src/audit/file_permission.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `BufWriter`, `ErrorKind`, `SeekFrom`, `Seek`, `Write` [INFO] [stdout] --> src/audit/file_permission.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, BufWriter, Error, ErrorKind, Write, SeekFrom, Seek, BufRead}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `chown` [INFO] [stdout] --> src/audit/password_policy.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use std::os::unix::fs::{PermissionsExt, chown,}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PermissionsExt` [INFO] [stdout] --> src/audit/file_permission.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use std::os::unix::fs::{PermissionsExt, chown,}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `OpenOptions` [INFO] [stdout] --> src/audit/file_permission.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `BufWriter`, `ErrorKind`, `SeekFrom`, `Seek`, `Write` [INFO] [stdout] --> src/audit/file_permission.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, BufWriter, Error, ErrorKind, Write, SeekFrom, Seek, BufRead}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PermissionsExt` [INFO] [stdout] --> src/audit/file_permission.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use std::os::unix::fs::{PermissionsExt, chown,}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/audit/file_permission.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, owner, group)?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: expected `Option`, found `u32` [INFO] [stdout] --> src/audit/file_permission.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, owner, group)?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found type `u32` [INFO] [stdout] note: expected `Option`, found `u32` [INFO] [stdout] --> src/audit/file_permission.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, owner, group)?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found type `u32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/13cae6066db2d5e6c9bb508caceec8d34ca49980/library/std/src/os/unix/fs.rs:1011:8 [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, Some(owner), group)?; [INFO] [stdout] | +++++ + [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, owner, Some(group))?; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/audit/file_permission.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, owner, group)?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: expected `Option`, found `u32` [INFO] [stdout] --> src/audit/file_permission.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, owner, group)?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found type `u32` [INFO] [stdout] note: expected `Option`, found `u32` [INFO] [stdout] --> src/audit/file_permission.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, owner, group)?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found type `u32` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/13cae6066db2d5e6c9bb508caceec8d34ca49980/library/std/src/os/unix/fs.rs:1011:8 [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, Some(owner), group)?; [INFO] [stdout] | +++++ + [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 10 | chown(path, owner, Some(group))?; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:17:59 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] 16 | // Set permissions for /etc/passwd [INFO] [stdout] 17 | set_permissions(Path::new("/etc/passwd"), 0, 0, 0o644)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:17:59 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] 16 | // Set permissions for /etc/passwd [INFO] [stdout] 17 | set_permissions(Path::new("/etc/passwd"), 0, 0, 0o644)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:18:60 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 18 | set_permissions(Path::new("/etc/passwd-"), 0, 0, 0o666)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:18:60 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 18 | set_permissions(Path::new("/etc/passwd-"), 0, 0, 0o666)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:21:58 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 21 | set_permissions(Path::new("/etc/group"), 0, 0, 0o644)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:21:58 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 21 | set_permissions(Path::new("/etc/group"), 0, 0, 0o644)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:22:59 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 22 | set_permissions(Path::new("/etc/group-"), 0, 0, 0o644)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:22:59 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 22 | set_permissions(Path::new("/etc/group-"), 0, 0, 0o644)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:25:59 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 25 | set_permissions(Path::new("/etc/shadow"), 0, 2, 0o640)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:25:59 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 25 | set_permissions(Path::new("/etc/shadow"), 0, 2, 0o640)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:26:60 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 26 | set_permissions(Path::new("/etc/shadow-"), 0, 2, 0o640)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:26:60 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 26 | set_permissions(Path::new("/etc/shadow-"), 0, 2, 0o640)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:29:46 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 29 | let pwd = users::get_user_by_name("root")?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:29:46 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 29 | let pwd = users::get_user_by_name("root")?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:30:50 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 30 | let grp = groups::get_group_by_name("shadow")?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:30:50 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 30 | let grp = groups::get_group_by_name("shadow")?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `gid` found for struct `groups::Group` in the current scope [INFO] [stdout] --> src/audit/file_permission.rs:33:63 [INFO] [stdout] | [INFO] [stdout] 33 | set_permissions(Path::new("/etc/gshadow"), pwd.uid(), grp.gid(), 0o640)?; [INFO] [stdout] | ^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `gid` found for struct `groups::Group` in the current scope [INFO] [stdout] --> src/audit/file_permission.rs:33:63 [INFO] [stdout] | [INFO] [stdout] 33 | set_permissions(Path::new("/etc/gshadow"), pwd.uid(), grp.gid(), 0o640)?; [INFO] [stdout] | ^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:33:76 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 33 | set_permissions(Path::new("/etc/gshadow"), pwd.uid(), grp.gid(), 0o640)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:33:76 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 33 | set_permissions(Path::new("/etc/gshadow"), pwd.uid(), grp.gid(), 0o640)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `gid` found for struct `groups::Group` in the current scope [INFO] [stdout] --> src/audit/file_permission.rs:34:64 [INFO] [stdout] | [INFO] [stdout] 34 | set_permissions(Path::new("/etc/gshadow-"), pwd.uid(), grp.gid(), 0o640)?; [INFO] [stdout] | ^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:34:77 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 34 | set_permissions(Path::new("/etc/gshadow-"), pwd.uid(), grp.gid(), 0o640)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `gid` found for struct `groups::Group` in the current scope [INFO] [stdout] --> src/audit/file_permission.rs:34:64 [INFO] [stdout] | [INFO] [stdout] 34 | set_permissions(Path::new("/etc/gshadow-"), pwd.uid(), grp.gid(), 0o640)?; [INFO] [stdout] | ^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/audit/file_permission.rs:34:77 [INFO] [stdout] | [INFO] [stdout] 15 | fn audit_file_permissions() { [INFO] [stdout] | --------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 34 | set_permissions(Path::new("/etc/gshadow-"), pwd.uid(), grp.gid(), 0o640)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `line` is never read [INFO] [stdout] --> src/hardening/disable/packet_redirect.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | line = "UsePAM yes\n"; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `line` is never read [INFO] [stdout] --> src/hardening/disable/packet_redirect.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | line = "UsePAM yes\n"; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mount_point` [INFO] [stdout] --> src/hardening/ensure/nodev_on_temp.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | if let Some(mount_point) = line.find(" /tmp ") { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mount_point` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mount_point` [INFO] [stdout] --> src/hardening/ensure/nodev_on_temp.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | if let Some(mount_point) = line.find(" /tmp ") { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mount_point` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> src/hardening/restart_service.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let mut command = Command::new("kill") [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hardening/restart_service.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut command = Command::new("kill") [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> src/hardening/restart_service.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let mut command = Command::new("kill") [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hardening/restart_service.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut command = Command::new("kill") [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors; 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0425, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors; 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0425, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `cobalt-strikeout` (lib) due to 15 previous errors; 10 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `cobalt-strikeout` (lib test) due to 15 previous errors; 10 warnings emitted [INFO] running `Command { std: "docker" "inspect" "e8b2b9f14667998c4a9bdb773c132df4870a9d1731e2be57c3fd9b1beed5bcb8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e8b2b9f14667998c4a9bdb773c132df4870a9d1731e2be57c3fd9b1beed5bcb8", kill_on_drop: false }` [INFO] [stdout] e8b2b9f14667998c4a9bdb773c132df4870a9d1731e2be57c3fd9b1beed5bcb8