[INFO] updating cached repository https://github.com/davidko/stk500-rs
[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] dce56fa4ab7a7ce71a050d800355b2d63342daaf
[INFO] checking davidko/stk500-rs against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavidko%2Fstk500-rs" "/workspace/builds/worker-6/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/davidko/stk500-rs 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/davidko/stk500-rs
[INFO] finished tweaking git repo https://github.com/davidko/stk500-rs
[INFO] tweaked toml for git repo https://github.com/davidko/stk500-rs written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] crate git repo https://github.com/davidko/stk500-rs 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] error: the lock file /workspace/builds/worker-6/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] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 38ba19d49d9f823e25839b019ff9cfd94a8f5d06152051067f8ff977d7843e20
[INFO] running `"docker" "start" "-a" "38ba19d49d9f823e25839b019ff9cfd94a8f5d06152051067f8ff977d7843e20"`
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking libudev-sys v0.1.4
[INFO] [stderr]     Checking nix v0.14.1
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking colored v1.9.3
[INFO] [stderr]     Checking nix v0.17.0
[INFO] [stderr]     Checking chrono v0.4.11
[INFO] [stderr]     Checking parking_lot_core v0.6.2
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking libudev v0.2.0
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]     Checking simple_logger v1.6.0
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking tokio v0.2.17
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking serialport v3.3.0
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio-uds v0.2.6
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking mio-serial v3.3.1
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking tokio-serial v4.3.3
[INFO] [stderr]     Checking tokio-core v0.1.17
[INFO] [stderr]     Checking tokio-proto v0.1.1
[INFO] [stderr]     Checking stk500 v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/codec.rs:16:31
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub type ResponseFuture = Box<Future<Item = BytesMut, Error = io::Error>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = BytesMut, Error = io::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/codec.rs:385:23
[INFO] [stderr]     |
[INFO] [stderr] 385 |     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] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:20:25
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub type Response = Box<Future<Item=Vec<u8>, Error=oneshot::Canceled>>;
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Vec<u8>, Error=oneshot::Canceled>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:181:14
[INFO] [stderr]     |
[INFO] [stderr] 181 |         Box< Future<Item=Vec<u8>, Error=oneshot::Canceled> >
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Vec<u8>, Error=oneshot::Canceled>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:255:27
[INFO] [stderr]     |
[INFO] [stderr] 255 |     write_cb: Option< Box<Fn(Vec<u8>)> >, // Function which writes to the microcontroller being programmed
[INFO] [stderr]     |                           ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<u8>)`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec
[INFO] [stderr]  --> src/codec.rs:6:48
[INFO] [stderr]   |
[INFO] [stderr] 6 | use super::tokio_io::codec::{Encoder, Decoder, Framed};
[INFO] [stderr]   |                                                ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec
[INFO] [stderr]    --> src/codec.rs:344:22
[INFO] [stderr]     |
[INFO] [stderr] 344 |     type Transport = Framed<T, Stk500Codec>;
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0053]: method `encode` has an incompatible type for trait
[INFO] [stderr]    --> src/codec.rs:272:5
[INFO] [stderr]     |
[INFO] [stderr] 272 | /     fn encode(
[INFO] [stderr] 273 | |         &mut self, 
[INFO] [stderr] 274 | |         item: Self::Item, 
[INFO] [stderr] 275 | |         dst: &mut BytesMut
[INFO] [stderr] ...   |
[INFO] [stderr] 282 | |         Ok(())
[INFO] [stderr] 283 | |     }
[INFO] [stderr]     | |_____^ expected struct `bytes::bytes::BytesMut`, found struct `bytes::BytesMut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected fn pointer `fn(&mut codec::Stk500Codec, codec::Packet, &mut bytes::bytes::BytesMut) -> std::result::Result<_, _>`
[INFO] [stderr]                found fn pointer `fn(&mut codec::Stk500Codec, codec::Packet, &mut bytes::BytesMut) -> std::result::Result<_, _>`
[INFO] [stderr] 
[INFO] [stderr] error[E0053]: method `decode` has an incompatible type for trait
[INFO] [stderr]    --> src/codec.rs:314:5
[INFO] [stderr]     |
[INFO] [stderr] 314 | /     fn decode(
[INFO] [stderr] 315 | |         &mut self,
[INFO] [stderr] 316 | |         src: &mut BytesMut,
[INFO] [stderr] 317 | |     ) -> Result<Option<Self::Item>, Self::Error> {
[INFO] [stderr] ...   |
[INFO] [stderr] 335 | |         
[INFO] [stderr] 336 | |     }
[INFO] [stderr]     | |_____^ expected struct `bytes::bytes::BytesMut`, found struct `bytes::BytesMut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected fn pointer `fn(&mut codec::Stk500Codec, &mut bytes::bytes::BytesMut) -> std::result::Result<_, _>`
[INFO] [stderr]                found fn pointer `fn(&mut codec::Stk500Codec, &mut bytes::BytesMut) -> std::result::Result<_, _>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `map_err` found for struct `futures_timer::Delay` in the current scope
[INFO] [stderr]    --> src/lib.rs:231:70
[INFO] [stderr]     |
[INFO] [stderr] 231 |                   futures_timer::Delay::new(Duration::from_millis(50)).map_err(|_|{oneshot::Canceled}).and_then( move |_| {
[INFO] [stderr]     |                                                                        ^^^^^^^ method not found in `futures_timer::Delay`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/delay.rs:26:1
[INFO] [stderr]     |
[INFO] [stderr] 26  | / icated to fire
[INFO] [stderr] 27  | |  at.
[INFO] [stderr] 28  | | c<Node<ScheduledTimer>>>,
[INFO] [stderr]     | |_- doesn't satisfy `futures_timer::Delay: futures::Future`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `map_err` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `futures_timer::Delay: futures::Future`
[INFO] [stderr]             which is required by `&mut futures_timer::Delay: futures::Future`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `map_err` found for struct `futures_timer::Delay` in the current scope
[INFO] [stderr]    --> src/codec.rs:132:22
[INFO] [stderr]     |
[INFO] [stderr] 132 |                       .map_err(|_|{io::Error::new(io::ErrorKind::Other, "Timeout")})
[INFO] [stderr]     |                        ^^^^^^^ method not found in `futures_timer::Delay`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/delay.rs:26:1
[INFO] [stderr]     |
[INFO] [stderr] 26  | / icated to fire
[INFO] [stderr] 27  | |  at.
[INFO] [stderr] 28  | | c<Node<ScheduledTimer>>>,
[INFO] [stderr]     | |_- doesn't satisfy `futures_timer::Delay: futures::Future`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `map_err` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `futures_timer::Delay: futures::Future`
[INFO] [stderr]             which is required by `&mut futures_timer::Delay: futures::Future`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead
[INFO] [stderr]    --> src/codec.rs:348:15
[INFO] [stderr]     |
[INFO] [stderr] 348 |         Ok(io.framed(Stk500Codec::new()))
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 4 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0053, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0053`.
[INFO] [stderr] error: could not compile `stk500`.
[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[E0433]: failed to resolve: could not find `BaudRate` in `tokio_serial`
[INFO] [stderr]    --> src/lib.rs:499:48
[INFO] [stderr]     |
[INFO] [stderr] 499 |             settings.baud_rate = tokio_serial::BaudRate::Baud57600;
[INFO] [stderr]     |                                                ^^^^^^^^ could not find `BaudRate` in `tokio_serial`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `BaudRate` in `tokio_serial`
[INFO] [stderr]    --> src/lib.rs:512:44
[INFO] [stderr]     |
[INFO] [stderr] 512 |         settings.baud_rate = tokio_serial::BaudRate::Baud115200;
[INFO] [stderr]     |                                            ^^^^^^^^ could not find `BaudRate` in `tokio_serial`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/codec.rs:16:31
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub type ResponseFuture = Box<Future<Item = BytesMut, Error = io::Error>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = BytesMut, Error = io::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/codec.rs:385:23
[INFO] [stderr]     |
[INFO] [stderr] 385 |     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] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:20:25
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub type Response = Box<Future<Item=Vec<u8>, Error=oneshot::Canceled>>;
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Vec<u8>, Error=oneshot::Canceled>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:181:14
[INFO] [stderr]     |
[INFO] [stderr] 181 |         Box< Future<Item=Vec<u8>, Error=oneshot::Canceled> >
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Vec<u8>, Error=oneshot::Canceled>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:255:27
[INFO] [stderr]     |
[INFO] [stderr] 255 |     write_cb: Option< Box<Fn(Vec<u8>)> >, // Function which writes to the microcontroller being programmed
[INFO] [stderr]     |                           ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<u8>)`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec
[INFO] [stderr]  --> src/codec.rs:6:48
[INFO] [stderr]   |
[INFO] [stderr] 6 | use super::tokio_io::codec::{Encoder, Decoder, Framed};
[INFO] [stderr]   |                                                ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec
[INFO] [stderr]    --> src/codec.rs:344:22
[INFO] [stderr]     |
[INFO] [stderr] 344 |     type Transport = Framed<T, Stk500Codec>;
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0053]: method `encode` has an incompatible type for trait
[INFO] [stderr]    --> src/codec.rs:272:5
[INFO] [stderr]     |
[INFO] [stderr] 272 | /     fn encode(
[INFO] [stderr] 273 | |         &mut self, 
[INFO] [stderr] 274 | |         item: Self::Item, 
[INFO] [stderr] 275 | |         dst: &mut BytesMut
[INFO] [stderr] ...   |
[INFO] [stderr] 282 | |         Ok(())
[INFO] [stderr] 283 | |     }
[INFO] [stderr]     | |_____^ expected struct `bytes::bytes::BytesMut`, found struct `bytes::BytesMut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected fn pointer `fn(&mut codec::Stk500Codec, codec::Packet, &mut bytes::bytes::BytesMut) -> std::result::Result<_, _>`
[INFO] [stderr]                found fn pointer `fn(&mut codec::Stk500Codec, codec::Packet, &mut bytes::BytesMut) -> std::result::Result<_, _>`
[INFO] [stderr] 
[INFO] [stderr] error[E0053]: method `decode` has an incompatible type for trait
[INFO] [stderr]    --> src/codec.rs:314:5
[INFO] [stderr]     |
[INFO] [stderr] 314 | /     fn decode(
[INFO] [stderr] 315 | |         &mut self,
[INFO] [stderr] 316 | |         src: &mut BytesMut,
[INFO] [stderr] 317 | |     ) -> Result<Option<Self::Item>, Self::Error> {
[INFO] [stderr] ...   |
[INFO] [stderr] 335 | |         
[INFO] [stderr] 336 | |     }
[INFO] [stderr]     | |_____^ expected struct `bytes::bytes::BytesMut`, found struct `bytes::BytesMut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected fn pointer `fn(&mut codec::Stk500Codec, &mut bytes::bytes::BytesMut) -> std::result::Result<_, _>`
[INFO] [stderr]                found fn pointer `fn(&mut codec::Stk500Codec, &mut bytes::BytesMut) -> std::result::Result<_, _>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `map_err` found for struct `futures_timer::Delay` in the current scope
[INFO] [stderr]    --> src/lib.rs:231:70
[INFO] [stderr]     |
[INFO] [stderr] 231 |                   futures_timer::Delay::new(Duration::from_millis(50)).map_err(|_|{oneshot::Canceled}).and_then( move |_| {
[INFO] [stderr]     |                                                                        ^^^^^^^ method not found in `futures_timer::Delay`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/delay.rs:26:1
[INFO] [stderr]     |
[INFO] [stderr] 26  | / icated to fire
[INFO] [stderr] 27  | |  at.
[INFO] [stderr] 28  | | c<Node<ScheduledTimer>>>,
[INFO] [stderr]     | |_- doesn't satisfy `futures_timer::Delay: futures::Future`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `map_err` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `futures_timer::Delay: futures::Future`
[INFO] [stderr]             which is required by `&mut futures_timer::Delay: futures::Future`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/lib.rs:500:28
[INFO] [stderr]     |
[INFO] [stderr] 500 |             let mut port = tokio_serial::Serial::from_path("/dev/ttyACM0", &settings, &handle).unwrap();
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --------------  ---------  ------- supplied 3 arguments
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            expected 2 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tests::async_test::tokio_serial::Serial: tokio_io::AsyncRead` is not satisfied
[INFO] [stderr]    --> src/lib.rs:502:47
[INFO] [stderr]     |
[INFO] [stderr] 502 |             let client = Client::new(&handle, port);
[INFO] [stderr]     |                                               ^^^^ the trait `tokio_io::AsyncRead` is not implemented for `tests::async_test::tokio_serial::Serial`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/codec.rs:41:5
[INFO] [stderr]     |
[INFO] [stderr] 41  |     pub fn new(handle: &Handle, io_transport: T) -> Client<T> {
[INFO] [stderr]     |     --------------------------------------------------------- required by `codec::Client::<T>::new`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tests::async_test::tokio_serial::Serial: tokio_io::AsyncWrite` is not satisfied
[INFO] [stderr]    --> src/lib.rs:502:47
[INFO] [stderr]     |
[INFO] [stderr] 502 |             let client = Client::new(&handle, port);
[INFO] [stderr]     |                                               ^^^^ the trait `tokio_io::AsyncWrite` is not implemented for `tests::async_test::tokio_serial::Serial`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/codec.rs:41:5
[INFO] [stderr]     |
[INFO] [stderr] 41  |     pub fn new(handle: &Handle, io_transport: T) -> Client<T> {
[INFO] [stderr]     |     --------------------------------------------------------- required by `codec::Client::<T>::new`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tests::async_test::tokio_serial::Serial: tokio_io::AsyncRead` is not satisfied
[INFO] [stderr]    --> src/lib.rs:502:26
[INFO] [stderr]     |
[INFO] [stderr] 502 |               let client = Client::new(&handle, port);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio_io::AsyncRead` is not implemented for `tests::async_test::tokio_serial::Serial`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/codec.rs:24:1
[INFO] [stderr]     |
[INFO] [stderr] 24  | / pub struct Client<T>
[INFO] [stderr] 25  | |     where T: AsyncRead + AsyncWrite + 'static
[INFO] [stderr] 26  | | {
[INFO] [stderr] 27  | |     inner: Arc<Inner<T>>
[INFO] [stderr] 28  | | }
[INFO] [stderr]     | |_- required by `codec::Client`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `tests::async_test::tokio_serial::Serial: tokio_io::AsyncWrite` is not satisfied
[INFO] [stderr]    --> src/lib.rs:502:26
[INFO] [stderr]     |
[INFO] [stderr] 502 |               let client = Client::new(&handle, port);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio_io::AsyncWrite` is not implemented for `tests::async_test::tokio_serial::Serial`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/codec.rs:24:1
[INFO] [stderr]     |
[INFO] [stderr] 24  | / pub struct Client<T>
[INFO] [stderr] 25  | |     where T: AsyncRead + AsyncWrite + 'static
[INFO] [stderr] 26  | | {
[INFO] [stderr] 27  | |     inner: Arc<Inner<T>>
[INFO] [stderr] 28  | | }
[INFO] [stderr]     | |_- required by `codec::Client`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `clone` found for struct `codec::Client<tests::async_test::tokio_serial::Serial>` in the current scope
[INFO] [stderr]    --> src/lib.rs:503:34
[INFO] [stderr]     |
[INFO] [stderr] 503 |               let _client = client.clone();
[INFO] [stderr]     |                                    ^^^^^ method not found in `codec::Client<tests::async_test::tokio_serial::Serial>`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-serial-4.3.3/src/lib.rs:28:1
[INFO] [stderr]     |
[INFO] [stderr] 28  |   pub struct Serial {
[INFO] [stderr]     |   -----------------
[INFO] [stderr]     |   |
[INFO] [stderr]     |   doesn't satisfy `_: tokio_io::AsyncRead`
[INFO] [stderr]     |   doesn't satisfy `_: tokio_io::AsyncWrite`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/codec.rs:24:1
[INFO] [stderr]     |
[INFO] [stderr] 24  | / pub struct Client<T>
[INFO] [stderr] 25  | |     where T: AsyncRead + AsyncWrite + 'static
[INFO] [stderr] 26  | | {
[INFO] [stderr] 27  | |     inner: Arc<Inner<T>>
[INFO] [stderr] 28  | | }
[INFO] [stderr]     | | -
[INFO] [stderr]     | | |
[INFO] [stderr]     | |_method `clone` not found for this
[INFO] [stderr]     |   doesn't satisfy `_: std::clone::Clone`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `clone` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `tests::async_test::tokio_serial::Serial: tokio_io::AsyncRead`
[INFO] [stderr]             which is required by `codec::Client<tests::async_test::tokio_serial::Serial>: std::clone::Clone`
[INFO] [stderr]             `tests::async_test::tokio_serial::Serial: tokio_io::AsyncWrite`
[INFO] [stderr]             which is required by `codec::Client<tests::async_test::tokio_serial::Serial>: std::clone::Clone`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `prog_memory` found for struct `codec::Client<tests::async_test::tokio_serial::Serial>` in the current scope
[INFO] [stderr]    --> src/lib.rs:504:31
[INFO] [stderr]     |
[INFO] [stderr] 504 |               let task = client.prog_memory('F', 0x0100, 2, buf)
[INFO] [stderr]     |                                 ^^^^^^^^^^^ method not found in `codec::Client<tests::async_test::tokio_serial::Serial>`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-serial-4.3.3/src/lib.rs:28:1
[INFO] [stderr]     |
[INFO] [stderr] 28  |   pub struct Serial {
[INFO] [stderr]     |   -----------------
[INFO] [stderr]     |   |
[INFO] [stderr]     |   doesn't satisfy `_: tokio_io::AsyncRead`
[INFO] [stderr]     |   doesn't satisfy `_: tokio_io::AsyncWrite`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/codec.rs:24:1
[INFO] [stderr]     |
[INFO] [stderr] 24  | / pub struct Client<T>
[INFO] [stderr] 25  | |     where T: AsyncRead + AsyncWrite + 'static
[INFO] [stderr] 26  | | {
[INFO] [stderr] 27  | |     inner: Arc<Inner<T>>
[INFO] [stderr] 28  | | }
[INFO] [stderr]     | |_- method `prog_memory` not found for this
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `prog_memory` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `tests::async_test::tokio_serial::Serial: tokio_io::AsyncRead`
[INFO] [stderr]             `tests::async_test::tokio_serial::Serial: tokio_io::AsyncWrite`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/lib.rs:513:20
[INFO] [stderr]     |
[INFO] [stderr] 513 |         let port = tokio_serial::Serial::from_path("/dev/ttyACM0", &settings, &handle).unwrap();
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --------------  ---------  ------- supplied 3 arguments
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    expected 2 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `map_err` found for struct `futures_timer::Delay` in the current scope
[INFO] [stderr]    --> src/codec.rs:132:22
[INFO] [stderr]     |
[INFO] [stderr] 132 |                       .map_err(|_|{io::Error::new(io::ErrorKind::Other, "Timeout")})
[INFO] [stderr]     |                        ^^^^^^^ method not found in `futures_timer::Delay`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-timer-3.0.2/src/native/delay.rs:26:1
[INFO] [stderr]     |
[INFO] [stderr] 26  | / icated to fire
[INFO] [stderr] 27  | |  at.
[INFO] [stderr] 28  | | c<Node<ScheduledTimer>>>,
[INFO] [stderr]     | |_- doesn't satisfy `futures_timer::Delay: futures::Future`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `map_err` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `futures_timer::Delay: futures::Future`
[INFO] [stderr]             which is required by `&mut futures_timer::Delay: futures::Future`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead
[INFO] [stderr]    --> src/codec.rs:348:15
[INFO] [stderr]     |
[INFO] [stderr] 348 |         Ok(io.framed(Stk500Codec::new()))
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::Future`
[INFO] [stderr]    --> src/lib.rs:473:9
[INFO] [stderr]     |
[INFO] [stderr] 473 |     use futures::Future;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 14 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0053, E0061, E0277, E0433, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0053`.
[INFO] [stderr] error: could not compile `stk500`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "38ba19d49d9f823e25839b019ff9cfd94a8f5d06152051067f8ff977d7843e20"`
[INFO] running `"docker" "rm" "-f" "38ba19d49d9f823e25839b019ff9cfd94a8f5d06152051067f8ff977d7843e20"`
[INFO] [stdout] 38ba19d49d9f823e25839b019ff9cfd94a8f5d06152051067f8ff977d7843e20
