[INFO] updating cached repository https://github.com/rukletsov/rcr
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] d274cec3a6e1a1efe26f8b4ea54cca3d7313c4cd
[INFO] checking rukletsov/rcr against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frukletsov%2Frcr" "/workspace/builds/worker-12/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/rukletsov/rcr on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/rukletsov/rcr
[INFO] finished tweaking git repo https://github.com/rukletsov/rcr
[INFO] tweaked toml for git repo https://github.com/rukletsov/rcr written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate git repo https://github.com/rukletsov/rcr already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-12/source/src/main.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 1dcdfa5ae9491f4da2dce638e95574e6d932cc82b22285a25c8d1a9cd8713a5a
[INFO] running `"docker" "start" "-a" "1dcdfa5ae9491f4da2dce638e95574e6d932cc82b22285a25c8d1a9cd8713a5a"`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/src/main.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]     Checking crossbeam-epoch v0.4.0
[INFO] [stderr]     Checking tokio-service v0.1.0
[INFO] [stderr]     Checking relay v0.1.1
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking tokio-reactor v0.1.0
[INFO] [stderr]     Checking crossbeam-deque v0.3.0
[INFO] [stderr]     Checking tokio-threadpool v0.1.0
[INFO] [stderr]     Checking tokio v0.1.2
[INFO] [stderr]     Checking tokio-core v0.1.13
[INFO] [stderr]     Checking tokio-proto v0.1.1
[INFO] [stderr]     Checking hyper v0.11.22
[INFO] [stderr]     Checking rcr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/daemon/main.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 |     type Future = Box<Future<Item=Self::Response, Error=Self::Error>>;
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Self::Response, Error=Self::Error>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/daemon/main.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 |     type Future = Box<Future<Item=Self::Response, Error=Self::Error>>;
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Self::Response, Error=Self::Error>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `(): futures::Future` is not satisfied
[INFO] [stderr]   --> src/daemon/main.rs:37:20
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 }).and_then(move |content|{
[INFO] [stderr]    |                    ^^^^^^^^ the trait `futures::Future` is not implemented for `()`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required because of the requirements on the impl of `futures::IntoFuture` for `()`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `(): futures::Future` is not satisfied
[INFO] [stderr]   --> src/daemon/main.rs:37:20
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 }).and_then(move |content|{
[INFO] [stderr]    |                    ^^^^^^^^ the trait `futures::Future` is not implemented for `()`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required because of the requirements on the impl of `futures::IntoFuture` for `()`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: `match` arms have incompatible types
[INFO] [stderr]   --> src/daemon/main.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 24 |             let future = match (req.method(), req.path()) {
[INFO] [stderr]    |    ______________________-
[INFO] [stderr] 25 |   |             (&Method::Get, "/") => {
[INFO] [stderr] 26 |   |                 response.set_body("Help:");
[INFO] [stderr] 27 |   |                 futures::future::ok(response)
[INFO] [stderr]    |   |                 ----------------------------- this is found to be of type `futures::Done<hyper::Response<_>, _>`
[INFO] [stderr] ...    |
[INFO] [stderr] 31 |   |                 futures::future::ok(response)
[INFO] [stderr]    |   |                 ----------------------------- this is found to be of type `futures::Done<hyper::Response<_>, _>`
[INFO] [stderr] ...    |
[INFO] [stderr] 34 |   |                 let f = req.body().concat2().map(|chunk| {
[INFO] [stderr]    |   |__________________________________________________-
[INFO] [stderr] 35 |  ||                     let content = String::from_utf8(chunk.to_vec());
[INFO] [stderr] 36 |  ||                     content.unwrap_or("".to_string())
[INFO] [stderr] 37 |  ||                 }).and_then(move |content|{
[INFO] [stderr]    |  ||_________________-___________-
[INFO] [stderr]    | |||_________________|
[INFO] [stderr]    | | |                 one of the found closures
[INFO] [stderr] 38 | | |                     use std::thread;
[INFO] [stderr] 39 | | |                     use std::time::Duration;
[INFO] [stderr] 40 | | |                     thread::sleep(Duration::from_secs(30));
[INFO] [stderr] 41 | | |                     response.set_body(format!("Stop response: {}", content))
[INFO] [stderr] 42 | | |                 });
[INFO] [stderr]    | |_|_________________- one of the found closures
[INFO] [stderr] 43 |   |
[INFO] [stderr] 44 |   |                 f
[INFO] [stderr]    |   |                 ^ expected struct `futures::Done`, found struct `futures::AndThen`
[INFO] [stderr] ...    |
[INFO] [stderr] 49 |   |             }
[INFO] [stderr] 50 |   |         };
[INFO] [stderr]    |   |_________- `match` arms have incompatible types
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected struct `futures::Done<hyper::Response<_>, _>`
[INFO] [stderr]               found struct `futures::AndThen<futures::Map<futures::stream::Concat2<hyper::Body>, [closure@src/daemon/main.rs:34:50: 37:18]>, (), [closure@src/daemon/main.rs:37:29: 42:18 response:_]>`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 2 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0308.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error[E0308]: `match` arms have incompatible types
[INFO] [stderr]   --> src/daemon/main.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 24 |             let future = match (req.method(), req.path()) {
[INFO] [stderr]    |    ______________________-
[INFO] [stderr] 25 |   |             (&Method::Get, "/") => {
[INFO] [stderr] 26 |   |                 response.set_body("Help:");
[INFO] [stderr] 27 |   |                 futures::future::ok(response)
[INFO] [stderr]    |   |                 ----------------------------- this is found to be of type `futures::Done<hyper::Response<_>, _>`
[INFO] [stderr] ...    |
[INFO] [stderr] 31 |   |                 futures::future::ok(response)
[INFO] [stderr]    |   |                 ----------------------------- this is found to be of type `futures::Done<hyper::Response<_>, _>`
[INFO] [stderr] ...    |
[INFO] [stderr] 34 |   |                 let f = req.body().concat2().map(|chunk| {
[INFO] [stderr]    |   |__________________________________________________-
[INFO] [stderr] 35 |  ||                     let content = String::from_utf8(chunk.to_vec());
[INFO] [stderr] 36 |  ||                     content.unwrap_or("".to_string())
[INFO] [stderr] 37 |  ||                 }).and_then(move |content|{
[INFO] [stderr]    |  ||_________________-___________-
[INFO] [stderr]    | |||_________________|
[INFO] [stderr]    | | |                 one of the found closures
[INFO] [stderr] 38 | | |                     use std::thread;
[INFO] [stderr] 39 | | |                     use std::time::Duration;
[INFO] [stderr] 40 | | |                     thread::sleep(Duration::from_secs(30));
[INFO] [stderr] 41 | | |                     response.set_body(format!("Stop response: {}", content))
[INFO] [stderr] 42 | | |                 });
[INFO] [stderr]    | |_|_________________- one of the found closures
[INFO] [stderr] 43 |   |
[INFO] [stderr] 44 |   |                 f
[INFO] [stderr]    |   |                 ^ expected struct `futures::Done`, found struct `futures::AndThen`
[INFO] [stderr] ...    |
[INFO] [stderr] 49 |   |             }
[INFO] [stderr] 50 |   |         };
[INFO] [stderr]    |   |_________- `match` arms have incompatible types
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected struct `futures::Done<hyper::Response<_>, _>`
[INFO] [stderr]               found struct `futures::AndThen<futures::Map<futures::stream::Concat2<hyper::Body>, [closure@src/daemon/main.rs:34:50: 37:18]>, (), [closure@src/daemon/main.rs:37:29: 42:18 response:_]>`
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `rcr`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: aborting due to 2 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0308.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `rcr`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "1dcdfa5ae9491f4da2dce638e95574e6d932cc82b22285a25c8d1a9cd8713a5a"`
[INFO] running `"docker" "rm" "-f" "1dcdfa5ae9491f4da2dce638e95574e6d932cc82b22285a25c8d1a9cd8713a5a"`
[INFO] [stdout] 1dcdfa5ae9491f4da2dce638e95574e6d932cc82b22285a25c8d1a9cd8713a5a
