[INFO] cloning repository https://github.com/itsmontoya/tokio_learning [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itsmontoya/tokio_learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsmontoya%2Ftokio_learning", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsmontoya%2Ftokio_learning'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1ef2f192055ffb041d21a0f4b29151fc24d1d3a4 [INFO] testing itsmontoya/tokio_learning against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsmontoya%2Ftokio_learning" "/workspace/builds/worker-3/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/itsmontoya/tokio_learning on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/itsmontoya/tokio_learning [INFO] finished tweaking git repo https://github.com/itsmontoya/tokio_learning [INFO] tweaked toml for git repo https://github.com/itsmontoya/tokio_learning written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/itsmontoya/tokio_learning already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 862d9f0c45d68975ddc34e597173e02ec64af2c66e3c742698b8ef37ec021d87 [INFO] running `Command { std: "docker" "start" "-a" "862d9f0c45d68975ddc34e597173e02ec64af2c66e3c742698b8ef37ec021d87", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "862d9f0c45d68975ddc34e597173e02ec64af2c66e3c742698b8ef37ec021d87", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "862d9f0c45d68975ddc34e597173e02ec64af2c66e3c742698b8ef37ec021d87", kill_on_drop: false }` [INFO] [stdout] 862d9f0c45d68975ddc34e597173e02ec64af2c66e3c742698b8ef37ec021d87 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f42cd542f649ae5c76ebb813a8100d00ac3704aac81d79e9f03e9d23bb66e5dd [INFO] running `Command { std: "docker" "start" "-a" "f42cd542f649ae5c76ebb813a8100d00ac3704aac81d79e9f03e9d23bb66e5dd", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.22 [INFO] [stderr] Compiling byteorder v1.0.0 [INFO] [stderr] Compiling log v0.3.7 [INFO] [stderr] Compiling cfg-if v0.1.0 [INFO] [stderr] Compiling futures v0.1.13 [INFO] [stderr] Compiling lazycell v0.4.0 [INFO] [stderr] Compiling slab v0.3.0 [INFO] [stderr] Compiling scoped-tls v0.1.0 [INFO] [stderr] Compiling iovec v0.1.0 [INFO] [stderr] Compiling net2 v0.2.27 [INFO] [stderr] Compiling bytes v0.4.2 [INFO] [stderr] Compiling mio v0.6.7 [INFO] [stderr] Compiling tokio-io v0.1.1 [INFO] [stderr] Compiling tokio-core v0.1.6 [INFO] [stderr] Compiling helloWorld v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:86:90 [INFO] [stdout] | [INFO] [stdout] 86 | ...eam, addr: std::net::SocketAddr) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - fn handleIncoming(socket: tokio_core::net::TcpStream, addr: std::net::SocketAddr) -> Box> { [INFO] [stdout] 86 + fn handleIncoming(socket: tokio_core::net::TcpStream, addr: std::net::SocketAddr) -> Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `> as futures::Future>::Error == ()` [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | handle.spawn(msg); [INFO] [stdout] | ^^^^^ expected `()`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `Handle::spawn` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.6/src/reactor/mod.rs:680:34 [INFO] [stdout] | [INFO] [stdout] 680 | where F: Future + 'static, [INFO] [stdout] | ^^^^^^^^ required by this bound in `Handle::spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `(): futures::Future` is not satisfied [INFO] [stdout] --> src/main.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | let done = socket.incoming().for_each(move |(socket, addr)| { [INFO] [stdout] | __________________________________--------_^ [INFO] [stdout] | | | [INFO] [stdout] | | required by a bound introduced by this call [INFO] [stdout] 71 | | let msg = handleIncoming(socket, addr); [INFO] [stdout] 72 | | handle.spawn(msg); [INFO] [stdout] 73 | | }); [INFO] [stdout] | |_____^ the trait `futures::Future` is not implemented for `()` [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `futures::IntoFuture` for `()` [INFO] [stdout] note: required by a bound in `futures::Stream::for_each` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.13/src/stream/mod.rs:687:18 [INFO] [stdout] | [INFO] [stdout] 687 | U: IntoFuture, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `futures::Stream::for_each` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `(): futures::Future` is not satisfied [INFO] [stdout] --> src/main.rs:70:34 [INFO] [stdout] | [INFO] [stdout] 70 | let done = socket.incoming().for_each(move |(socket, addr)| { [INFO] [stdout] | ^^^^^^^^ the trait `futures::Future` is not implemented for `()` [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `futures::IntoFuture` for `()` [INFO] [stdout] note: required by a bound in `futures::Stream::for_each` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.13/src/stream/mod.rs:687:29 [INFO] [stdout] | [INFO] [stdout] 687 | U: IntoFuture, [INFO] [stdout] | ^^^^^^^ required by this bound in `futures::Stream::for_each` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `(): futures::Future` is not satisfied [INFO] [stdout] --> src/main.rs:92:24 [INFO] [stdout] | [INFO] [stdout] 92 | let msg = amt.then(move |result| { [INFO] [stdout] | ___________________----_^ [INFO] [stdout] | | | [INFO] [stdout] | | required by a bound introduced by this call [INFO] [stdout] 93 | | match result { [INFO] [stdout] 94 | | Ok((amt, _, _)) => println!("wrote {} bytes to {}", amt, addr), [INFO] [stdout] 95 | | Err(e) => println!("error on {}: {}", addr, e), [INFO] [stdout] 96 | | } [INFO] [stdout] 97 | | }); [INFO] [stdout] | |_____^ the trait `futures::Future` is not implemented for `()` [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `futures::IntoFuture` for `()` [INFO] [stdout] note: required by a bound in `futures::Future::then` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.13/src/future/mod.rs:439:18 [INFO] [stdout] | [INFO] [stdout] 439 | B: IntoFuture, [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `futures::Future::then` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `(): futures::Future` is not satisfied [INFO] [stdout] --> src/main.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | Ok(Box::new(msg)) [INFO] [stdout] | -------- ^^^ the trait `futures::Future` is not implemented for `()` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `futures::IntoFuture` for `()` [INFO] [stdout] note: required by a bound in `futures::Then` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.13/src/future/then.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Then where A: Future, B: IntoFuture { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `futures::Then` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `(): futures::Future` is not satisfied [INFO] [stdout] --> src/main.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | Ok(Box::new(msg)) [INFO] [stdout] | -- ^^^^^^^^^^^^^ the trait `futures::Future` is not implemented for `()` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `futures::IntoFuture` for `()` [INFO] [stdout] note: required by a bound in `futures::Then` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.13/src/future/then.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Then where A: Future, B: IntoFuture { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `futures::Then` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `(): futures::Future` is not satisfied [INFO] [stdout] --> src/main.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | Ok(Box::new(msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `futures::Future` is not implemented for `()` [INFO] [stdout] | [INFO] [stdout] = note: required because of the requirements on the impl of `futures::IntoFuture` for `()` [INFO] [stdout] note: required by a bound in `futures::Then` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.13/src/future/then.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Then where A: Future, B: IntoFuture { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `futures::Then` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 86 | fn handleIncoming(socket: tokio_core::net::TcpStream, addr: std::net::SocketAddr) -> Box... [INFO] [stdout] | ----------------------------------------------------------- expected `Box<(dyn futures::Future + 'static)>` because of return type [INFO] [stdout] ... [INFO] [stdout] 99 | Ok(Box::new(msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ expected struct `Box`, found enum `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn futures::Future + 'static)>` [INFO] [stdout] found enum `Result, tokio_io::io::WriteHalf>, (), [closure@src/main.rs:92:24: 97:6]>>, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0308. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0271`. [INFO] [stdout] [INFO] [stderr] error: could not compile `helloWorld` due to 9 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "f42cd542f649ae5c76ebb813a8100d00ac3704aac81d79e9f03e9d23bb66e5dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f42cd542f649ae5c76ebb813a8100d00ac3704aac81d79e9f03e9d23bb66e5dd", kill_on_drop: false }` [INFO] [stdout] f42cd542f649ae5c76ebb813a8100d00ac3704aac81d79e9f03e9d23bb66e5dd