[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 try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 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-12/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 88% (5639/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 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-12/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-12/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" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/tokio-rs/tracing` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tracing-attributes v0.1.3 [INFO] [stderr] Downloaded tracing-log v0.1.0 [INFO] [stderr] Downloaded tracing-subscriber v0.1.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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] 364d799853e0b2ff094068cb9863bfce6cfe927d31f1251bd0415076187aa197 [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" "364d799853e0b2ff094068cb9863bfce6cfe927d31f1251bd0415076187aa197", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "364d799853e0b2ff094068cb9863bfce6cfe927d31f1251bd0415076187aa197", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "364d799853e0b2ff094068cb9863bfce6cfe927d31f1251bd0415076187aa197", kill_on_drop: false }` [INFO] [stdout] 364d799853e0b2ff094068cb9863bfce6cfe927d31f1251bd0415076187aa197 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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] ab1cedee64b327bea5dd49491431a92a6d30135d13f0dee7af6e18373d2d22e9 [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" "ab1cedee64b327bea5dd49491431a92a6d30135d13f0dee7af6e18373d2d22e9", 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] Checking cfg-if v0.1.9 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling proc-macro2 v1.0.3 [INFO] [stderr] Compiling unicode-xid v0.2.0 [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] Checking fnv v1.0.6 [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 futures-io-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling pin-project-internal v0.4.0-alpha.11 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Compiling unicode-segmentation v1.3.0 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Checking lock_api v0.3.1 [INFO] [stderr] Checking owning_ref v0.4.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking futures-sink-preview v0.3.0-alpha.18 [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 rand_chacha v0.1.1 [INFO] [stderr] Compiling semver v0.9.0 [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 lock_api v0.1.5 [INFO] [stderr] Checking futures-channel-preview v0.3.0-alpha.18 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.18 [INFO] [stderr] Checking mio v0.6.19 [INFO] [stderr] Checking tracing-log v0.1.0 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking tokio-executor v0.1.8 [INFO] [stderr] Checking tokio-sync v0.1.6 [INFO] [stderr] Checking tokio-io v0.1.12 [INFO] [stderr] Checking tokio-current-thread v0.1.6 [INFO] [stderr] Checking tokio-timer v0.2.11 [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 mio-uds v0.6.7 [INFO] [stderr] Checking tokio-codec v0.1.1 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Checking crossbeam-deque v0.7.1 [INFO] [stderr] Checking chrono v0.4.9 [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 tokio-fs v0.1.6 [INFO] [stderr] Checking tokio-reactor v0.1.9 [INFO] [stderr] Checking matchers v0.0.1 [INFO] [stderr] Checking tokio-udp v0.1.5 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio-sync v0.2.0-alpha.5 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.18 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.18 [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 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 structopt v0.3.2 [INFO] [stderr] Checking tokio-timer v0.3.0-alpha.5 [INFO] [stderr] Checking tokio-codec v0.2.0-alpha.5 [INFO] [stderr] Checking tokio-fs v0.2.0-alpha.5 [INFO] [stderr] Checking tokio-net 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] [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] [stderr] Checking server v0.0.0 (/opt/rustwide/workdir/server) [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[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: 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] [stderr] error: could not compile `client` [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] 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] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "ab1cedee64b327bea5dd49491431a92a6d30135d13f0dee7af6e18373d2d22e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ab1cedee64b327bea5dd49491431a92a6d30135d13f0dee7af6e18373d2d22e9", kill_on_drop: false }` [INFO] [stdout] ab1cedee64b327bea5dd49491431a92a6d30135d13f0dee7af6e18373d2d22e9