[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 try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlenglin%2Ftraash" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Plenglin/traash 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/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-7/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" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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] b38c7867a2034993a2b146aa29f24f6ee4887b38eab37a5d87125dcad6bd1ef9 [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" "b38c7867a2034993a2b146aa29f24f6ee4887b38eab37a5d87125dcad6bd1ef9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b38c7867a2034993a2b146aa29f24f6ee4887b38eab37a5d87125dcad6bd1ef9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b38c7867a2034993a2b146aa29f24f6ee4887b38eab37a5d87125dcad6bd1ef9", kill_on_drop: false }` [INFO] [stdout] b38c7867a2034993a2b146aa29f24f6ee4887b38eab37a5d87125dcad6bd1ef9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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] 483769400c0246b74e20c77b911b96c83d066e7e194a076aa4bdc282ff588f8c [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" "483769400c0246b74e20c77b911b96c83d066e7e194a076aa4bdc282ff588f8c", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling libc v0.2.85 [INFO] [stderr] Compiling syn v1.0.60 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking regex-syntax v0.6.22 [INFO] [stderr] Checking normalize-line-endings v0.3.0 [INFO] [stderr] Checking fragile v1.0.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking downcast v0.10.0 [INFO] [stderr] Checking thread_local v1.1.2 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking float-cmp v0.8.0 [INFO] [stderr] Checking nix v0.19.1 [INFO] [stderr] Checking regex v1.4.3 [INFO] [stderr] Checking predicates v1.0.7 [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` [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] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "483769400c0246b74e20c77b911b96c83d066e7e194a076aa4bdc282ff588f8c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "483769400c0246b74e20c77b911b96c83d066e7e194a076aa4bdc282ff588f8c", kill_on_drop: false }` [INFO] [stdout] 483769400c0246b74e20c77b911b96c83d066e7e194a076aa4bdc282ff588f8c