[INFO] cloning repository https://github.com/HotelCalifornia/riirc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HotelCalifornia/riirc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHotelCalifornia%2Friirc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHotelCalifornia%2Friirc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9b6981ad12165b9fcaca7176030418223b10569c
[INFO] checking HotelCalifornia/riirc against try#bac5816c5f3d02cebd0599070af62d1782530294 for pr-150408
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHotelCalifornia%2Friirc" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/HotelCalifornia/riirc
[INFO] finished tweaking git repo https://github.com/HotelCalifornia/riirc
[INFO] tweaked toml for git repo https://github.com/HotelCalifornia/riirc written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/HotelCalifornia/riirc on toolchain bac5816c5f3d02cebd0599070af62d1782530294
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/HotelCalifornia/riirc 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" "+bac5816c5f3d02cebd0599070af62d1782530294" "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 num_enum v0.4.3
[INFO] [stderr]   Downloaded hermit-abi v0.1.8
[INFO] [stderr]   Downloaded num_enum_derive v0.4.3
[INFO] [stderr]   Downloaded socket2 v0.3.11
[INFO] [stderr]   Downloaded proc-macro2 v1.0.9
[INFO] [stderr]   Downloaded num_cpus v1.12.0
[INFO] [stderr]   Downloaded arc-swap v0.4.4
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.12
[INFO] [stderr]   Downloaded derivative v2.0.2
[INFO] [stderr]   Downloaded serde v1.0.105
[INFO] [stderr]   Downloaded syn v1.0.16
[INFO] [stderr]   Downloaded tokio v0.2.13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d9ca60ddc9dd628df7a9d7b8b84470e2b6879025fd32582138beae640d07923d
[INFO] running `Command { std: "docker" "start" "-a" "d9ca60ddc9dd628df7a9d7b8b84470e2b6879025fd32582138beae640d07923d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9ca60ddc9dd628df7a9d7b8b84470e2b6879025fd32582138beae640d07923d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9ca60ddc9dd628df7a9d7b8b84470e2b6879025fd32582138beae640d07923d", kill_on_drop: false }`
[INFO] [stdout] d9ca60ddc9dd628df7a9d7b8b84470e2b6879025fd32582138beae640d07923d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d2b83188bbf0dfd0204d7d848a8961325bf7fffe1f3d8ceaacbc53da4567201
[INFO] running `Command { std: "docker" "start" "-a" "2d2b83188bbf0dfd0204d7d848a8961325bf7fffe1f3d8ceaacbc53da4567201", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.9
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.16
[INFO] [stderr]    Compiling libc v0.2.68
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking futures-core v0.3.4
[INFO] [stderr]    Compiling serde v1.0.105
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling proc-macro-nested v0.1.4
[INFO] [stderr]     Checking futures-sink v0.3.4
[INFO] [stderr]     Checking futures-io v0.3.4
[INFO] [stderr]     Checking arc-swap v0.4.4
[INFO] [stderr]     Checking futures-task v0.3.4
[INFO] [stderr]     Checking pin-utils v0.1.0-alpha.4
[INFO] [stderr]     Checking pin-project-lite v0.1.4
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking bytes v0.5.4
[INFO] [stderr]     Checking futures-channel v0.3.4
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking num_cpus v1.12.0
[INFO] [stderr]     Checking signal-hook-registry v1.2.0
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]    Compiling toml v0.5.6
[INFO] [stderr]    Compiling proc-macro-hack v0.5.12
[INFO] [stderr]    Compiling tokio-macros v0.2.5
[INFO] [stderr]    Compiling derivative v2.0.2
[INFO] [stderr]    Compiling proc-macro-crate v0.1.4
[INFO] [stderr]     Checking tokio v0.2.13
[INFO] [stderr]    Compiling num_enum_derive v0.4.3
[INFO] [stderr]    Compiling futures-macro v0.3.4
[INFO] [stderr]     Checking num_enum v0.4.3
[INFO] [stderr]     Checking futures-util v0.3.4
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking futures-executor v0.3.4
[INFO] [stderr]     Checking futures v0.3.4
[INFO] [stderr]     Checking riirc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0428]: the name `Command` is defined multiple times
[INFO] [stdout]    --> src/irc/proto.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- previous definition of the type `Command` here
[INFO] [stdout] ...
[INFO] [stdout] 313 | pub enum Command {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ `Command` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Command` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ready`
[INFO] [stdout]  --> src/irc/transport.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use futures::{ready, Stream, task::Poll};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_util::codec::Framed`
[INFO] [stdout]  --> src/irc/transport.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio_util::codec::Framed;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]  --> src/irc/transport.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Command` is defined multiple times
[INFO] [stdout]    --> src/irc/proto.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- previous definition of the type `Command` here
[INFO] [stdout] ...
[INFO] [stdout] 313 | pub enum Command {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ `Command` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Command` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ready`
[INFO] [stdout]  --> src/irc/transport.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use futures::{ready, Stream, task::Poll};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_util::codec::Framed`
[INFO] [stdout]  --> src/irc/transport.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio_util::codec::Framed;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]  --> src/irc/transport.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `impl Future<Output = Result<TcpStream, Error>>: AsyncRead` is not satisfied
[INFO] [stdout]    --> src/irc/mod.rs:17:66
[INFO] [stdout]     |
[INFO] [stdout]  17 |         let stream = codec::ServerMessageCodec::default().framed(TcpStream::connect(addr));
[INFO] [stdout]     |                                                           ------ ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::AsyncRead` is not implemented for `impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>`
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::AsyncRead`:
[INFO] [stdout]               &[u8]
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               BufStream<RW>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               PollEvented<E>
[INFO] [stdout]               Transport
[INFO] [stdout]               std::io::Cursor<T>
[INFO] [stdout]             and 15 others
[INFO] [stdout] note: required by a bound in `framed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.3.1/src/codec/decoder.rs:159:18
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn framed<T: AsyncRead + AsyncWrite + Sized>(self, io: T) -> Framed<T, Self>
[INFO] [stdout]     |                  ^^^^^^^^^ required by this bound in `Decoder::framed`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/riirc-0af813c5ee380e29.long-type-5694650701875372366.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `impl Future<Output = Result<TcpStream, Error>>: AsyncWrite` is not satisfied
[INFO] [stdout]    --> src/irc/mod.rs:17:66
[INFO] [stdout]     |
[INFO] [stdout]  17 |         let stream = codec::ServerMessageCodec::default().framed(TcpStream::connect(addr));
[INFO] [stdout]     |                                                           ------ ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::AsyncWrite` is not implemented for `impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>`
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::AsyncWrite`:
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               BufStream<RW>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               PollEvented<E>
[INFO] [stdout]               Transport
[INFO] [stdout]               Vec<u8>
[INFO] [stdout]               std::io::Cursor<&mut Vec<u8>>
[INFO] [stdout]             and 15 others
[INFO] [stdout] note: required by a bound in `framed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.3.1/src/codec/decoder.rs:159:30
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn framed<T: AsyncRead + AsyncWrite + Sized>(self, io: T) -> Framed<T, Self>
[INFO] [stdout]     |                              ^^^^^^^^^^ required by this bound in `Decoder::framed`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/riirc-0af813c5ee380e29.long-type-6353262589710999427.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `split` exists for struct `Framed<impl Future<Output = Result<TcpStream, Error>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/irc/mod.rs:18:37
[INFO] [stdout]     |
[INFO] [stdout]  18 |           let (sink, stream) = stream.split();
[INFO] [stdout]     |                                       ^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.1.4/src/lib.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 | / ...   $vis struct $ident
[INFO] [stdout] 242 | | ...       $(< $( $lifetime $(: $lifetime_bound)? ,)* $( $generics $(: $generics_bound)? $(: ?$generics_unsized_bound)? $(: $gener...
[INFO] [stdout] 243 | | ...       $(where
[INFO] [stdout] 244 | | ...           $($where_clause_ty: $where_clause_bound),*
[INFO] [stdout] ...   |
[INFO] [stdout] 249 | | ...       ),+
[INFO] [stdout] 250 | | ...   }
[INFO] [stdout]     | |_______- doesn't satisfy `_: StreamExt` or `_: Stream`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: Stream`
[INFO] [stdout]             which is required by `Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: futures::StreamExt`
[INFO] [stdout]             `&Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: Stream`
[INFO] [stdout]             which is required by `&Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: futures::StreamExt`
[INFO] [stdout]             `&mut Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: Stream`
[INFO] [stdout]             which is required by `&mut Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: futures::StreamExt`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/riirc-0af813c5ee380e29.long-type-5315311196075472577.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/irc/mod.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let stream = stream.filter_map(move |message| {
[INFO] [stdout]    |                      ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]   --> src/irc/mod.rs:22:64
[INFO] [stdout]    |
[INFO] [stdout] 22 |             if let Ok(proto::Message {command: proto::Command::Cmd("PING"), params: params, ..}) = message {
[INFO] [stdout]    |                                                                ^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/irc/proto.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum Command {
[INFO] [stdout]    | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `impl Future<Output = Result<TcpStream, Error>>: AsyncRead` is not satisfied
[INFO] [stdout]    --> src/irc/mod.rs:17:66
[INFO] [stdout]     |
[INFO] [stdout]  17 |         let stream = codec::ServerMessageCodec::default().framed(TcpStream::connect(addr));
[INFO] [stdout]     |                                                           ------ ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::AsyncRead` is not implemented for `impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>`
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::AsyncRead`:
[INFO] [stdout]               &[u8]
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               BufStream<RW>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               PollEvented<E>
[INFO] [stdout]               Transport
[INFO] [stdout]               std::io::Cursor<T>
[INFO] [stdout]             and 15 others
[INFO] [stdout] note: required by a bound in `framed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.3.1/src/codec/decoder.rs:159:18
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn framed<T: AsyncRead + AsyncWrite + Sized>(self, io: T) -> Framed<T, Self>
[INFO] [stdout]     |                  ^^^^^^^^^ required by this bound in `Decoder::framed`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/riirc-86577d3987d402cc.long-type-12295656929983006333.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `impl Future<Output = Result<TcpStream, Error>>: AsyncWrite` is not satisfied
[INFO] [stdout]    --> src/irc/mod.rs:17:66
[INFO] [stdout]     |
[INFO] [stdout]  17 |         let stream = codec::ServerMessageCodec::default().framed(TcpStream::connect(addr));
[INFO] [stdout]     |                                                           ------ ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::AsyncWrite` is not implemented for `impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>`
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `tokio::io::AsyncWrite`:
[INFO] [stdout]               &mut T
[INFO] [stdout]               Box<T>
[INFO] [stdout]               BufStream<RW>
[INFO] [stdout]               Pin<P>
[INFO] [stdout]               PollEvented<E>
[INFO] [stdout]               Transport
[INFO] [stdout]               Vec<u8>
[INFO] [stdout]               std::io::Cursor<&mut Vec<u8>>
[INFO] [stdout]             and 15 others
[INFO] [stdout] note: required by a bound in `framed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.3.1/src/codec/decoder.rs:159:30
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn framed<T: AsyncRead + AsyncWrite + Sized>(self, io: T) -> Framed<T, Self>
[INFO] [stdout]     |                              ^^^^^^^^^^ required by this bound in `Decoder::framed`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/riirc-86577d3987d402cc.long-type-4452210701622541809.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `split` exists for struct `Framed<impl Future<Output = Result<TcpStream, Error>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/irc/mod.rs:18:37
[INFO] [stdout]     |
[INFO] [stdout]  18 |           let (sink, stream) = stream.split();
[INFO] [stdout]     |                                       ^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.1.4/src/lib.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 | / ...   $vis struct $ident
[INFO] [stdout] 242 | | ...       $(< $( $lifetime $(: $lifetime_bound)? ,)* $( $generics $(: $generics_bound)? $(: ?$generics_unsized_bound)? $(: $gener...
[INFO] [stdout] 243 | | ...       $(where
[INFO] [stdout] 244 | | ...           $($where_clause_ty: $where_clause_bound),*
[INFO] [stdout] ...   |
[INFO] [stdout] 249 | | ...       ),+
[INFO] [stdout] 250 | | ...   }
[INFO] [stdout]     | |_______- doesn't satisfy `_: StreamExt` or `_: Stream`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: Stream`
[INFO] [stdout]             which is required by `Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: futures::StreamExt`
[INFO] [stdout]             `&Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: Stream`
[INFO] [stdout]             which is required by `&Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: futures::StreamExt`
[INFO] [stdout]             `&mut Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: Stream`
[INFO] [stdout]             which is required by `&mut Framed<impl futures::Future<Output = Result<tokio::net::TcpStream, std::io::Error>>, ServerMessageCodec>: futures::StreamExt`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/riirc-86577d3987d402cc.long-type-16844543129913048287.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/irc/mod.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let stream = stream.filter_map(move |message| {
[INFO] [stdout]    |                      ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self.user.nick` because it is borrowed
[INFO] [stdout]   --> src/irc/mod.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn send_registration(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                    --------- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 58 |         self.send(proto::Message {
[INFO] [stdout]    |         ---- ---- borrow later used by call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         borrow of `*self` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 62 |             params: vec![self.user.nick],
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ move out of `self.user.nick` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.user.nick` which is behind a mutable reference
[INFO] [stdout]   --> src/irc/mod.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |             params: vec![self.user.nick],
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ move occurs because `self.user.nick` has type `String`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 62 |             params: vec![self.user.nick.clone()],
[INFO] [stdout]    |                                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self.user.name` because it is borrowed
[INFO] [stdout]   --> src/irc/mod.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn send_registration(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                    --------- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 64 |         self.send(proto::Message {
[INFO] [stdout]    |         ---- ---- borrow later used by call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         borrow of `*self` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Ano...
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ move out of `self.user.name` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.user.name` which is behind a mutable reference
[INFO] [stdout]   --> src/irc/mod.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...ec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ --------------------- `self.user.name` moved due to this method call
[INFO] [stdout]    |        |
[INFO] [stdout]    |        help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
[INFO] [stdout]    |        move occurs because `self.user.name` has type `Option<String>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: `Option::<T>::ok_or` takes ownership of the receiver `self`, which moves `self.user.name`
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/option.rs:1337:44
[INFO] [stdout] help: you can `clone` the value and consume it, but this might not be your desired behavior
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![<Option<String> as Clone>::clone(&self.user.name).ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |                          ++++++++++++++++++++++++++++++++++              +
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![self.user.name.clone().ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |                                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self.user.nick` because it is borrowed
[INFO] [stdout]   --> src/irc/mod.rs:68:47
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn send_registration(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                    --------- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 64 |         self.send(proto::Message {
[INFO] [stdout]    |         ---- ---- borrow later used by call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         borrow of `*self` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Ano...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^ move out of `self.user.nick` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.user.nick` which is behind a mutable reference
[INFO] [stdout]   --> src/irc/mod.rs:68:47
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...e.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ move occurs because `self.user.nick` has type `String`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick.clone())?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |                                                             ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self.user.real_name` because it is borrowed
[INFO] [stdout]   --> src/irc/mod.rs:68:103
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn send_registration(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                    --------- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 64 |         self.send(proto::Message {
[INFO] [stdout]    |         ---- ---- borrow later used by call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         borrow of `*self` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Ano...
[INFO] [stdout]    |                                                                                                       ^^^^^^^^^^^^^^^^^^^ move out of `self.user.real_name` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.user.real_name` which is behind a mutable reference
[INFO] [stdout]   --> src/irc/mod.rs:68:103
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...tring::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^ ------------------ `self.user.real_name` moved due to this method call
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
[INFO] [stdout]    |                                         move occurs because `self.user.real_name` has type `Option<String>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: you can `clone` the value and consume it, but this might not be your desired behavior
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), <Option<String> as Clone>::clone(&self.user.real_name).ok_or("Anonymous")?],
[INFO] [stdout]    |                                                                                                       ++++++++++++++++++++++++++++++++++                   +
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.clone().ok_or("Anonymous")?],
[INFO] [stdout]    |                                                                                                                          ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]   --> src/irc/mod.rs:22:64
[INFO] [stdout]    |
[INFO] [stdout] 22 |             if let Ok(proto::Message {command: proto::Command::Cmd("PING"), params: params, ..}) = message {
[INFO] [stdout]    |                                                                ^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/irc/proto.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum Command {
[INFO] [stdout]    | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self.user.nick` because it is borrowed
[INFO] [stdout]   --> src/irc/mod.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn send_registration(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                    --------- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 58 |         self.send(proto::Message {
[INFO] [stdout]    |         ---- ---- borrow later used by call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         borrow of `*self` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 62 |             params: vec![self.user.nick],
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ move out of `self.user.nick` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.user.nick` which is behind a mutable reference
[INFO] [stdout]   --> src/irc/mod.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |             params: vec![self.user.nick],
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ move occurs because `self.user.nick` has type `String`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 62 |             params: vec![self.user.nick.clone()],
[INFO] [stdout]    |                                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self.user.name` because it is borrowed
[INFO] [stdout]   --> src/irc/mod.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn send_registration(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                    --------- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 64 |         self.send(proto::Message {
[INFO] [stdout]    |         ---- ---- borrow later used by call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         borrow of `*self` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Ano...
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ move out of `self.user.name` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.user.name` which is behind a mutable reference
[INFO] [stdout]   --> src/irc/mod.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...ec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ --------------------- `self.user.name` moved due to this method call
[INFO] [stdout]    |        |
[INFO] [stdout]    |        help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
[INFO] [stdout]    |        move occurs because `self.user.name` has type `Option<String>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: `Option::<T>::ok_or` takes ownership of the receiver `self`, which moves `self.user.name`
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/option.rs:1337:44
[INFO] [stdout] help: you can `clone` the value and consume it, but this might not be your desired behavior
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![<Option<String> as Clone>::clone(&self.user.name).ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |                          ++++++++++++++++++++++++++++++++++              +
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![self.user.name.clone().ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |                                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self.user.nick` because it is borrowed
[INFO] [stdout]   --> src/irc/mod.rs:68:47
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn send_registration(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                    --------- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 64 |         self.send(proto::Message {
[INFO] [stdout]    |         ---- ---- borrow later used by call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         borrow of `*self` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Ano...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^ move out of `self.user.nick` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.user.nick` which is behind a mutable reference
[INFO] [stdout]   --> src/irc/mod.rs:68:47
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...e.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ move occurs because `self.user.nick` has type `String`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick.clone())?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |                                                             ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self.user.real_name` because it is borrowed
[INFO] [stdout]   --> src/irc/mod.rs:68:103
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn send_registration(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                    --------- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 64 |         self.send(proto::Message {
[INFO] [stdout]    |         ---- ---- borrow later used by call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         borrow of `*self` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.ok_or("Ano...
[INFO] [stdout]    |                                                                                                       ^^^^^^^^^^^^^^^^^^^ move out of `self.user.real_name` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.user.real_name` which is behind a mutable reference
[INFO] [stdout]   --> src/irc/mod.rs:68:103
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...tring::from("0"), String::from("*"), self.user.real_name.ok_or("Anonymous")?],
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^ ------------------ `self.user.real_name` moved due to this method call
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
[INFO] [stdout]    |                                         move occurs because `self.user.real_name` has type `Option<String>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: you can `clone` the value and consume it, but this might not be your desired behavior
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), <Option<String> as Clone>::clone(&self.user.real_name).ok_or("Anonymous")?],
[INFO] [stdout]    |                                                                                                       ++++++++++++++++++++++++++++++++++                   +
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]    |
[INFO] [stdout] 68 |             params: vec![self.user.name.ok_or(self.user.nick)?, String::from("0"), String::from("*"), self.user.real_name.clone().ok_or("Anonymous")?],
[INFO] [stdout]    |                                                                                                                          ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 314 |     Cmd(String),
[INFO] [stdout]     |     ^^^^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 315 |     Response(Reply),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:312:10
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 312 | #[derive(Clone, Debug)]
[INFO] [stdout]     |          ^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:312:10
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 312 | #[derive(Clone, Debug)]
[INFO] [stdout]     |          ^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:321:37
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 321 |             b'0'..=b'9' => Command::Response(Reply::from(String::from_utf8(src.to_vec()).unwrap().parse::<u16>().unwrap())),
[INFO] [stdout]     |                                     ^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:322:27
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 322 |             _ => Command::Cmd(String::from_utf8(src.to_vec()).unwrap()),
[INFO] [stdout]     |                           ^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:330:31
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 330 |             Ok(n) => Command::Response(Reply::from(n)),
[INFO] [stdout]     |                               ^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:331:32
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 331 |             Err(_) => Command::Cmd(src),
[INFO] [stdout]     |                                ^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:431:22
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 431 |             Command::Response(n) => format!("{:?}", n),
[INFO] [stdout]     |                      ^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:432:22
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 432 |             Command::Cmd(s) => format!("{}", s),
[INFO] [stdout]     |                      ^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 314 |     Cmd(String),
[INFO] [stdout]     |     ^^^^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 315 |     Response(Reply),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `poll_next` exists for struct `tokio::net::TcpStream`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/irc/transport.rs:16:20
[INFO] [stdout]     |
[INFO] [stdout]  16 |         TcpStream::poll_next(std::pin::Pin::new(self.get_mut().stream), cx, buf)
[INFO] [stdout]     |                    ^^^^^^^^^ function or associated item cannot be called on `tokio::net::TcpStream` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.2.13/src/net/tcp/stream.rs:45:5
[INFO] [stdout]     |
[INFO] [stdout]  45 |     pub struct TcpStream {
[INFO] [stdout]     |     -------------------- doesn't satisfy `tokio::net::TcpStream: Stream`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `tokio::net::TcpStream`, consider using `tokio::net::TcpStream::from_std` which returns `Result<tokio::net::TcpStream, std::io::Error>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.2.13/src/net/tcp/stream.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn from_std(stream: net::TcpStream) -> io::Result<TcpStream> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `tokio::net::TcpStream: Stream`
[INFO] [stdout]             which is required by `&mut tokio::net::TcpStream: Stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::net::TcpStream: Deref` is not satisfied
[INFO] [stdout]   --> src/irc/transport.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 |         TcpStream::poll_next(std::pin::Pin::new(self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                              ------------------ ^^^^^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `tokio::net::TcpStream`
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Pin::<Ptr>::new`
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/pin.rs:1183:4
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 16 |         TcpStream::poll_next(std::pin::Pin::new(&self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                                                 +
[INFO] [stdout] 16 |         TcpStream::poll_next(std::pin::Pin::new(&mut self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:312:10
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 312 | #[derive(Clone, Debug)]
[INFO] [stdout]     |          ^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:312:10
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 312 | #[derive(Clone, Debug)]
[INFO] [stdout]     |          ^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/irc/transport.rs:26:50
[INFO] [stdout]    |
[INFO] [stdout] 26 |         TcpStream::poll_write(std::pin::Pin::new(self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                               ------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `&mut TcpStream`, found `TcpStream`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/pin.rs:1183:17
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 26 |         TcpStream::poll_write(std::pin::Pin::new(&mut self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/irc/transport.rs:29:50
[INFO] [stdout]    |
[INFO] [stdout] 29 |         TcpStream::poll_flush(std::pin::Pin::new(self.get_mut().stream), cx)
[INFO] [stdout]    |                               ------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `&mut TcpStream`, found `TcpStream`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/pin.rs:1183:17
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 29 |         TcpStream::poll_flush(std::pin::Pin::new(&mut self.get_mut().stream), cx)
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:321:37
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 321 |             b'0'..=b'9' => Command::Response(Reply::from(String::from_utf8(src.to_vec()).unwrap().parse::<u16>().unwrap())),
[INFO] [stdout]     |                                     ^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/irc/transport.rs:32:53
[INFO] [stdout]    |
[INFO] [stdout] 32 |         TcpStream::poll_shutdown(std::pin::Pin::new(self.get_mut().stream), cx)
[INFO] [stdout]    |                                  ------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `&mut TcpStream`, found `TcpStream`
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/pin.rs:1183:17
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 32 |         TcpStream::poll_shutdown(std::pin::Pin::new(&mut self.get_mut().stream), cx)
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:322:27
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 322 |             _ => Command::Cmd(String::from_utf8(src.to_vec()).unwrap()),
[INFO] [stdout]     |                           ^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:330:31
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 330 |             Ok(n) => Command::Response(Reply::from(n)),
[INFO] [stdout]     |                               ^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:331:32
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 331 |             Err(_) => Command::Cmd(src),
[INFO] [stdout]     |                                ^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Response` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:431:22
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Response` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 431 |             Command::Response(n) => format!("{:?}", n),
[INFO] [stdout]     |                      ^^^^^^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Cmd` found for enum `proto::Command` in the current scope
[INFO] [stdout]    --> src/irc/proto.rs:432:22
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum Command {
[INFO] [stdout]     | ---------------- variant or associated item `Cmd` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 432 |             Command::Cmd(s) => format!("{}", s),
[INFO] [stdout]     |                      ^^^ variant or associated item not found in `proto::Command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `poll_next` exists for struct `tokio::net::TcpStream`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/irc/transport.rs:16:20
[INFO] [stdout]     |
[INFO] [stdout]  16 |         TcpStream::poll_next(std::pin::Pin::new(self.get_mut().stream), cx, buf)
[INFO] [stdout]     |                    ^^^^^^^^^ function or associated item cannot be called on `tokio::net::TcpStream` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.2.13/src/net/tcp/stream.rs:45:5
[INFO] [stdout]     |
[INFO] [stdout]  45 |     pub struct TcpStream {
[INFO] [stdout]     |     -------------------- doesn't satisfy `tokio::net::TcpStream: Stream`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `tokio::net::TcpStream`, consider using `tokio::net::TcpStream::from_std` which returns `Result<tokio::net::TcpStream, std::io::Error>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-0.2.13/src/net/tcp/stream.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn from_std(stream: net::TcpStream) -> io::Result<TcpStream> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `tokio::net::TcpStream: Stream`
[INFO] [stdout]             which is required by `&mut tokio::net::TcpStream: Stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `tokio::net::TcpStream: Deref` is not satisfied
[INFO] [stdout]   --> src/irc/transport.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 |         TcpStream::poll_next(std::pin::Pin::new(self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                              ------------------ ^^^^^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `tokio::net::TcpStream`
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Pin::<Ptr>::new`
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/pin.rs:1183:4
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 16 |         TcpStream::poll_next(std::pin::Pin::new(&self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                                                 +
[INFO] [stdout] 16 |         TcpStream::poll_next(std::pin::Pin::new(&mut self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/irc/transport.rs:26:50
[INFO] [stdout]    |
[INFO] [stdout] 26 |         TcpStream::poll_write(std::pin::Pin::new(self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                               ------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `&mut TcpStream`, found `TcpStream`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/pin.rs:1183:17
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 26 |         TcpStream::poll_write(std::pin::Pin::new(&mut self.get_mut().stream), cx, buf)
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/irc/transport.rs:29:50
[INFO] [stdout]    |
[INFO] [stdout] 29 |         TcpStream::poll_flush(std::pin::Pin::new(self.get_mut().stream), cx)
[INFO] [stdout]    |                               ------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `&mut TcpStream`, found `TcpStream`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/pin.rs:1183:17
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 29 |         TcpStream::poll_flush(std::pin::Pin::new(&mut self.get_mut().stream), cx)
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/irc/transport.rs:32:53
[INFO] [stdout]    |
[INFO] [stdout] 32 |         TcpStream::poll_shutdown(std::pin::Pin::new(self.get_mut().stream), cx)
[INFO] [stdout]    |                                  ------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `&mut TcpStream`, found `TcpStream`
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/bac5816c5f3d02cebd0599070af62d1782530294/library/core/src/pin.rs:1183:17
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 32 |         TcpStream::poll_shutdown(std::pin::Pin::new(&mut self.get_mut().stream), cx)
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0308, E0428, E0505, E0507, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0308, E0428, E0505, E0507, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `riirc` (bin "riirc" test) due to 29 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `riirc` (bin "riirc") due to 29 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2d2b83188bbf0dfd0204d7d848a8961325bf7fffe1f3d8ceaacbc53da4567201", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d2b83188bbf0dfd0204d7d848a8961325bf7fffe1f3d8ceaacbc53da4567201", kill_on_drop: false }`
[INFO] [stdout] 2d2b83188bbf0dfd0204d7d848a8961325bf7fffe1f3d8ceaacbc53da4567201
