[INFO] updating cached repository https://github.com/silvadanilo/stubborn-delivery
[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] 5596fbd1403363002bb595b86f9679912b88d0a4
[INFO] checking silvadanilo/stubborn-delivery against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsilvadanilo%2Fstubborn-delivery" "/workspace/builds/worker-7/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/silvadanilo/stubborn-delivery on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/silvadanilo/stubborn-delivery
[INFO] finished tweaking git repo https://github.com/silvadanilo/stubborn-delivery
[INFO] tweaked toml for git repo https://github.com/silvadanilo/stubborn-delivery written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/silvadanilo/stubborn-delivery already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr] error: the lock file /workspace/builds/worker-7/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating git repository `https://github.com/tokio-rs/tokio-line`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] fd2591bafc903220dcfc429378b6426542eda63aea5347d17d779d446482a3f9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "fd2591bafc903220dcfc429378b6426542eda63aea5347d17d779d446482a3f9"`
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking tokio-timer v0.1.2
[INFO] [stderr]     Checking parking_lot_core v0.6.2
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]     Checking quickcheck v0.6.2
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking tokio-uds v0.2.6
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking tokio-core v0.1.17
[INFO] [stderr]     Checking tokio-proto v0.1.1
[INFO] [stderr]     Checking tokio-line v0.1.0 (https://github.com/tokio-rs/tokio-line#64faee60)
[INFO] [stderr]     Checking stubborn-sink v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/fake-client.rs:23:25
[INFO] [stderr]    |
[INFO] [stderr] 23 |                         file.write_all((value.to_string() + "\n").as_bytes());
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/acceptance.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `QuickCheck`, `StdGen`, `TestResult`
[INFO] [stderr]  --> tests/acceptance.rs:4:29
[INFO] [stderr]   |
[INFO] [stderr] 4 | use quickcheck::{Arbitrary, QuickCheck, StdGen, TestResult, quickcheck};
[INFO] [stderr]   |                             ^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> tests/acceptance.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> tests/acceptance.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::{Read, Write};
[INFO] [stderr]   |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]  --> tests/acceptance.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/fake-client.rs:23:25
[INFO] [stderr]    |
[INFO] [stderr] 23 |                         file.write_all((value.to_string() + "\n").as_bytes());
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::sync::mpsc::UnboundedSender`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use futures::sync::mpsc::UnboundedSender;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sink`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:7:23
[INFO] [stderr]   |
[INFO] [stderr] 7 | use futures::{Stream, Sink};
[INFO] [stderr]   |                       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::IntoFuture`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use futures::IntoFuture;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ErrorKind`, `self`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{self, ErrorKind};
[INFO] [stderr]   |               ^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio_core::reactor::Handle`
[INFO] [stderr]   --> src/bin/fake-remote-server.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio_core::reactor::Handle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate
[INFO] [stderr]   --> src/bin/fake-remote-server.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio_core::io::Io;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io::framed': moved to the `tokio-io` crate
[INFO] [stderr]   --> src/bin/fake-remote-server.rs:27:32
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let transport = socket.framed(LineCodec);
[INFO] [stderr]    |                                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> tests/acceptance.rs:177:71
[INFO] [stderr]     |
[INFO] [stderr] 177 |                 Err(why) => panic!("couldn't read wc stdout: {}", why.description()),
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `str`
[INFO] [stderr]  --> src/stubborn_sink.rs:9:21
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::{self, io, str, fmt, thread, time};
[INFO] [stderr]   |                     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/stubborn_sink.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 | /         /**
[INFO] [stderr] 58 | |          * This is the only method that I have found to stop sending messages to the remote server after
[INFO] [stderr] 59 | |          * it closed the connection, I don't like it, I would try to avoid the middleware_tx and
[INFO] [stderr] 60 | |          * the reader future:
[INFO] [stderr] ...  |
[INFO] [stderr] 69 | |          * - spawn the linked future
[INFO] [stderr] 70 | |          */
[INFO] [stderr]    | |___________^
[INFO] [stderr] 71 | /         let reader = receiver
[INFO] [stderr] 72 | |             .for_each(|_message| {
[INFO] [stderr] 73 | |                 Ok(())
[INFO] [stderr] 74 | |             })
[INFO] [stderr] ...  |
[INFO] [stderr] 78 | |                 Ok(())
[INFO] [stderr] 79 | |             });
[INFO] [stderr]    | |_______________- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/stubborn_sink.rs:99:9
[INFO] [stderr]     |
[INFO] [stderr] 99  | /         /**
[INFO] [stderr] 100 | |          * I need a loop to handle current state and also the next state,
[INFO] [stderr] 101 | |          * avoiding code duplication and recursion
[INFO] [stderr] 102 | |          */
[INFO] [stderr]     | |___________^
[INFO] [stderr] 103 | /         loop {
[INFO] [stderr] 104 | |             debug!("current status: {}", self.status);
[INFO] [stderr] 105 | |
[INFO] [stderr] 106 | |             /**
[INFO] [stderr] ...   |
[INFO] [stderr] 144 | |             }
[INFO] [stderr] 145 | |         }
[INFO] [stderr]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/stubborn_sink.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 | /             /**
[INFO] [stderr] 107 | |              * current status cannot be updated "on the fly" because the enum is in "use"
[INFO] [stderr] 108 | |              */
[INFO] [stderr]     | |_______________^
[INFO] [stderr] 109 | /             let next_status = match self.status {
[INFO] [stderr] 110 | |                 RemoteConnectionState::Connected(ref split_sink) => {
[INFO] [stderr] 111 | |                     match split_sink.send(msg.clone()) {
[INFO] [stderr] 112 | |                         Ok(_) => return Ok(AsyncSink::Ready),
[INFO] [stderr] ...   |
[INFO] [stderr] 138 | |                 }
[INFO] [stderr] 139 | |             };
[INFO] [stderr]     | |______________- rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/stubborn_sink.rs:119:29
[INFO] [stderr]     |
[INFO] [stderr] 119 | / ...                   /**
[INFO] [stderr] 120 | | ...                    * If remote server is down, avoiding to "dos" it,
[INFO] [stderr] 121 | | ...                    * waiting a reasonable amount of time between retries
[INFO] [stderr] 122 | | ...                    */
[INFO] [stderr]     | |_________________________^
[INFO] [stderr] 123 |   ...                   thread::sleep(time::Duration::from_millis(100)); //TODO:! make millis configurable
[INFO] [stderr]     |                         ----------------------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/server.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio_timer::*`
[INFO] [stderr]   --> src/server.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio_timer::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/server.rs:30:43
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn accept_connection(self) -> Box<Future<Item = (), Error = std::io::Error>> {
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = (), Error = std::io::Error>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/main.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | /     /**
[INFO] [stderr] 38 | |      * every connected client receives a clone of buftx where to sends data
[INFO] [stderr] 39 | |      * all received data are read from bufrx and sent the StubbornSink which will try to
[INFO] [stderr] 40 | |      * sent it to the final destination. If the final destination is unreachable StubbornSink will
[INFO] [stderr] 41 | |      * returns a NotReady error and received data will remains in this channel
[INFO] [stderr] 42 | |      */
[INFO] [stderr]    | |_______^
[INFO] [stderr] 43 |       let (buftx, bufrx) = mpsc::unbounded();
[INFO] [stderr]    |       --------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/main.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | /     /**
[INFO] [stderr] 52 | |      * sends all data received by clients to the remote server
[INFO] [stderr] 53 | |      */
[INFO] [stderr]    | |_______^
[INFO] [stderr] 54 | /     let forwarding = bufrx
[INFO] [stderr] 55 | |         .map_err(|_| io::Error::new(ErrorKind::Other, "should never happens"))
[INFO] [stderr] 56 | |         .forward(stubborn_sink);
[INFO] [stderr]    | |________________________________- rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/main.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 | /     /**
[INFO] [stderr] 60 | |      * listening for client connections
[INFO] [stderr] 61 | |      */
[INFO] [stderr]    | |_______^
[INFO] [stderr] 62 |       let server = Server::new(configuration.clone(), handle.clone(), buftx.clone());
[INFO] [stderr]    |       ------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> tests/acceptance.rs:209:71
[INFO] [stderr]     |
[INFO] [stderr] 209 |                 Err(why) => panic!("couldn't read wc stdout: {}", why.description()),
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate
[INFO] [stderr]  --> src/stubborn_sink.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tokio_core::io::Io;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate
[INFO] [stderr]  --> src/server.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tokio_core::io::Io;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> tests/acceptance.rs:261:71
[INFO] [stderr]     |
[INFO] [stderr] 261 |                 Err(why) => panic!("couldn't read wc stdout: {}", why.description()),
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tokio_line::LineCodec: tokio_core::io::Codec` is not satisfied
[INFO] [stderr]   --> src/bin/fake-remote-server.rs:27:39
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let transport = socket.framed(LineCodec);
[INFO] [stderr]    |                                       ^^^^^^^^^ the trait `tokio_core::io::Codec` is not implemented for `tokio_line::LineCodec`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `xs`
[INFO] [stderr]   --> tests/acceptance.rs:56:39
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fn test_xxx(actions: Vec<Action>, xs: (Vec<isize>, Vec<usize>)) -> bool {
[INFO] [stderr]    |                                       ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `str`
[INFO] [stderr]  --> src/stubborn_sink.rs:9:21
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::{self, io, str, fmt, thread, time};
[INFO] [stderr]   |                     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/stubborn_sink.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 | /         /**
[INFO] [stderr] 58 | |          * This is the only method that I have found to stop sending messages to the remote server after
[INFO] [stderr] 59 | |          * it closed the connection, I don't like it, I would try to avoid the middleware_tx and
[INFO] [stderr] 60 | |          * the reader future:
[INFO] [stderr] ...  |
[INFO] [stderr] 69 | |          * - spawn the linked future
[INFO] [stderr] 70 | |          */
[INFO] [stderr]    | |___________^
[INFO] [stderr] 71 | /         let reader = receiver
[INFO] [stderr] 72 | |             .for_each(|_message| {
[INFO] [stderr] 73 | |                 Ok(())
[INFO] [stderr] 74 | |             })
[INFO] [stderr] ...  |
[INFO] [stderr] 78 | |                 Ok(())
[INFO] [stderr] 79 | |             });
[INFO] [stderr]    | |_______________- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/stubborn_sink.rs:99:9
[INFO] [stderr]     |
[INFO] [stderr] 99  | /         /**
[INFO] [stderr] 100 | |          * I need a loop to handle current state and also the next state,
[INFO] [stderr] 101 | |          * avoiding code duplication and recursion
[INFO] [stderr] 102 | |          */
[INFO] [stderr]     | |___________^
[INFO] [stderr] 103 | /         loop {
[INFO] [stderr] 104 | |             debug!("current status: {}", self.status);
[INFO] [stderr] 105 | |
[INFO] [stderr] 106 | |             /**
[INFO] [stderr] ...   |
[INFO] [stderr] 144 | |             }
[INFO] [stderr] 145 | |         }
[INFO] [stderr]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/stubborn_sink.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 | /             /**
[INFO] [stderr] 107 | |              * current status cannot be updated "on the fly" because the enum is in "use"
[INFO] [stderr] 108 | |              */
[INFO] [stderr]     | |_______________^
[INFO] [stderr] 109 | /             let next_status = match self.status {
[INFO] [stderr] 110 | |                 RemoteConnectionState::Connected(ref split_sink) => {
[INFO] [stderr] 111 | |                     match split_sink.send(msg.clone()) {
[INFO] [stderr] 112 | |                         Ok(_) => return Ok(AsyncSink::Ready),
[INFO] [stderr] ...   |
[INFO] [stderr] 138 | |                 }
[INFO] [stderr] 139 | |             };
[INFO] [stderr]     | |______________- rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/stubborn_sink.rs:119:29
[INFO] [stderr]     |
[INFO] [stderr] 119 | / ...                   /**
[INFO] [stderr] 120 | | ...                    * If remote server is down, avoiding to "dos" it,
[INFO] [stderr] 121 | | ...                    * waiting a reasonable amount of time between retries
[INFO] [stderr] 122 | | ...                    */
[INFO] [stderr]     | |_________________________^
[INFO] [stderr] 123 |   ...                   thread::sleep(time::Duration::from_millis(100)); //TODO:! make millis configurable
[INFO] [stderr]     |                         ----------------------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/server.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio_timer::*`
[INFO] [stderr]   --> src/server.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio_timer::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/server.rs:30:43
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn accept_connection(self) -> Box<Future<Item = (), Error = std::io::Error>> {
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = (), Error = std::io::Error>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/main.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | /     /**
[INFO] [stderr] 38 | |      * every connected client receives a clone of buftx where to sends data
[INFO] [stderr] 39 | |      * all received data are read from bufrx and sent the StubbornSink which will try to
[INFO] [stderr] 40 | |      * sent it to the final destination. If the final destination is unreachable StubbornSink will
[INFO] [stderr] 41 | |      * returns a NotReady error and received data will remains in this channel
[INFO] [stderr] 42 | |      */
[INFO] [stderr]    | |_______^
[INFO] [stderr] 43 |       let (buftx, bufrx) = mpsc::unbounded();
[INFO] [stderr]    |       --------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/main.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | /     /**
[INFO] [stderr] 52 | |      * sends all data received by clients to the remote server
[INFO] [stderr] 53 | |      */
[INFO] [stderr]    | |_______^
[INFO] [stderr] 54 | /     let forwarding = bufrx
[INFO] [stderr] 55 | |         .map_err(|_| io::Error::new(ErrorKind::Other, "should never happens"))
[INFO] [stderr] 56 | |         .forward(stubborn_sink);
[INFO] [stderr]    | |________________________________- rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/main.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 | /     /**
[INFO] [stderr] 60 | |      * listening for client connections
[INFO] [stderr] 61 | |      */
[INFO] [stderr]    | |_______^
[INFO] [stderr] 62 |       let server = Server::new(configuration.clone(), handle.clone(), buftx.clone());
[INFO] [stderr]    |       ------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate
[INFO] [stderr]  --> src/stubborn_sink.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tokio_core::io::Io;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate
[INFO] [stderr]  --> src/server.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tokio_core::io::Io;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `for_each` found for struct `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>` in the current scope
[INFO] [stderr]    --> src/bin/fake-remote-server.rs:28:44
[INFO] [stderr]     |
[INFO] [stderr] 28  |         let process_connection = transport.for_each(move |line| {
[INFO] [stderr]     |                                            ^^^^^^^^ method not found in `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.17/src/io/frame.rs:314:1
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub struct Framed<T, C> {
[INFO] [stderr]     | -----------------------
[INFO] [stderr]     | |
[INFO] [stderr]     | doesn't satisfy `_: futures::Stream`
[INFO] [stderr]     | doesn't satisfy `_: std::iter::Iterator`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/git/checkouts/tokio-line-16ebd24a37a186a1/64faee6/simple/src/lib.rs:54:1
[INFO] [stderr]     |
[INFO] [stderr] 54  | pub struct LineCodec;
[INFO] [stderr]     | --------------------- doesn't satisfy `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `for_each` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]             which is required by `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: std::iter::Iterator`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: std::iter::Iterator`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::future::Future`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use futures::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 2 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] warning: unused import: `futures::sync::mpsc::UnboundedSender`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use futures::sync::mpsc::UnboundedSender;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sink`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:7:23
[INFO] [stderr]   |
[INFO] [stderr] 7 | use futures::{Stream, Sink};
[INFO] [stderr]   |                       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::IntoFuture`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use futures::IntoFuture;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ErrorKind`, `self`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{self, ErrorKind};
[INFO] [stderr]   |               ^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio_core::reactor::Handle`
[INFO] [stderr]   --> src/bin/fake-remote-server.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio_core::reactor::Handle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/acceptance.rs:195:13
[INFO] [stderr]     |
[INFO] [stderr] 195 |         for mut client_process in self.client_processes.iter_mut() {
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate
[INFO] [stderr]   --> src/bin/fake-remote-server.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio_core::io::Io;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/acceptance.rs:273:13
[INFO] [stderr]     |
[INFO] [stderr] 273 |         let mut child = cmd.stdout(Stdio::piped())
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> tests/acceptance.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 174 |             child.kill();
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `stubborn-sink`.
[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] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> tests/acceptance.rs:205:13
[INFO] [stderr]     |
[INFO] [stderr] 205 |             child.kill();
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> tests/acceptance.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |             child.kill();
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io::framed': moved to the `tokio-io` crate
[INFO] [stderr]   --> src/bin/fake-remote-server.rs:27:32
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let transport = socket.framed(LineCodec);
[INFO] [stderr]    |                                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for unit type `()` in the current scope
[INFO] [stderr]   --> src/main.rs:30:24
[INFO] [stderr]    |
[INFO] [stderr] 30 |     env_logger::init().unwrap();
[INFO] [stderr]    |                        ^^^^^^ method not found in `()`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for unit type `()` in the current scope
[INFO] [stderr]   --> src/main.rs:30:24
[INFO] [stderr]    |
[INFO] [stderr] 30 |     env_logger::init().unwrap();
[INFO] [stderr]    |                        ^^^^^^ method not found in `()`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tokio_line::LineCodec: tokio_core::io::Codec` is not satisfied
[INFO] [stderr]   --> src/bin/fake-remote-server.rs:27:39
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let transport = socket.framed(LineCodec);
[INFO] [stderr]    |                                       ^^^^^^^^^ the trait `tokio_core::io::Codec` is not implemented for `tokio_line::LineCodec`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io::framed': moved to the `tokio-io` crate
[INFO] [stderr]   --> src/stubborn_sink.rs:55:41
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let (sender, receiver) = stream.framed(LineCodec).split();
[INFO] [stderr]    |                                         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `for_each` found for struct `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>` in the current scope
[INFO] [stderr]    --> src/bin/fake-remote-server.rs:28:44
[INFO] [stderr]     |
[INFO] [stderr] 28  |         let process_connection = transport.for_each(move |line| {
[INFO] [stderr]     |                                            ^^^^^^^^ method not found in `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.17/src/io/frame.rs:314:1
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub struct Framed<T, C> {
[INFO] [stderr]     | -----------------------
[INFO] [stderr]     | |
[INFO] [stderr]     | doesn't satisfy `_: futures::Stream`
[INFO] [stderr]     | doesn't satisfy `_: std::iter::Iterator`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/git/checkouts/tokio-line-16ebd24a37a186a1/64faee6/simple/src/lib.rs:54:1
[INFO] [stderr]     |
[INFO] [stderr] 54  | pub struct LineCodec;
[INFO] [stderr]     | --------------------- doesn't satisfy `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `for_each` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]             which is required by `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: std::iter::Iterator`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: std::iter::Iterator`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tokio_line::LineCodec: tokio_core::io::Codec` is not satisfied
[INFO] [stderr]   --> src/stubborn_sink.rs:55:48
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let (sender, receiver) = stream.framed(LineCodec).split();
[INFO] [stderr]    |                                                ^^^^^^^^^ the trait `tokio_core::io::Codec` is not implemented for `tokio_line::LineCodec`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::future::Future`
[INFO] [stderr]  --> src/bin/fake-remote-server.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use futures::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `split` found for struct `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>` in the current scope
[INFO] [stderr]    --> src/stubborn_sink.rs:55:59
[INFO] [stderr]     |
[INFO] [stderr] 55  |         let (sender, receiver) = stream.framed(LineCodec).split();
[INFO] [stderr]     |                                                           ^^^^^ method not found in `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.17/src/io/frame.rs:314:1
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub struct Framed<T, C> {
[INFO] [stderr]     | ----------------------- doesn't satisfy `_: futures::Stream`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/git/checkouts/tokio-line-16ebd24a37a186a1/64faee6/simple/src/lib.rs:54:1
[INFO] [stderr]     |
[INFO] [stderr] 54  | pub struct LineCodec;
[INFO] [stderr]     | --------------------- doesn't satisfy `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `split` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]             which is required by `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 2 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] warning: use of deprecated item 'futures::sync::mpsc::UnboundedSender::<T>::send': renamed to `unbounded_send`
[INFO] [stderr]    --> src/stubborn_sink.rs:111:38
[INFO] [stderr]     |
[INFO] [stderr] 111 |                     match split_sink.send(msg.clone()) {
[INFO] [stderr]     |                                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `stubborn-sink`.
[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] warning: use of deprecated item 'tokio_core::io::Io::framed': moved to the `tokio-io` crate
[INFO] [stderr]   --> src/server.rs:36:36
[INFO] [stderr]    |
[INFO] [stderr] 36 |             let transport = socket.framed(LineCodec);
[INFO] [stderr]    |                                    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tokio_line::LineCodec: tokio_core::io::Codec` is not satisfied
[INFO] [stderr]   --> src/server.rs:36:43
[INFO] [stderr]    |
[INFO] [stderr] 36 |             let transport = socket.framed(LineCodec);
[INFO] [stderr]    |                                           ^^^^^^^^^ the trait `tokio_core::io::Codec` is not implemented for `tokio_line::LineCodec`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `for_each` found for struct `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>` in the current scope
[INFO] [stderr]    --> src/server.rs:39:48
[INFO] [stderr]     |
[INFO] [stderr] 39  |             let process_connection = transport.for_each(move |line| {
[INFO] [stderr]     |                                                ^^^^^^^^ method not found in `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.17/src/io/frame.rs:314:1
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub struct Framed<T, C> {
[INFO] [stderr]     | -----------------------
[INFO] [stderr]     | |
[INFO] [stderr]     | doesn't satisfy `_: futures::Stream`
[INFO] [stderr]     | doesn't satisfy `_: std::iter::Iterator`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/git/checkouts/tokio-line-16ebd24a37a186a1/64faee6/simple/src/lib.rs:54:1
[INFO] [stderr]     |
[INFO] [stderr] 54  | pub struct LineCodec;
[INFO] [stderr]     | --------------------- doesn't satisfy `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `for_each` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]             which is required by `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: std::iter::Iterator`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: std::iter::Iterator`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io::framed': moved to the `tokio-io` crate
[INFO] [stderr]   --> src/stubborn_sink.rs:55:41
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let (sender, receiver) = stream.framed(LineCodec).split();
[INFO] [stderr]    |                                         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tokio_line::LineCodec: tokio_core::io::Codec` is not satisfied
[INFO] [stderr]   --> src/stubborn_sink.rs:55:48
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let (sender, receiver) = stream.framed(LineCodec).split();
[INFO] [stderr]    |                                                ^^^^^^^^^ the trait `tokio_core::io::Codec` is not implemented for `tokio_line::LineCodec`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 5 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error[E0599]: no method named `split` found for struct `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>` in the current scope
[INFO] [stderr]    --> src/stubborn_sink.rs:55:59
[INFO] [stderr]     |
[INFO] [stderr] 55  |         let (sender, receiver) = stream.framed(LineCodec).split();
[INFO] [stderr]     |                                                           ^^^^^ method not found in `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.17/src/io/frame.rs:314:1
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub struct Framed<T, C> {
[INFO] [stderr]     | ----------------------- doesn't satisfy `_: futures::Stream`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/git/checkouts/tokio-line-16ebd24a37a186a1/64faee6/simple/src/lib.rs:54:1
[INFO] [stderr]     |
[INFO] [stderr] 54  | pub struct LineCodec;
[INFO] [stderr]     | --------------------- doesn't satisfy `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `split` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]             which is required by `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'futures::sync::mpsc::UnboundedSender::<T>::send': renamed to `unbounded_send`
[INFO] [stderr]    --> src/stubborn_sink.rs:111:38
[INFO] [stderr]     |
[INFO] [stderr] 111 |                     match split_sink.send(msg.clone()) {
[INFO] [stderr]     |                                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io::framed': moved to the `tokio-io` crate
[INFO] [stderr]   --> src/server.rs:36:36
[INFO] [stderr]    |
[INFO] [stderr] 36 |             let transport = socket.framed(LineCodec);
[INFO] [stderr]    |                                    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tokio_line::LineCodec: tokio_core::io::Codec` is not satisfied
[INFO] [stderr]   --> src/server.rs:36:43
[INFO] [stderr]    |
[INFO] [stderr] 36 |             let transport = socket.framed(LineCodec);
[INFO] [stderr]    |                                           ^^^^^^^^^ the trait `tokio_core::io::Codec` is not implemented for `tokio_line::LineCodec`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `for_each` found for struct `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>` in the current scope
[INFO] [stderr]    --> src/server.rs:39:48
[INFO] [stderr]     |
[INFO] [stderr] 39  |             let process_connection = transport.for_each(move |line| {
[INFO] [stderr]     |                                                ^^^^^^^^ method not found in `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.17/src/io/frame.rs:314:1
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub struct Framed<T, C> {
[INFO] [stderr]     | -----------------------
[INFO] [stderr]     | |
[INFO] [stderr]     | doesn't satisfy `_: futures::Stream`
[INFO] [stderr]     | doesn't satisfy `_: std::iter::Iterator`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/git/checkouts/tokio-line-16ebd24a37a186a1/64faee6/simple/src/lib.rs:54:1
[INFO] [stderr]     |
[INFO] [stderr] 54  | pub struct LineCodec;
[INFO] [stderr]     | --------------------- doesn't satisfy `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `for_each` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `tokio_line::LineCodec: tokio_core::io::Codec`
[INFO] [stderr]             which is required by `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: futures::Stream`
[INFO] [stderr]             `tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: std::iter::Iterator`
[INFO] [stderr]             which is required by `&mut tokio_core::io::Framed<tokio_core::net::TcpStream, tokio_line::LineCodec>: std::iter::Iterator`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 5 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `stubborn-sink`.
[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: could not compile `stubborn-sink`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "fd2591bafc903220dcfc429378b6426542eda63aea5347d17d779d446482a3f9"`
[INFO] running `"docker" "rm" "-f" "fd2591bafc903220dcfc429378b6426542eda63aea5347d17d779d446482a3f9"`
[INFO] [stdout] fd2591bafc903220dcfc429378b6426542eda63aea5347d17d779d446482a3f9
