[INFO] cloning repository https://github.com/tomasol/chat-async
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tomasol/chat-async" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomasol%2Fchat-async", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomasol%2Fchat-async'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3f9964e62e8fd5b0981732e7832e0523269e4b60
[INFO] checking tomasol/chat-async against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomasol%2Fchat-async" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/tomasol/chat-async
[INFO] finished tweaking git repo https://github.com/tomasol/chat-async
[INFO] tweaked toml for git repo https://github.com/tomasol/chat-async written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tomasol/chat-async on toolchain 95813608313bff49cfc1afc393a946a3c085b772
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tomasol/chat-async already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b9a13c722529615014089aeafad5f9585f20564fbf5a2b616feb6f5debd665a6
[INFO] running `Command { std: "docker" "start" "-a" "b9a13c722529615014089aeafad5f9585f20564fbf5a2b616feb6f5debd665a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9a13c722529615014089aeafad5f9585f20564fbf5a2b616feb6f5debd665a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9a13c722529615014089aeafad5f9585f20564fbf5a2b616feb6f5debd665a6", kill_on_drop: false }`
[INFO] [stdout] b9a13c722529615014089aeafad5f9585f20564fbf5a2b616feb6f5debd665a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6efc7266a969e85557530c626cbca11ee3db66f2e9976f430a517e0d002ded32
[INFO] running `Command { std: "docker" "start" "-a" "6efc7266a969e85557530c626cbca11ee3db66f2e9976f430a517e0d002ded32", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking futures-core v0.3.1
[INFO] [stderr]    Compiling proc-macro-nested v0.1.3
[INFO] [stderr]     Checking futures-sink v0.3.1
[INFO] [stderr]     Checking pin-utils v0.1.0-alpha.4
[INFO] [stderr]     Checking futures-io v0.3.1
[INFO] [stderr]     Checking futures-task v0.3.1
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking num_cpus v1.11.1
[INFO] [stderr]     Checking once_cell v1.2.0
[INFO] [stderr]     Checking pin-project-lite v0.1.1
[INFO] [stderr]     Checking termcolor v1.0.5
[INFO] [stderr]     Checking futures-channel v0.3.1
[INFO] [stderr]     Checking crossbeam-channel v0.4.0
[INFO] [stderr]     Checking async-task v1.0.0
[INFO] [stderr]     Checking kv-log-macro v1.0.4
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking crossbeam-deque v0.7.2
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling proc-macro-hack v0.5.11
[INFO] [stderr]    Compiling async-attributes v1.1.1
[INFO] [stderr]     Checking async-std v1.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.1
[INFO] [stderr]     Checking futures-util v0.3.1
[INFO] [stderr]     Checking futures-executor v0.3.1
[INFO] [stderr]     Checking streamunordered v0.5.0
[INFO] [stderr]     Checking futures v0.3.1
[INFO] [stderr]     Checking chat-async v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `async_closure` has been stable since 1.85.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(async_closure)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:210:51
[INFO] [stdout]     |
[INFO] [stdout] 210 |     while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout]     |                                                   ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 210 -     while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout] 210 +     while let Some((v, _stream_token)) = async_std::prelude::StreamExt::next(&mut combined).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 210 -     while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout] 210 +     while let Some((v, _stream_token)) = futures::StreamExt::next(&mut combined).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/main.rs:90:44
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut incoming = listener.incoming().fuse();
[INFO] [stdout]    |                                            ^^^^ multiple `fuse` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 90 -     let mut incoming = listener.incoming().fuse();
[INFO] [stdout] 90 +     let mut incoming = async_std::prelude::StreamExt::fuse(listener.incoming());
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 90 -     let mut incoming = listener.incoming().fuse();
[INFO] [stdout] 90 +     let mut incoming = futures::StreamExt::fuse(listener.incoming());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/main.rs:91:51
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mut shutdown_receiver = shutdown_receiver.fuse();
[INFO] [stdout]    |                                                   ^^^^ multiple `fuse` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 91 -     let mut shutdown_receiver = shutdown_receiver.fuse();
[INFO] [stdout] 91 +     let mut shutdown_receiver = async_std::prelude::StreamExt::fuse(shutdown_receiver);
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 91 -     let mut shutdown_receiver = shutdown_receiver.fuse();
[INFO] [stdout] 91 +     let mut shutdown_receiver = futures::StreamExt::fuse(shutdown_receiver);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `async_closure` has been stable since 1.85.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(async_closure)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/main.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     let id = stream.peer_addr()?;
[INFO] [stdout]    |                              ^^^^^^ cannot infer type
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `proc_macro_call_2` which comes from the expansion of the macro `select` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:131:28
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let name = match lines.next().await {
[INFO] [stdout]     |                            ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 131 -     let name = match lines.next().await {
[INFO] [stdout] 131 +     let name = match async_std::prelude::StreamExt::next(&mut lines).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 131 -     let name = match lines.next().await {
[INFO] [stdout] 131 +     let name = match futures::StreamExt::next(&mut lines).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let name = match lines.next().await {
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |             name: name.clone(),
[INFO] [stdout]     |                   ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `name` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let name: /* Type */ = match lines.next().await {
[INFO] [stdout]     |             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:143:34
[INFO] [stdout]     |
[INFO] [stdout] 143 |     while let Some(line) = lines.next().await {
[INFO] [stdout]     |                                  ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 143 -     while let Some(line) = lines.next().await {
[INFO] [stdout] 143 +     while let Some(line) = async_std::prelude::StreamExt::next(&mut lines).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 143 -     while let Some(line) = lines.next().await {
[INFO] [stdout] 143 +     while let Some(line) = futures::StreamExt::next(&mut lines).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let line = line?;
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 145 |         if let Some(idx) = line.find(':') {
[INFO] [stdout]     |                            ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `line` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let line: /* Type */ = line?;
[INFO] [stdout]     |                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:148:37
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let dest: Vec<String> = dest
[INFO] [stdout]     |                                     ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:150:23
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 .map(|name| name.trim().to_string())
[INFO] [stdout]     |                       ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 .map(|name: /* Type */| name.trim().to_string())
[INFO] [stdout]     |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:411:36
[INFO] [stdout]     |
[INFO] [stdout] 411 |     while let Some(msg) = messages.next().await {
[INFO] [stdout]     |                                    ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 411 -     while let Some(msg) = messages.next().await {
[INFO] [stdout] 411 +     while let Some(msg) = async_std::prelude::StreamExt::next(&mut messages).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 411 -     while let Some(msg) = messages.next().await {
[INFO] [stdout] 411 +     while let Some(msg) = futures::StreamExt::next(&mut messages).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:412:26
[INFO] [stdout]     |
[INFO] [stdout] 412 |         stream.write_all(msg.as_bytes()).await?;
[INFO] [stdout]     |                          ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:210:51
[INFO] [stdout]     |
[INFO] [stdout] 210 |     while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout]     |                                                   ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 210 -     while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout] 210 +     while let Some((v, _stream_token)) = async_std::prelude::StreamExt::next(&mut combined).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 210 -     while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout] 210 +     while let Some((v, _stream_token)) = futures::StreamExt::next(&mut combined).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/main.rs:90:44
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut incoming = listener.incoming().fuse();
[INFO] [stdout]    |                                            ^^^^ multiple `fuse` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 90 -     let mut incoming = listener.incoming().fuse();
[INFO] [stdout] 90 +     let mut incoming = async_std::prelude::StreamExt::fuse(listener.incoming());
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 90 -     let mut incoming = listener.incoming().fuse();
[INFO] [stdout] 90 +     let mut incoming = futures::StreamExt::fuse(listener.incoming());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/main.rs:91:51
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mut shutdown_receiver = shutdown_receiver.fuse();
[INFO] [stdout]    |                                                   ^^^^ multiple `fuse` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 91 -     let mut shutdown_receiver = shutdown_receiver.fuse();
[INFO] [stdout] 91 +     let mut shutdown_receiver = async_std::prelude::StreamExt::fuse(shutdown_receiver);
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 91 -     let mut shutdown_receiver = shutdown_receiver.fuse();
[INFO] [stdout] 91 +     let mut shutdown_receiver = futures::StreamExt::fuse(shutdown_receiver);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/main.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     let id = stream.peer_addr()?;
[INFO] [stdout]    |                              ^^^^^^ cannot infer type
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `proc_macro_call_2` which comes from the expansion of the macro `select` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `chat-async` (bin "chat-async") due to 12 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `chat-async` (bin "chat-async" test) due to 14 previous errors; 1 warning emitted
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:131:28
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let name = match lines.next().await {
[INFO] [stdout]     |                            ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 131 -     let name = match lines.next().await {
[INFO] [stdout] 131 +     let name = match async_std::prelude::StreamExt::next(&mut lines).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 131 -     let name = match lines.next().await {
[INFO] [stdout] 131 +     let name = match futures::StreamExt::next(&mut lines).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let name = match lines.next().await {
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |             name: name.clone(),
[INFO] [stdout]     |                   ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `name` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let name: /* Type */ = match lines.next().await {
[INFO] [stdout]     |             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:143:34
[INFO] [stdout]     |
[INFO] [stdout] 143 |     while let Some(line) = lines.next().await {
[INFO] [stdout]     |                                  ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 143 -     while let Some(line) = lines.next().await {
[INFO] [stdout] 143 +     while let Some(line) = async_std::prelude::StreamExt::next(&mut lines).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 143 -     while let Some(line) = lines.next().await {
[INFO] [stdout] 143 +     while let Some(line) = futures::StreamExt::next(&mut lines).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let line = line?;
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 145 |         if let Some(idx) = line.find(':') {
[INFO] [stdout]     |                            ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `line` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let line: /* Type */ = line?;
[INFO] [stdout]     |                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:148:37
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let dest: Vec<String> = dest
[INFO] [stdout]     |                                     ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:150:23
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 .map(|name| name.trim().to_string())
[INFO] [stdout]     |                       ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 .map(|name: /* Type */| name.trim().to_string())
[INFO] [stdout]     |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:411:36
[INFO] [stdout]     |
[INFO] [stdout] 411 |     while let Some(msg) = messages.next().await {
[INFO] [stdout]     |                                    ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 411 -     while let Some(msg) = messages.next().await {
[INFO] [stdout] 411 +     while let Some(msg) = async_std::prelude::StreamExt::next(&mut messages).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 411 -     while let Some(msg) = messages.next().await {
[INFO] [stdout] 411 +     while let Some(msg) = futures::StreamExt::next(&mut messages).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:412:26
[INFO] [stdout]     |
[INFO] [stdout] 412 |         stream.write_all(msg.as_bytes()).await?;
[INFO] [stdout]     |                          ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:467:55
[INFO] [stdout]     |
[INFO] [stdout] 467 |         while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout]     |                                                       ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 467 -         while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout] 467 +         while let Some((v, _stream_token)) = async_std::prelude::StreamExt::next(&mut combined).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 467 -         while let Some((v, _stream_token)) = combined.next().await {
[INFO] [stdout] 467 +         while let Some((v, _stream_token)) = futures::StreamExt::next(&mut combined).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:449:48
[INFO] [stdout]     |
[INFO] [stdout] 449 |             let line = match lines_from_server.next().await {
[INFO] [stdout]     |                                                ^^^^ multiple `next` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `async_std::prelude::StreamExt` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `futures::StreamExt` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 449 -             let line = match lines_from_server.next().await {
[INFO] [stdout] 449 +             let line = match async_std::prelude::StreamExt::next(&mut lines_from_server).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 449 -             let line = match lines_from_server.next().await {
[INFO] [stdout] 449 +             let line = match futures::StreamExt::next(&mut lines_from_server).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6efc7266a969e85557530c626cbca11ee3db66f2e9976f430a517e0d002ded32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6efc7266a969e85557530c626cbca11ee3db66f2e9976f430a517e0d002ded32", kill_on_drop: false }`
[INFO] [stdout] 6efc7266a969e85557530c626cbca11ee3db66f2e9976f430a517e0d002ded32
