[INFO] crate async-http-client 0.2.0 is already in cache [INFO] extracting crate async-http-client 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/async-http-client/0.2.0 [INFO] extracting crate async-http-client 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/async-http-client/0.2.0 [INFO] validating manifest of async-http-client-0.2.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of async-http-client-0.2.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing async-http-client-0.2.0 [INFO] finished frobbing async-http-client-0.2.0 [INFO] frobbed toml for async-http-client-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/async-http-client/0.2.0/Cargo.toml [INFO] started frobbing async-http-client-0.2.0 [INFO] finished frobbing async-http-client-0.2.0 [INFO] frobbed toml for async-http-client-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/async-http-client/0.2.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting async-http-client-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/async-http-client/0.2.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 28680f5ef6cf8527c00f2dde05ca26c20c18d4e2fe2b2ca5f66550c8c0156649 [INFO] running `"docker" "start" "-a" "28680f5ef6cf8527c00f2dde05ca26c20c18d4e2fe2b2ca5f66550c8c0156649"` [INFO] [stderr] Checking async-http-client v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/response.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/response.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/response.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:116:17 [INFO] [stderr] | [INFO] [stderr] 116 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 117 | method: method, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `method` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:165:9 [INFO] [stderr] | [INFO] [stderr] 165 | write!(f, " HTTP/1.1\r\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | write!(f, "{}: {}\r\n", name, value)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | write!(f, "\r\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/response.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/response.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/response.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:116:17 [INFO] [stderr] | [INFO] [stderr] 116 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 117 | method: method, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `method` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:165:9 [INFO] [stderr] | [INFO] [stderr] 165 | write!(f, " HTTP/1.1\r\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | write!(f, "{}: {}\r\n", name, value)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | write!(f, "\r\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/response.rs:106:14 [INFO] [stderr] | [INFO] [stderr] 106 | const NONE: &'static Option = &None; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&Option` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:22 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Codec': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:31 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Framed': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:38 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:46 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::IoFuture': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:50 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | pub use tokio_core::io::Io; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::BoxFuture': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/lib.rs:54:31 [INFO] [stderr] | [INFO] [stderr] 54 | pub use futures::future::{BoxFuture, empty, err, lazy, ok, result}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/response.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Codec': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:232:6 [INFO] [stderr] | [INFO] [stderr] 232 | impl Codec for HttpCodec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:146:30 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn send(self, framed: Framed) -> IoFuture<(Option, Framed)> { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Framed': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:146:55 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn send(self, framed: Framed) -> IoFuture<(Option, Framed)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::IoFuture': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:146:80 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn send(self, framed: Framed) -> IoFuture<(Option, Framed)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Framed': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:146:112 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn send(self, framed: Framed) -> IoFuture<(Option, Framed)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:191:43 [INFO] [stderr] | [INFO] [stderr] 191 | fn decode_header(&mut self, buf: &mut EasyBuf) -> Result, Error> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:236:36 [INFO] [stderr] | [INFO] [stderr] 236 | fn decode(&mut self, buf: &mut EasyBuf) -> Result, Error> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/lib.rs:151:12 [INFO] [stderr] | [INFO] [stderr] 151 | }).boxed() [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::len': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:199:32 [INFO] [stderr] | [INFO] [stderr] 199 | let after_header = buf.len() - bytes_left; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::drain_to': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | buf.drain_to(after_header); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Codec::decode': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:224:25 [INFO] [stderr] | [INFO] [stderr] 224 | return self.decode(buf); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::len': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:240:31 [INFO] [stderr] | [INFO] [stderr] 240 | let buf_len = buf.len(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::drain_to': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:245:76 [INFO] [stderr] | [INFO] [stderr] 245 | self.response.as_mut().map(|res| response::append(res, buf.drain_to(buf_len).as_slice())); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::as_slice': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:245:94 [INFO] [stderr] | [INFO] [stderr] 245 | self.response.as_mut().map(|res| response::append(res, buf.drain_to(buf_len).as_slice())); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/response.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/response.rs:106:14 [INFO] [stderr] | [INFO] [stderr] 106 | const NONE: &'static Option = &None; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&Option` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:22 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Codec': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:31 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Framed': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:38 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:46 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::IoFuture': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:45:50 [INFO] [stderr] | [INFO] [stderr] 45 | use tokio_core::io::{EasyBuf, Codec, Framed, Io, IoFuture}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | pub use tokio_core::io::Io; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::BoxFuture': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/lib.rs:54:31 [INFO] [stderr] | [INFO] [stderr] 54 | pub use futures::future::{BoxFuture, empty, err, lazy, ok, result}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/response.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Codec': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:232:6 [INFO] [stderr] | [INFO] [stderr] 232 | impl Codec for HttpCodec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Io': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:146:30 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn send(self, framed: Framed) -> IoFuture<(Option, Framed)> { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Framed': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:146:55 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn send(self, framed: Framed) -> IoFuture<(Option, Framed)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::IoFuture': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:146:80 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn send(self, framed: Framed) -> IoFuture<(Option, Framed)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Framed': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:146:112 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn send(self, framed: Framed) -> IoFuture<(Option, Framed)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:191:43 [INFO] [stderr] | [INFO] [stderr] 191 | fn decode_header(&mut self, buf: &mut EasyBuf) -> Result, Error> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:236:36 [INFO] [stderr] | [INFO] [stderr] 236 | fn decode(&mut self, buf: &mut EasyBuf) -> Result, Error> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:142:22 [INFO] [stderr] | [INFO] [stderr] 142 | addrs.next().ok_or(Error::new(ErrorKind::UnexpectedEof, "no address")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| Error::new(ErrorKind::UnexpectedEof, "no address"))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `HttpCodec` [INFO] [stderr] --> src/lib.rs:184:5 [INFO] [stderr] | [INFO] [stderr] 184 | / pub fn new() -> HttpCodec { [INFO] [stderr] 185 | | HttpCodec { [INFO] [stderr] 186 | | response: None, [INFO] [stderr] 187 | | bytes_left: 0 [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 177 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/lib.rs:245:17 [INFO] [stderr] | [INFO] [stderr] 245 | self.response.as_mut().map(|res| response::append(res, buf.drain_to(buf_len).as_slice())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(res) = self.response.as_mut() { response::append(res, buf.drain_to(buf_len).as_slice()) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/lib.rs:151:12 [INFO] [stderr] | [INFO] [stderr] 151 | }).boxed() [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::len': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:199:32 [INFO] [stderr] | [INFO] [stderr] 199 | let after_header = buf.len() - bytes_left; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::drain_to': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | buf.drain_to(after_header); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::Codec::decode': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:224:25 [INFO] [stderr] | [INFO] [stderr] 224 | return self.decode(buf); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::len': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:240:31 [INFO] [stderr] | [INFO] [stderr] 240 | let buf_len = buf.len(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::drain_to': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:245:76 [INFO] [stderr] | [INFO] [stderr] 245 | self.response.as_mut().map(|res| response::append(res, buf.drain_to(buf_len).as_slice())); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_core::io::EasyBuf::as_slice': moved to the `tokio-io` crate [INFO] [stderr] --> src/lib.rs:245:94 [INFO] [stderr] | [INFO] [stderr] 245 | self.response.as_mut().map(|res| response::append(res, buf.drain_to(buf_len).as_slice())); [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/lib.rs:302:37 [INFO] [stderr] | [INFO] [stderr] 302 | let framed = connection.framed(HttpCodec::new()); [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/lib.rs:323:37 [INFO] [stderr] | [INFO] [stderr] 323 | let framed = connection.framed(HttpCodec::new()); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/response.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:142:22 [INFO] [stderr] | [INFO] [stderr] 142 | addrs.next().ok_or(Error::new(ErrorKind::UnexpectedEof, "no address")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| Error::new(ErrorKind::UnexpectedEof, "no address"))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `HttpCodec` [INFO] [stderr] --> src/lib.rs:184:5 [INFO] [stderr] | [INFO] [stderr] 184 | / pub fn new() -> HttpCodec { [INFO] [stderr] 185 | | HttpCodec { [INFO] [stderr] 186 | | response: None, [INFO] [stderr] 187 | | bytes_left: 0 [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 177 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/lib.rs:245:17 [INFO] [stderr] | [INFO] [stderr] 245 | self.response.as_mut().map(|res| response::append(res, buf.drain_to(buf_len).as_slice())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(res) = self.response.as_mut() { response::append(res, buf.drain_to(buf_len).as_slice()) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:292:32 [INFO] [stderr] | [INFO] [stderr] 292 | let elements = (0 .. (i + 1)).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `(0..=i)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.38s [INFO] running `"docker" "inspect" "28680f5ef6cf8527c00f2dde05ca26c20c18d4e2fe2b2ca5f66550c8c0156649"` [INFO] running `"docker" "rm" "-f" "28680f5ef6cf8527c00f2dde05ca26c20c18d4e2fe2b2ca5f66550c8c0156649"` [INFO] [stdout] 28680f5ef6cf8527c00f2dde05ca26c20c18d4e2fe2b2ca5f66550c8c0156649