[INFO] cloning repository https://github.com/Plenglin/traash [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Plenglin/traash" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlenglin%2Ftraash", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlenglin%2Ftraash'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9cd2d39e7e5d6ebe68ae2c4c02cb0b45c0b8cb2f [INFO] checking Plenglin/traash against master#5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f for pr-87248 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlenglin%2Ftraash" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Plenglin/traash on toolchain 5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Plenglin/traash [INFO] finished tweaking git repo https://github.com/Plenglin/traash [INFO] tweaked toml for git repo https://github.com/Plenglin/traash written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/Plenglin/traash already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e769d0c53ccad7facf440a50f01f62a526b9a92adb220562951bf4da9a7a7aa7 [INFO] running `Command { std: "docker" "start" "-a" "e769d0c53ccad7facf440a50f01f62a526b9a92adb220562951bf4da9a7a7aa7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e769d0c53ccad7facf440a50f01f62a526b9a92adb220562951bf4da9a7a7aa7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e769d0c53ccad7facf440a50f01f62a526b9a92adb220562951bf4da9a7a7aa7", kill_on_drop: false }` [INFO] [stdout] e769d0c53ccad7facf440a50f01f62a526b9a92adb220562951bf4da9a7a7aa7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ef18d78cd005e6fc7139901dc524dc7e9042269fcdc70a16bfc4df61f9e40322 [INFO] running `Command { std: "docker" "start" "-a" "ef18d78cd005e6fc7139901dc524dc7e9042269fcdc70a16bfc4df61f9e40322", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling libc v0.2.85 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling syn v1.0.60 [INFO] [stderr] Checking predicates-core v1.0.2 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking treeline v0.1.0 [INFO] [stderr] Checking normalize-line-endings v0.3.0 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking thread_local v1.1.2 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Checking predicates-tree v1.0.2 [INFO] [stderr] Checking regex v1.4.3 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Checking float-cmp v0.8.0 [INFO] [stderr] Checking predicates v1.0.7 [INFO] [stderr] Checking nix v0.19.1 [INFO] [stderr] Checking traash v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::ast::Command::Single` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::ast::Command::Single; [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/executor.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ffi::{CStr, CString, NulError}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SIGKILL` [INFO] [stdout] --> src/executor.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use nix::sys::signal::Signal::{SIGKILL, SIGTERM}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Signal` [INFO] [stdout] --> src/executor.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | use nix::sys::signal::{kill, Signal}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dup2` [INFO] [stdout] --> src/executor.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | use nix::unistd::{dup2, execv, fork, pipe, ForkResult, Pid}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::BinaryOp::LogAnd` [INFO] [stdout] --> src/parser.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ast::BinaryOp::LogAnd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fork`, `log_and`, `sequential`, `single` [INFO] [stdout] --> src/parser.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ast::{binary, fork, log_and, sequential, single, BinaryOp, Command, SingleCommand}; [INFO] [stdout] | ^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lexer::lex` [INFO] [stdout] --> src/parser.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::lexer::lex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tokens::Token::Semicolon` [INFO] [stdout] --> src/parser.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::tokens::Token::Semicolon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/executor.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | execv(path.as_c_str(), &[]); [INFO] [stdout] | ^^^^^ cannot infer type for type parameter `S` declared on the function `execv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Option: From` is not satisfied [INFO] [stdout] --> src/executor.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | waitpid(p, WaitPidFlag::from_bits(WEXITED)); [INFO] [stdout] | ^^^^^^^ the trait `From` is not implemented for `Option` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nix-0.19.1/src/sys/wait.rs:226:19 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn waitpid>>(pid: P, options: Option) -> Result { [INFO] [stdout] | ----------------- required by this bound in `nix::sys::wait::waitpid` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] as From<&'a Option>> [INFO] [stdout] as From<&'a mut Option>> [INFO] [stdout] as From> [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `Process` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/executor.rs:123:6 [INFO] [stdout] | [INFO] [stdout] 120 | unsafe fn execute_single( [INFO] [stdout] | -------------- implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] ... [INFO] [stdout] 123 | ) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Result`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/executor.rs:133:16 [INFO] [stdout] | [INFO] [stdout] 133 | Ok(execute(*binary.second, r)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Option: From<()>` is not satisfied [INFO] [stdout] --> src/executor.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | waitpid(first, WaitPidFlag::from_bits(WEXITED)); [INFO] [stdout] | ^^^^^^^ the trait `From<()>` is not implemented for `Option` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nix-0.19.1/src/sys/wait.rs:226:19 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn waitpid>>(pid: P, options: Option) -> Result { [INFO] [stdout] | ----------------- required by this bound in `nix::sys::wait::waitpid` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] as From<&'a Option>> [INFO] [stdout] as From<&'a mut Option>> [INFO] [stdout] as From> [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `clone` found for struct `StreamSet` in the current scope [INFO] [stdout] --> src/executor.rs:138:58 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct StreamSet { [INFO] [stdout] | -------------------- method `clone` not found for this [INFO] [stdout] ... [INFO] [stdout] 138 | let second = execute(*binary.second, streams.clone()); [INFO] [stdout] | ^^^^^ method not found in `StreamSet` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `clone`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Option: From<()>` is not satisfied [INFO] [stdout] --> src/executor.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | waitpid(second, WaitPidFlag::from_bits(WEXITED)); [INFO] [stdout] | ^^^^^^^ the trait `From<()>` is not implemented for `Option` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nix-0.19.1/src/sys/wait.rs:226:19 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn waitpid>>(pid: P, options: Option) -> Result { [INFO] [stdout] | ----------------- required by this bound in `nix::sys::wait::waitpid` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] as From<&'a Option>> [INFO] [stdout] as From<&'a mut Option>> [INFO] [stdout] as From> [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/executor.rs:135:26 [INFO] [stdout] | [INFO] [stdout] 135 | BinaryOp::Seq => { [INFO] [stdout] | __________________________^ [INFO] [stdout] 136 | | let first = execute(*binary.first, streams); [INFO] [stdout] 137 | | waitpid(first, WaitPidFlag::from_bits(WEXITED)); [INFO] [stdout] 138 | | let second = execute(*binary.second, streams.clone()); [INFO] [stdout] 139 | | waitpid(second, WaitPidFlag::from_bits(WEXITED)); [INFO] [stdout] 140 | | } [INFO] [stdout] | |_________^ expected enum `Result`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Option: From<()>` is not satisfied [INFO] [stdout] --> src/executor.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | waitpid(second, WaitPidFlag::from_bits(WEXITED)); [INFO] [stdout] | ^^^^^^^ the trait `From<()>` is not implemented for `Option` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nix-0.19.1/src/sys/wait.rs:226:19 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn waitpid>>(pid: P, options: Option) -> Result { [INFO] [stdout] | ----------------- required by this bound in `nix::sys::wait::waitpid` [INFO] [stdout] | [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] as From<&'a Option>> [INFO] [stdout] as From<&'a mut Option>> [INFO] [stdout] as From> [INFO] [stdout] = note: required because of the requirements on the impl of `Into>` for `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/executor.rs:141:27 [INFO] [stdout] | [INFO] [stdout] 141 | BinaryOp::Pipe => { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 142 | | let (left, right) = streams.pipe(); [INFO] [stdout] 143 | | let first = execute(*binary.first, left); [INFO] [stdout] 144 | | let second = execute(*binary.second, right); [INFO] [stdout] 145 | | waitpid(second, WaitPidFlag::from_bits(WEXITED)); [INFO] [stdout] 146 | | } [INFO] [stdout] | |_________^ expected enum `Result`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/executor.rs:147:29 [INFO] [stdout] | [INFO] [stdout] 147 | BinaryOp::LogAnd => {} [INFO] [stdout] | ^^ expected enum `Result`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/executor.rs:148:28 [INFO] [stdout] | [INFO] [stdout] 148 | BinaryOp::LogOr => {} [INFO] [stdout] | ^^ expected enum `Result`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/executor.rs:156:35 [INFO] [stdout] | [INFO] [stdout] 154 | / match cmd { [INFO] [stdout] 155 | | Command::Nil => {} [INFO] [stdout] | | -- this is found to be of type `()` [INFO] [stdout] 156 | | Command::Single(c) => execute_single(c, streams), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found enum `Result` [INFO] [stdout] 157 | | Command::BinaryExpr(c) => execute_binary(c, streams), [INFO] [stdout] 158 | | Command::FileInput(_) => {} [INFO] [stdout] 159 | | Command::FileOutput(_) => {} [INFO] [stdout] 160 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] = note: expected type `()` [INFO] [stdout] found enum `Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors; 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `traash` due to 14 previous errors; 9 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "ef18d78cd005e6fc7139901dc524dc7e9042269fcdc70a16bfc4df61f9e40322", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef18d78cd005e6fc7139901dc524dc7e9042269fcdc70a16bfc4df61f9e40322", kill_on_drop: false }` [INFO] [stdout] ef18d78cd005e6fc7139901dc524dc7e9042269fcdc70a16bfc4df61f9e40322