[INFO] fetching crate stage 0.2.0...
[INFO] testing stage-0.2.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8
[INFO] extracting crate stage 0.2.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate stage 0.2.0
[INFO] finished tweaking crates.io crate stage 0.2.0
[INFO] tweaked toml for crates.io crate stage 0.2.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate stage 0.2.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate stage 0.2.0 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2d7be98f8713b2cbbeef0be35d5d40d40a27f4e25162a7e834b2330b05416404
[INFO] running `Command { std: "docker" "start" "-a" "2d7be98f8713b2cbbeef0be35d5d40d40a27f4e25162a7e834b2330b05416404", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2d7be98f8713b2cbbeef0be35d5d40d40a27f4e25162a7e834b2330b05416404", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d7be98f8713b2cbbeef0be35d5d40d40a27f4e25162a7e834b2330b05416404", kill_on_drop: false }`
[INFO] [stdout] 2d7be98f8713b2cbbeef0be35d5d40d40a27f4e25162a7e834b2330b05416404
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a2a8ae788665e03d138c1993e2273b01de85371eaabb4e7d31269944163c63cb
[INFO] running `Command { std: "docker" "start" "-a" "a2a8ae788665e03d138c1993e2273b01de85371eaabb4e7d31269944163c63cb", 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.67
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling proc-macro-nested v0.1.3
[INFO] [stderr]    Compiling futures-core v0.3.4
[INFO] [stderr]    Compiling futures-sink v0.3.4
[INFO] [stderr]    Compiling pin-utils v0.1.0-alpha.4
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling futures-task v0.3.4
[INFO] [stderr]    Compiling slab v0.4.2
[INFO] [stderr]    Compiling futures-io v0.3.4
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling tracing-core v0.1.10
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling once_cell v1.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.4
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num_cpus v1.12.0
[INFO] [stderr]    Compiling mio v0.7.0
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]    Compiling crossbeam-channel v0.4.2
[INFO] [stderr]    Compiling crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling proc-macro-hack v0.5.11
[INFO] [stderr]    Compiling tracing-attributes v0.1.7
[INFO] [stderr]    Compiling futures-macro v0.3.4
[INFO] [stderr]    Compiling const-random-macro v0.1.8
[INFO] [stderr]    Compiling tracing v0.1.13
[INFO] [stderr]    Compiling const-random v0.1.8
[INFO] [stderr]    Compiling ahash v0.3.2
[INFO] [stderr]    Compiling dashmap v3.7.0
[INFO] [stderr]    Compiling futures-util v0.3.4
[INFO] [stderr]    Compiling futures-executor v0.3.4
[INFO] [stderr]    Compiling futures v0.3.4
[INFO] [stderr]    Compiling mirai v0.0.4
[INFO] [stderr]    Compiling stage v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/actors/stream.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut me = self.get_mut();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `warn_threshold` is never read
[INFO] [stdout]    --> src/actors/reactor.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub(crate) struct ActorReactorConfig {
[INFO] [stdout]     |                   ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub warn_threshold: Duration,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActorReactorConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.98s
[INFO] running `Command { std: "docker" "inspect" "a2a8ae788665e03d138c1993e2273b01de85371eaabb4e7d31269944163c63cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2a8ae788665e03d138c1993e2273b01de85371eaabb4e7d31269944163c63cb", kill_on_drop: false }`
[INFO] [stdout] a2a8ae788665e03d138c1993e2273b01de85371eaabb4e7d31269944163c63cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ed1356918db9ae1a3b8e3473e46ed0381c2abb50787aecf5a86ba1d11c2024f
[INFO] running `Command { std: "docker" "start" "-a" "7ed1356918db9ae1a3b8e3473e46ed0381c2abb50787aecf5a86ba1d11c2024f", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling ryu v1.0.3
[INFO] [stderr]    Compiling regex-syntax v0.6.17
[INFO] [stderr]    Compiling aho-corasick v0.7.10
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling itoa v0.4.5
[INFO] [stderr]    Compiling tracing-log v0.1.1
[INFO] [stderr]    Compiling sharded-slab v0.0.8
[INFO] [stderr]    Compiling smallvec v1.2.0
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/actors/stream.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut me = self.get_mut();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `warn_threshold` is never read
[INFO] [stdout]    --> src/actors/reactor.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub(crate) struct ActorReactorConfig {
[INFO] [stdout]     |                   ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub warn_threshold: Duration,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActorReactorConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling chrono v0.4.11
[INFO] [stderr]    Compiling regex-automata v0.1.9
[INFO] [stderr]    Compiling regex v1.3.5
[INFO] [stderr]    Compiling matchers v0.0.1
[INFO] [stderr]    Compiling tracing-serde v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.48
[INFO] [stderr]    Compiling tracing-subscriber v0.2.3
[INFO] [stderr]    Compiling stage v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find macro `actor_msg` in this scope
[INFO] [stdout]    --> examples/tcp.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | actor_msg!(Continue, TcpRecvMsg, TcpSendCmd, ReadingTcp, WritingTcp);
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use stage::actor_msg;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> examples/tcp.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::SocketAddr;
[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: `futures::io::Error`
[INFO] [stdout]  --> examples/tcp.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `Result as FutIoResult`
[INFO] [stdout]  --> examples/tcp.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::{AsyncRead, AsyncReadExt, Result as FutIoResult},
[INFO] [stdout]   |          ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpConnection`
[INFO] [stdout]  --> examples/tcp.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use mirai::tcp::{TcpConnection, TcpListenerStream, TcpRecvStream, TcpSendStream};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MsgError`
[INFO] [stdout]   --> examples/tcp.rs:12:80
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Actor, ActorCtx, ActorError, ActorRef, ActorResult, BuildActorOp, Message, MsgError,
[INFO] [stdout]    |                                                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `tcp`
[INFO] [stdout]    --> examples/tcp.rs:136:70
[INFO] [stdout]     |
[INFO] [stdout] 136 | actor_msg!(Continue, TcpRecvMsg, TcpSendCmd, ReadingTcp, WritingTcp);
[INFO] [stdout]     |                                                                      ^ consider adding a `main` function to `examples/tcp.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Continue: Into<Message>` is not satisfied
[INFO] [stdout]    --> examples/tcp.rs:47:31
[INFO] [stdout]     |
[INFO] [stdout]  47 |         let _ = ctx.this.send(Continue);
[INFO] [stdout]     |                          ---- ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ActorMessage` is not implemented for `Continue`
[INFO] [stdout]    --> examples/tcp.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct Continue;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `ActorMessage`:
[INFO] [stdout]               ActorStart
[INFO] [stdout]               ForwardAlert
[INFO] [stdout]               MonitorAlert
[INFO] [stdout]               StopCmd
[INFO] [stdout]               SystemStarted
[INFO] [stdout]               stage::sys_msgs::Request
[INFO] [stdout]     = note: required for `Message` to implement `From<Continue>`
[INFO] [stdout]     = note: required for `Continue` to implement `Into<Message>`
[INFO] [stdout] note: required by a bound in `Actor::send`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/actors/handle.rs:26:20
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn send<M: Into<Message>>(&self, msg: M) -> Result<(), MsgError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ required by this bound in `Actor::send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TcpRecvMsg: Into<Message>` is not satisfied
[INFO] [stdout]    --> examples/tcp.rs:50:33
[INFO] [stdout]     |
[INFO] [stdout]  50 |         match self.handler.send(msg) {
[INFO] [stdout]     |                            ---- ^^^ unsatisfied trait bound
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ActorMessage` is not implemented for `TcpRecvMsg`
[INFO] [stdout]    --> examples/tcp.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TcpRecvMsg(Result<Vec<u8>, io::Error>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `ActorMessage`:
[INFO] [stdout]               ActorStart
[INFO] [stdout]               ForwardAlert
[INFO] [stdout]               MonitorAlert
[INFO] [stdout]               StopCmd
[INFO] [stdout]               SystemStarted
[INFO] [stdout]               stage::sys_msgs::Request
[INFO] [stdout]     = note: required for `Message` to implement `From<TcpRecvMsg>`
[INFO] [stdout]     = note: required for `TcpRecvMsg` to implement `Into<Message>`
[INFO] [stdout] note: required by a bound in `Actor::send`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/actors/handle.rs:26:20
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn send<M: Into<Message>>(&self, msg: M) -> Result<(), MsgError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ required by this bound in `Actor::send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TcpSendCmd: ActorMessage` is not satisfied
[INFO] [stdout]    --> examples/tcp.rs:61:43
[INFO] [stdout]     |
[INFO] [stdout]  61 |         if let Some(cmd) = msg.try_cast::<TcpSendCmd>() {
[INFO] [stdout]     |                                --------   ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ActorMessage` is not implemented for `TcpSendCmd`
[INFO] [stdout]    --> examples/tcp.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub enum TcpSendCmd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `ActorMessage`:
[INFO] [stdout]               ActorStart
[INFO] [stdout]               ForwardAlert
[INFO] [stdout]               MonitorAlert
[INFO] [stdout]               StopCmd
[INFO] [stdout]               SystemStarted
[INFO] [stdout]               stage::sys_msgs::Request
[INFO] [stdout] note: required by a bound in `Message::try_cast`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/actors/message.rs:14:24
[INFO] [stdout]     |
[INFO] [stdout]  14 |     pub fn try_cast<T: ActorMessage>(&self) -> Option<&T> {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ required by this bound in `Message::try_cast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TcpRecvMsg: ActorMessage` is not satisfied
[INFO] [stdout]    --> examples/tcp.rs:105:43
[INFO] [stdout]     |
[INFO] [stdout] 105 |         if let Some(msg) = msg.try_cast::<TcpRecvMsg>() {
[INFO] [stdout]     |                                --------   ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ActorMessage` is not implemented for `TcpRecvMsg`
[INFO] [stdout]    --> examples/tcp.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct TcpRecvMsg(Result<Vec<u8>, io::Error>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `ActorMessage`:
[INFO] [stdout]               ActorStart
[INFO] [stdout]               ForwardAlert
[INFO] [stdout]               MonitorAlert
[INFO] [stdout]               StopCmd
[INFO] [stdout]               SystemStarted
[INFO] [stdout]               stage::sys_msgs::Request
[INFO] [stdout] note: required by a bound in `Message::try_cast`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/actors/message.rs:14:24
[INFO] [stdout]     |
[INFO] [stdout]  14 |     pub fn try_cast<T: ActorMessage>(&self) -> Option<&T> {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ required by this bound in `Message::try_cast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TcpSendCmd: Into<Message>` is not satisfied
[INFO] [stdout]    --> examples/tcp.rs:107:35
[INFO] [stdout]     |
[INFO] [stdout] 107 |             self.tx.unwrap().send(TcpSendCmd::Send(msg.into_bytes())).unwrap();
[INFO] [stdout]     |                              ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ActorMessage` is not implemented for `TcpSendCmd`
[INFO] [stdout]    --> examples/tcp.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub enum TcpSendCmd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `ActorMessage`:
[INFO] [stdout]               ActorStart
[INFO] [stdout]               ForwardAlert
[INFO] [stdout]               MonitorAlert
[INFO] [stdout]               StopCmd
[INFO] [stdout]               SystemStarted
[INFO] [stdout]               stage::sys_msgs::Request
[INFO] [stdout]     = note: required for `Message` to implement `From<TcpSendCmd>`
[INFO] [stdout]     = note: required for `TcpSendCmd` to implement `Into<Message>`
[INFO] [stdout] note: required by a bound in `Actor::send`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/actors/handle.rs:26:20
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn send<M: Into<Message>>(&self, msg: M) -> Result<(), MsgError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ required by this bound in `Actor::send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ReadingTcp: ActorMessage` is not satisfied
[INFO] [stdout]    --> examples/tcp.rs:109:50
[INFO] [stdout]     |
[INFO] [stdout] 109 |         } else if let Some(msg) = msg.try_cast::<ReadingTcp>() {
[INFO] [stdout]     |                                       --------   ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ActorMessage` is not implemented for `ReadingTcp`
[INFO] [stdout]    --> examples/tcp.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct ReadingTcp(pub Actor);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `ActorMessage`:
[INFO] [stdout]               ActorStart
[INFO] [stdout]               ForwardAlert
[INFO] [stdout]               MonitorAlert
[INFO] [stdout]               StopCmd
[INFO] [stdout]               SystemStarted
[INFO] [stdout]               stage::sys_msgs::Request
[INFO] [stdout] note: required by a bound in `Message::try_cast`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/actors/message.rs:14:24
[INFO] [stdout]     |
[INFO] [stdout]  14 |     pub fn try_cast<T: ActorMessage>(&self) -> Option<&T> {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ required by this bound in `Message::try_cast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `WritingTcp: ActorMessage` is not satisfied
[INFO] [stdout]    --> examples/tcp.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |         } else if let Some(msg) = msg.try_cast::<WritingTcp>() {
[INFO] [stdout]     |                                       --------   ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ActorMessage` is not implemented for `WritingTcp`
[INFO] [stdout]    --> examples/tcp.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct WritingTcp(pub Actor);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `ActorMessage`:
[INFO] [stdout]               ActorStart
[INFO] [stdout]               ForwardAlert
[INFO] [stdout]               MonitorAlert
[INFO] [stdout]               StopCmd
[INFO] [stdout]               SystemStarted
[INFO] [stdout]               stage::sys_msgs::Request
[INFO] [stdout] note: required by a bound in `Message::try_cast`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/actors/message.rs:14:24
[INFO] [stdout]     |
[INFO] [stdout]  14 |     pub fn try_cast<T: ActorMessage>(&self) -> Option<&T> {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ required by this bound in `Message::try_cast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/tcp.rs:84:85
[INFO] [stdout]     |
[INFO] [stdout]  84 |       pub async fn handle(mut self, ctx: ActorCtx, msg: Message) -> ActorResult<Self> {
[INFO] [stdout]     |  _____________________________________________________________________________________^
[INFO] [stdout]  85 | |         // Await each incoming connection. The Actor will use no CPU time until the system gives the
[INFO] [stdout]  86 | |         // event letting us know we have a connection.
[INFO] [stdout]  87 | |         let incoming = match self.listener.next().await.unwrap() {
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | |         let rx_actor_state = TcpRecvActor { conn: rx, handler: echo_actor.clone() };
[INFO] [stdout] 100 | |     }
[INFO] [stdout]     | |_____^ expected `Result<TcpListenerActor, ActorError>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<TcpListenerActor, ActorError>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0601.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stage` (example "tcp") due to 10 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/actors/stream.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut me = self.get_mut();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `warn_threshold` is never read
[INFO] [stdout]    --> src/actors/reactor.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub(crate) struct ActorReactorConfig {
[INFO] [stdout]     |                   ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub warn_threshold: Duration,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActorReactorConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7ed1356918db9ae1a3b8e3473e46ed0381c2abb50787aecf5a86ba1d11c2024f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ed1356918db9ae1a3b8e3473e46ed0381c2abb50787aecf5a86ba1d11c2024f", kill_on_drop: false }`
[INFO] [stdout] 7ed1356918db9ae1a3b8e3473e46ed0381c2abb50787aecf5a86ba1d11c2024f
