[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] testing Plenglin/traash against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlenglin%2Ftraash" "/workspace/builds/worker-0/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Plenglin/traash on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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-0/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" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded mockall_derive v0.9.0 [INFO] [stderr] Downloaded mockall v0.9.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 09fd778b251da01a5fa0feb88081d6d075e31939f56f571088c30396ffbef795 [INFO] running `Command { std: "docker" "start" "-a" "09fd778b251da01a5fa0feb88081d6d075e31939f56f571088c30396ffbef795", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "09fd778b251da01a5fa0feb88081d6d075e31939f56f571088c30396ffbef795", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "09fd778b251da01a5fa0feb88081d6d075e31939f56f571088c30396ffbef795", kill_on_drop: false }` [INFO] [stdout] 09fd778b251da01a5fa0feb88081d6d075e31939f56f571088c30396ffbef795 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 734d012fcac0d683ae93488858139cd6e441d4199d161a2611b6da7bd73e4ac8 [INFO] running `Command { std: "docker" "start" "-a" "734d012fcac0d683ae93488858139cd6e441d4199d161a2611b6da7bd73e4ac8", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.85 [INFO] [stderr] Compiling nix v0.19.1 [INFO] [stderr] Compiling 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] = 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] note: required by a bound in `nix::sys::wait::waitpid` [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] [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] = 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] note: required by a bound in `nix::sys::wait::waitpid` [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] [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] = 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] note: required by a bound in `nix::sys::wait::waitpid` [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] [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] = 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] note: required by a bound in `nix::sys::wait::waitpid` [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] [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] running `Command { std: "docker" "inspect" "734d012fcac0d683ae93488858139cd6e441d4199d161a2611b6da7bd73e4ac8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "734d012fcac0d683ae93488858139cd6e441d4199d161a2611b6da7bd73e4ac8", kill_on_drop: false }` [INFO] [stdout] 734d012fcac0d683ae93488858139cd6e441d4199d161a2611b6da7bd73e4ac8