[INFO] cloning repository https://github.com/JettTech/rust-async-workshop [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JettTech/rust-async-workshop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJettTech%2Frust-async-workshop", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJettTech%2Frust-async-workshop'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 81ee361f04c4fe1a3b7a0a1eb644a2f1a2cb1fc0 [INFO] checking JettTech/rust-async-workshop against master#9fa580b1175018b0a276b0bc68f9827a106f7260 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJettTech%2Frust-async-workshop" "/workspace/builds/worker-14/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 72% (4574/6349) Updating files: 73% (4635/6349) Updating files: 74% (4699/6349) Updating files: 75% (4762/6349) Updating files: 76% (4826/6349) Updating files: 77% (4889/6349) Updating files: 78% (4953/6349) Updating files: 79% (5016/6349) Updating files: 80% (5080/6349) Updating files: 81% (5143/6349) Updating files: 82% (5207/6349) Updating files: 83% (5270/6349) Updating files: 84% (5334/6349) Updating files: 85% (5397/6349) Updating files: 86% (5461/6349) Updating files: 87% (5524/6349) Updating files: 88% (5588/6349) Updating files: 89% (5651/6349) Updating files: 90% (5715/6349) Updating files: 91% (5778/6349) Updating files: 92% (5842/6349) Updating files: 93% (5905/6349) Updating files: 94% (5969/6349) Updating files: 95% (6032/6349) Updating files: 96% (6096/6349) Updating files: 97% (6159/6349) Updating files: 98% (6223/6349) Updating files: 99% (6286/6349) Updating files: 100% (6349/6349) Updating files: 100% (6349/6349), done. [INFO] validating manifest of git repo https://github.com/JettTech/rust-async-workshop on toolchain 9fa580b1175018b0a276b0bc68f9827a106f7260 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9fa580b1175018b0a276b0bc68f9827a106f7260" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-14/source/.cargo/config [INFO] started tweaking git repo https://github.com/JettTech/rust-async-workshop [INFO] finished tweaking git repo https://github.com/JettTech/rust-async-workshop [INFO] tweaked toml for git repo https://github.com/JettTech/rust-async-workshop written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/JettTech/rust-async-workshop already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9fa580b1175018b0a276b0bc68f9827a106f7260" "fetch" "--locked" "--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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "+9fa580b1175018b0a276b0bc68f9827a106f7260" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b8c2ce3020254c568eeff660fa12e7f42f4f6e2a71df35ce6d4da8d49ee94182 [INFO] running `Command { std: "docker" "start" "-a" "b8c2ce3020254c568eeff660fa12e7f42f4f6e2a71df35ce6d4da8d49ee94182", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b8c2ce3020254c568eeff660fa12e7f42f4f6e2a71df35ce6d4da8d49ee94182", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8c2ce3020254c568eeff660fa12e7f42f4f6e2a71df35ce6d4da8d49ee94182", kill_on_drop: false }` [INFO] [stdout] b8c2ce3020254c568eeff660fa12e7f42f4f6e2a71df35ce6d4da8d49ee94182 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "+9fa580b1175018b0a276b0bc68f9827a106f7260" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1c3bf64d6692bf00e2e8b74b3141581c2338d806ea6f0bffacc39a436c5b54b5 [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" "1c3bf64d6692bf00e2e8b74b3141581c2338d806ea6f0bffacc39a436c5b54b5", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.62 [INFO] [stderr] Checking cfg-if v0.1.9 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling proc-macro2 v1.0.3 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Checking futures-core-preview v0.3.0-alpha.18 [INFO] [stderr] Checking smallvec v0.6.10 [INFO] [stderr] Compiling arrayvec v0.4.11 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Checking nodrop v0.1.13 [INFO] [stderr] Checking futures v0.1.29 [INFO] [stderr] Checking pin-utils v0.1.0-alpha.4 [INFO] [stderr] Checking futures-io-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling pin-project-internal v0.4.0-alpha.11 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Checking utf8-ranges v1.0.4 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking lock_api v0.3.1 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking log v0.4.8 [INFO] [stderr] Checking futures-sink-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking tracing-core v0.1.6 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking futures-channel-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.18 [INFO] [stderr] Checking tracing-log v0.1.0 [INFO] [stderr] Compiling memoffset v0.5.1 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking tokio-executor v0.1.8 [INFO] [stderr] Checking tokio-sync v0.1.6 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking mio v0.6.19 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Checking tokio-timer v0.2.11 [INFO] [stderr] Checking tokio-current-thread v0.1.6 [INFO] [stderr] Checking tokio-io v0.1.12 [INFO] [stderr] Checking crossbeam-deque v0.7.1 [INFO] [stderr] Checking chrono v0.4.9 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking tokio-codec v0.1.1 [INFO] [stderr] Checking regex-automata v0.1.8 [INFO] [stderr] Checking regex v1.3.1 [INFO] [stderr] Checking tokio-threadpool v0.1.15 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking matchers v0.0.1 [INFO] [stderr] Checking tokio-reactor v0.1.9 [INFO] [stderr] Checking tokio-fs v0.1.6 [INFO] [stderr] Checking tokio-sync v0.2.0-alpha.5 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.18 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.18 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio-udp v0.1.5 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking tracing-subscriber v0.1.3 [INFO] [stderr] Compiling proc-macro-error v0.2.6 [INFO] [stderr] Compiling tracing-attributes v0.1.3 [INFO] [stderr] Compiling tokio-macros v0.2.0-alpha.5 [INFO] [stderr] Compiling structopt-derive v0.3.2 [INFO] [stderr] Checking tracing v0.1.9 [INFO] [stderr] Checking structopt v0.3.2 [INFO] [stderr] Checking tokio-executor v0.2.0-alpha.5 [INFO] [stderr] Checking pin-project v0.4.0-alpha.11 [INFO] [stderr] Checking tokio-io v0.2.0-alpha.5 [INFO] [stderr] Checking tokio-codec v0.2.0-alpha.5 [INFO] [stderr] Checking tokio-timer v0.3.0-alpha.5 [INFO] [stderr] Checking tokio-net v0.2.0-alpha.5 [INFO] [stderr] Checking tokio-fs v0.2.0-alpha.5 [INFO] [stderr] Checking tokio v0.2.0-alpha.5 [INFO] [stderr] Checking tracing-futures v0.0.1-alpha.2 (https://github.com/tokio-rs/tracing?rev=9f1126a00d105ff85f5b65fc6457699430b1bed4#9f1126a0) [INFO] [stderr] Checking client v0.0.0 (/opt/rustwide/workdir/client) [INFO] [stderr] Checking server v0.0.0 (/opt/rustwide/workdir/server) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/../solutions/client.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | pub async fn run_client(user: String, mut stream: TcpStream) -> Result<(), Error> { [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: variable does not need to be mutable [INFO] [stdout] --> client/src/../solutions/client.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | pub async fn run_client(user: String, mut stream: TcpStream) -> Result<(), Error> { [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[E0277]: the `?` operator can only be used in an async block that returns `Result` or `Option` (or another type that implements `Try`) [INFO] [stdout] --> client/src/main.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 25 | #[tokio::main] [INFO] [stdout] | -------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 31 | let conn = TcpStream::connect(server).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in an async block that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Try` is not implemented for `()` [INFO] [stdout] = note: required by `from_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in an async block that returns `Result` or `Option` (or another type that implements `Try`) [INFO] [stdout] --> client/src/main.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 25 | #[tokio::main] [INFO] [stdout] | -------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 31 | let conn = TcpStream::connect(server).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in an async block that returns `()` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Try` is not implemented for `()` [INFO] [stdout] = note: required by `from_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> client/src/main.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | #[tokio::main] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected enum `Result`, found `()` [INFO] [stdout] | help: try using a variant of the expected enum: `Ok(#[tokio::main])` [INFO] [stdout] 26 | async fn main() -> Result<(), client::Error> { [INFO] [stdout] | ------------------------- expected `Result<(), Box<(dyn std::error::Error + 'static)>>` because of return type [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result<(), Box<(dyn std::error::Error + 'static)>>` [INFO] [stdout] found unit type `()` [INFO] [stdout] = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> client/src/main.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | #[tokio::main] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected enum `Result`, found `()` [INFO] [stdout] | help: try using a variant of the expected enum: `Ok(#[tokio::main])` [INFO] [stdout] 26 | async fn main() -> Result<(), client::Error> { [INFO] [stdout] | ------------------------- expected `Result<(), Box<(dyn std::error::Error + 'static)>>` because of return type [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result<(), Box<(dyn std::error::Error + 'static)>>` [INFO] [stdout] found unit type `()` [INFO] [stdout] = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `client` [INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [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] Some errors have detailed explanations: E0277, E0308. [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" "1c3bf64d6692bf00e2e8b74b3141581c2338d806ea6f0bffacc39a436c5b54b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1c3bf64d6692bf00e2e8b74b3141581c2338d806ea6f0bffacc39a436c5b54b5", kill_on_drop: false }` [INFO] [stdout] 1c3bf64d6692bf00e2e8b74b3141581c2338d806ea6f0bffacc39a436c5b54b5