[INFO] cloning repository https://github.com/littlebenlittle/tungstentite-rs-example
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/littlebenlittle/tungstentite-rs-example" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flittlebenlittle%2Ftungstentite-rs-example", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flittlebenlittle%2Ftungstentite-rs-example'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c66504a4112dfba547ec032be9c25d2d372003c8
[INFO] checking littlebenlittle/tungstentite-rs-example against try#54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47 for pr-153041
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flittlebenlittle%2Ftungstentite-rs-example" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/littlebenlittle/tungstentite-rs-example
[INFO] finished tweaking git repo https://github.com/littlebenlittle/tungstentite-rs-example
[INFO] tweaked toml for git repo https://github.com/littlebenlittle/tungstentite-rs-example written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/littlebenlittle/tungstentite-rs-example on toolchain 54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/littlebenlittle/tungstentite-rs-example 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" "+54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47" "fetch" "--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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded utf-8 v0.7.5
[INFO] [stderr]   Downloaded tungstenite v0.11.1
[INFO] [stderr]   Downloaded input_buffer v0.3.1
[INFO] [stderr]   Downloaded bytes v0.6.0
[INFO] [stderr]   Downloaded futures-sink v0.3.12
[INFO] [stderr]   Downloaded tinyvec v1.1.1
[INFO] [stderr]   Downloaded futures-io v0.3.12
[INFO] [stderr]   Downloaded thread_local v1.1.2
[INFO] [stderr]   Downloaded tokio-macros v1.0.0
[INFO] [stderr]   Downloaded wasi v0.10.1+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded mio v0.7.7
[INFO] [stderr]   Downloaded futures-core v0.3.12
[INFO] [stderr]   Downloaded futures-task v0.3.12
[INFO] [stderr]   Downloaded tokio-tungstenite v0.12.0
[INFO] [stderr]   Downloaded futures-util v0.3.12
[INFO] [stderr]   Downloaded tokio v0.3.6
[INFO] [stderr]   Downloaded tokio v1.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ac7ba1dd90d7adf5704a1acb3be12b807d22684163f9dd1153bc403922e4b9eb
[INFO] running `Command { std: "docker" "start" "-a" "ac7ba1dd90d7adf5704a1acb3be12b807d22684163f9dd1153bc403922e4b9eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ac7ba1dd90d7adf5704a1acb3be12b807d22684163f9dd1153bc403922e4b9eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac7ba1dd90d7adf5704a1acb3be12b807d22684163f9dd1153bc403922e4b9eb", kill_on_drop: false }`
[INFO] [stdout] ac7ba1dd90d7adf5704a1acb3be12b807d22684163f9dd1153bc403922e4b9eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] da130d28772e5b1deb76a78c11ec4072b9611c78254edc84bc9ccef2e2dc1d28
[INFO] running `Command { std: "docker" "start" "-a" "da130d28772e5b1deb76a78c11ec4072b9611c78254edc84bc9ccef2e2dc1d28", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.82
[INFO] [stderr]    Compiling log v0.4.13
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]     Checking once_cell v1.5.2
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]     Checking tinyvec v1.1.1
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]     Checking form_urlencoded v1.0.0
[INFO] [stderr]     Checking pin-project-lite v0.2.4
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]     Checking http v0.2.3
[INFO] [stderr]     Checking utf-8 v0.7.5
[INFO] [stderr]     Checking byteorder v1.4.2
[INFO] [stderr]     Checking instant v0.1.9
[INFO] [stderr]     Checking sha-1 v0.9.2
[INFO] [stderr]    Compiling tokio v0.3.6
[INFO] [stderr]     Checking futures-sink v0.3.12
[INFO] [stderr]     Checking futures-core v0.3.12
[INFO] [stderr]     Checking input_buffer v0.3.1
[INFO] [stderr]     Checking futures-task v0.3.12
[INFO] [stderr]     Checking lock_api v0.4.2
[INFO] [stderr]    Compiling tokio v1.1.0
[INFO] [stderr]     Checking input_buffer v0.4.0
[INFO] [stderr]     Checking bytes v0.6.0
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking thread_local v1.1.2
[INFO] [stderr]     Checking regex-syntax v0.6.22
[INFO] [stderr]     Checking futures-io v0.3.12
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking futures-util v0.3.12
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking mio v0.7.7
[INFO] [stderr]     Checking parking_lot_core v0.8.2
[INFO] [stderr]     Checking signal-hook-registry v1.3.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.6.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking unicode-normalization v0.1.16
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking url v2.2.0
[INFO] [stderr]     Checking tungstenite v0.12.0
[INFO] [stderr]     Checking tungstenite v0.11.1
[INFO] [stderr]     Checking regex v1.4.3
[INFO] [stderr]     Checking async-tungstenite v0.12.0
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling pin-project-internal v1.0.4
[INFO] [stderr]    Compiling tokio-macros v1.0.0
[INFO] [stderr]     Checking pin-project v1.0.4
[INFO] [stderr]     Checking tokio-tungstenite v0.12.0
[INFO] [stderr]     Checking example v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> examples/echo-server.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{env, io::Error};
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::net::TcpStream: tokio::io::async_read::AsyncRead` is not satisfied
[INFO] [stdout]    --> examples/echo-server.rs:34:53
[INFO] [stdout]     |
[INFO] [stdout]  34 |     let ws_stream = tokio_tungstenite::accept_async(stream)
[INFO] [stdout]     |                     ------------------------------- ^^^^^^ the trait `tokio::io::async_read::AsyncRead` is not implemented for `tokio::net::TcpStream`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.3.6/src/io/async_read.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub trait AsyncRead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.1.0/src/io/async_read.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub trait AsyncRead {
[INFO] [stdout]     | ------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::async_read::AsyncRead`:
[INFO] [stdout]               &[u8]
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               std::io::Cursor<T>
[INFO] [stdout]               tokio::io::split::ReadHalf<T>
[INFO] [stdout]               tokio::io::util::buf_reader::BufReader<R>
[INFO] [stdout]               tokio::io::util::buf_stream::BufStream<RW>
[INFO] [stdout]             and 13 others
[INFO] [stdout]     = note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `accept_async`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-tungstenite-0.12.0/src/lib.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn accept_async<S>(stream: S) -> Result<WebSocketStream<S>, WsError>
[INFO] [stdout]     |              ------------ required by a bound in this function
[INFO] [stdout] 125 | where
[INFO] [stdout] 126 |     S: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout]     |        ^^^^^^^^^ required by this bound in `accept_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::net::TcpStream: tokio::io::async_write::AsyncWrite` is not satisfied
[INFO] [stdout]    --> examples/echo-server.rs:34:53
[INFO] [stdout]     |
[INFO] [stdout]  34 |     let ws_stream = tokio_tungstenite::accept_async(stream)
[INFO] [stdout]     |                     ------------------------------- ^^^^^^ the trait `tokio::io::async_write::AsyncWrite` is not implemented for `tokio::net::TcpStream`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.3.6/src/io/async_write.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub trait AsyncWrite {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.1.0/src/io/async_write.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub trait AsyncWrite {
[INFO] [stdout]     | -------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::async_write::AsyncWrite`:
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               Vec<u8>
[INFO] [stdout]               std::io::Cursor<&mut Vec<u8>>
[INFO] [stdout]               std::io::Cursor<&mut [u8]>
[INFO] [stdout]               std::io::Cursor<Box<[u8]>>
[INFO] [stdout]               std::io::Cursor<Vec<u8>>
[INFO] [stdout]             and 13 others
[INFO] [stdout]     = note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `accept_async`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-tungstenite-0.12.0/src/lib.rs:126:20
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn accept_async<S>(stream: S) -> Result<WebSocketStream<S>, WsError>
[INFO] [stdout]     |              ------------ required by a bound in this function
[INFO] [stdout] 125 | where
[INFO] [stdout] 126 |     S: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout]     |                    ^^^^^^^^^^ required by this bound in `accept_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::net::TcpStream: tokio::io::async_read::AsyncRead` is not satisfied
[INFO] [stdout]    --> examples/echo-server.rs:34:21
[INFO] [stdout]     |
[INFO] [stdout]  34 |     let ws_stream = tokio_tungstenite::accept_async(stream)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::async_read::AsyncRead` is not implemented for `tokio::net::TcpStream`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.3.6/src/io/async_read.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub trait AsyncRead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.1.0/src/io/async_read.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub trait AsyncRead {
[INFO] [stdout]     | ------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::async_read::AsyncRead`:
[INFO] [stdout]               &[u8]
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               std::io::Cursor<T>
[INFO] [stdout]               tokio::io::split::ReadHalf<T>
[INFO] [stdout]               tokio::io::util::buf_reader::BufReader<R>
[INFO] [stdout]               tokio::io::util::buf_stream::BufStream<RW>
[INFO] [stdout]             and 13 others
[INFO] [stdout]     = note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `accept_async`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-tungstenite-0.12.0/src/lib.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn accept_async<S>(stream: S) -> Result<WebSocketStream<S>, WsError>
[INFO] [stdout]     |              ------------ required by a bound in this function
[INFO] [stdout] 125 | where
[INFO] [stdout] 126 |     S: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout]     |        ^^^^^^^^^ required by this bound in `accept_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::net::TcpStream: tokio::io::async_write::AsyncWrite` is not satisfied
[INFO] [stdout]    --> examples/echo-server.rs:34:21
[INFO] [stdout]     |
[INFO] [stdout]  34 |     let ws_stream = tokio_tungstenite::accept_async(stream)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::async_write::AsyncWrite` is not implemented for `tokio::net::TcpStream`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.3.6/src/io/async_write.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub trait AsyncWrite {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.1.0/src/io/async_write.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub trait AsyncWrite {
[INFO] [stdout]     | -------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::async_write::AsyncWrite`:
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               Vec<u8>
[INFO] [stdout]               std::io::Cursor<&mut Vec<u8>>
[INFO] [stdout]               std::io::Cursor<&mut [u8]>
[INFO] [stdout]               std::io::Cursor<Box<[u8]>>
[INFO] [stdout]               std::io::Cursor<Vec<u8>>
[INFO] [stdout]             and 13 others
[INFO] [stdout]     = note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `accept_async`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-tungstenite-0.12.0/src/lib.rs:126:20
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn accept_async<S>(stream: S) -> Result<WebSocketStream<S>, WsError>
[INFO] [stdout]     |              ------------ required by a bound in this function
[INFO] [stdout] 125 | where
[INFO] [stdout] 126 |     S: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout]     |                    ^^^^^^^^^^ required by this bound in `accept_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::net::TcpStream: tokio::io::async_read::AsyncRead` is not satisfied
[INFO] [stdout]    --> examples/echo-server.rs:35:10
[INFO] [stdout]     |
[INFO] [stdout]  35 |         .await
[INFO] [stdout]     |          ^^^^^ the trait `tokio::io::async_read::AsyncRead` is not implemented for `tokio::net::TcpStream`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.3.6/src/io/async_read.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub trait AsyncRead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.1.0/src/io/async_read.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub trait AsyncRead {
[INFO] [stdout]     | ------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::async_read::AsyncRead`:
[INFO] [stdout]               &[u8]
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               std::io::Cursor<T>
[INFO] [stdout]               tokio::io::split::ReadHalf<T>
[INFO] [stdout]               tokio::io::util::buf_reader::BufReader<R>
[INFO] [stdout]               tokio::io::util::buf_stream::BufStream<RW>
[INFO] [stdout]             and 13 others
[INFO] [stdout]     = note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `accept_async`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-tungstenite-0.12.0/src/lib.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn accept_async<S>(stream: S) -> Result<WebSocketStream<S>, WsError>
[INFO] [stdout]     |              ------------ required by a bound in this function
[INFO] [stdout] 125 | where
[INFO] [stdout] 126 |     S: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout]     |        ^^^^^^^^^ required by this bound in `accept_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::net::TcpStream: tokio::io::async_write::AsyncWrite` is not satisfied
[INFO] [stdout]    --> examples/echo-server.rs:35:10
[INFO] [stdout]     |
[INFO] [stdout]  35 |         .await
[INFO] [stdout]     |          ^^^^^ the trait `tokio::io::async_write::AsyncWrite` is not implemented for `tokio::net::TcpStream`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.3.6/src/io/async_write.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub trait AsyncWrite {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.1.0/src/io/async_write.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | pub trait AsyncWrite {
[INFO] [stdout]     | -------------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::async_write::AsyncWrite`:
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               Vec<u8>
[INFO] [stdout]               std::io::Cursor<&mut Vec<u8>>
[INFO] [stdout]               std::io::Cursor<&mut [u8]>
[INFO] [stdout]               std::io::Cursor<Box<[u8]>>
[INFO] [stdout]               std::io::Cursor<Vec<u8>>
[INFO] [stdout]             and 13 others
[INFO] [stdout]     = note: there are multiple different versions of crate `tokio` in the dependency graph
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `accept_async`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-tungstenite-0.12.0/src/lib.rs:126:20
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn accept_async<S>(stream: S) -> Result<WebSocketStream<S>, WsError>
[INFO] [stdout]     |              ------------ required by a bound in this function
[INFO] [stdout] 125 | where
[INFO] [stdout] 126 |     S: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout]     |                    ^^^^^^^^^^ required by this bound in `accept_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `split` exists for struct `WebSocketStream<tokio::net::TcpStream>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/echo-server.rs:40:35
[INFO] [stdout]     |
[INFO] [stdout]  40 |     let (write, read) = ws_stream.split();
[INFO] [stdout]     |                                   ^^^^^ method cannot be called on `WebSocketStream<tokio::net::TcpStream>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-tungstenite-0.12.0/src/lib.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct WebSocketStream<S> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `WebSocketStream<tokio::net::TcpStream>: StreamExt` or `_: Stream`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `WebSocketStream<tokio::net::TcpStream>: futures_util::stream::Stream`
[INFO] [stdout]             which is required by `WebSocketStream<tokio::net::TcpStream>: StreamExt`
[INFO] [stdout]             `&WebSocketStream<tokio::net::TcpStream>: futures_util::stream::Stream`
[INFO] [stdout]             which is required by `&WebSocketStream<tokio::net::TcpStream>: StreamExt`
[INFO] [stdout]             `&mut WebSocketStream<tokio::net::TcpStream>: futures_util::stream::Stream`
[INFO] [stdout]             which is required by `&mut WebSocketStream<tokio::net::TcpStream>: StreamExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `example` (example "echo-server") due to 7 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "da130d28772e5b1deb76a78c11ec4072b9611c78254edc84bc9ccef2e2dc1d28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da130d28772e5b1deb76a78c11ec4072b9611c78254edc84bc9ccef2e2dc1d28", kill_on_drop: false }`
[INFO] [stdout] da130d28772e5b1deb76a78c11ec4072b9611c78254edc84bc9ccef2e2dc1d28
