[INFO] crate handy_io 0.1.2 is already in cache [INFO] extracting crate handy_io 0.1.2 into work/ex/clippy-test-run/sources/stable/reg/handy_io/0.1.2 [INFO] extracting crate handy_io 0.1.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/handy_io/0.1.2 [INFO] validating manifest of handy_io-0.1.2 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 handy_io-0.1.2 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 handy_io-0.1.2 [INFO] finished frobbing handy_io-0.1.2 [INFO] frobbed toml for handy_io-0.1.2 written to work/ex/clippy-test-run/sources/stable/reg/handy_io/0.1.2/Cargo.toml [INFO] started frobbing handy_io-0.1.2 [INFO] finished frobbing handy_io-0.1.2 [INFO] frobbed toml for handy_io-0.1.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/handy_io/0.1.2/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 handy_io-0.1.2 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/handy_io/0.1.2:/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 -Dclippy::into_iter_on_array" "-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] 87517c8a0fbd355fe51cd77a388e281d80b29b4f4c49ae8dd78d9b3f1c1bd9c4 [INFO] running `"docker" "start" "-a" "87517c8a0fbd355fe51cd77a388e281d80b29b4f4c49ae8dd78d9b3f1c1bd9c4"` [INFO] [stderr] Checking handy_io v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/io/read/primitives.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | pred: pred, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `pred` [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/io/read/primitives.rs:296:13 [INFO] [stderr] | [INFO] [stderr] 296 | max_buffer_size: max_buffer_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_buffer_size` [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/io/read/primitives.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | pred: pred, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `pred` [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/io/read/primitives.rs:296:13 [INFO] [stderr] | [INFO] [stderr] 296 | max_buffer_size: max_buffer_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_buffer_size` [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/pattern/mod.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/pattern/mod.rs:259:13 [INFO] [stderr] | [INFO] [stderr] 259 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/pattern/mod.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/pattern/mod.rs:259:13 [INFO] [stderr] | [INFO] [stderr] 259 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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: unneeded unit return type [INFO] [stderr] --> src/io/read/combinators.rs:352:30 [INFO] [stderr] | [INFO] [stderr] 352 | fn f(():(), _: T) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/io/read/combinators.rs:353:13 [INFO] [stderr] | [INFO] [stderr] 353 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/io/write/combinators.rs:472:33 [INFO] [stderr] | [INFO] [stderr] 472 | fn fold(_: (), _: T) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/io/write/combinators.rs:473:13 [INFO] [stderr] | [INFO] [stderr] 473 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/io/read/combinators.rs:352:30 [INFO] [stderr] | [INFO] [stderr] 352 | fn f(():(), _: T) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/io/read/combinators.rs:353:13 [INFO] [stderr] | [INFO] [stderr] 353 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/io/write/combinators.rs:472:33 [INFO] [stderr] | [INFO] [stderr] 472 | fn fold(_: (), _: T) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/io/write/combinators.rs:473:13 [INFO] [stderr] | [INFO] [stderr] 473 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [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/io/mod.rs:9:31 [INFO] [stderr] | [INFO] [stderr] 9 | pub type IoFuture = ::futures::BoxFuture<(S, T), (S, ::std::io::Error)>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [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/io/mod.rs:9:31 [INFO] [stderr] | [INFO] [stderr] 9 | pub type IoFuture = ::futures::BoxFuture<(S, T), (S, ::std::io::Error)>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [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/io/read/mod.rs:77:75 [INFO] [stderr] | [INFO] [stderr] 77 | let mut f = Some(move |reader: R| self.lossless_read_from(reader).boxed()); [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/io/read/mod.rs:77:75 [INFO] [stderr] | [INFO] [stderr] 77 | let mut f = Some(move |reader: R| self.lossless_read_from(reader).boxed()); [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/io/write/mod.rs:75:74 [INFO] [stderr] | [INFO] [stderr] 75 | let mut f = Some(move |writer: W| self.lossless_write_to(writer).boxed()); [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/io/write/mod.rs:75:74 [INFO] [stderr] | [INFO] [stderr] 75 | let mut f = Some(move |writer: W| self.lossless_write_to(writer).boxed()); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/read/primitives.rs:34:19 [INFO] [stderr] | [INFO] [stderr] 34 | type Future = futures::Map, fn((R, Buf)) -> (R, B)>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/primitives.rs:114:31 [INFO] [stderr] | [INFO] [stderr] 114 | type MapFuture where P: Pattern = [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(type_alias_bounds)] on by default [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/primitives.rs:115:38 [INFO] [stderr] | [INFO] [stderr] 115 | T> as ReadFrom>::Future; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/primitives.rs:208:27 [INFO] [stderr] | [INFO] [stderr] 208 | pub type ReadEos where R: Read = io_futures::ReadThen src/io/read/primitives.rs:34:19 [INFO] [stderr] | [INFO] [stderr] 34 | type Future = futures::Map, fn((R, Buf)) -> (R, B)>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:86:11 [INFO] [stderr] | [INFO] [stderr] 86 | where P0: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 87 | P1: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 88 | F: FnOnce(P0::Value) -> P1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 89 | R: Read = ReadThen::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:91:52 [INFO] [stderr] | [INFO] [stderr] 91 | Branch>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:92:45 [INFO] [stderr] | [INFO] [stderr] 92 | fn(io::Result<(P0::Value, F)>) -> Branch>>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:92:86 [INFO] [stderr] | [INFO] [stderr] 92 | fn(io::Result<(P0::Value, F)>) -> Branch>>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/primitives.rs:114:31 [INFO] [stderr] | [INFO] [stderr] 114 | type MapFuture where P: Pattern = [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(type_alias_bounds)] on by default [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/primitives.rs:115:38 [INFO] [stderr] | [INFO] [stderr] 115 | T> as ReadFrom>::Future; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:197:11 [INFO] [stderr] | [INFO] [stderr] 197 | where P: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 198 | F: FnOnce(P::Value) -> T, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 199 | R: Read = ReadAndThen::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:202:37 [INFO] [stderr] | [INFO] [stderr] 202 | fn((P::Value, F)) -> io::Result>; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/read/combinators.rs:227:39 [INFO] [stderr] | [INFO] [stderr] 227 | pub struct ReadChain(Phase<(P0::Future, P1), (P1::Future, P0::Value)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/read/combinators.rs:283:46 [INFO] [stderr] | [INFO] [stderr] 283 | pub struct ReadIterFold(Phase<(P::Future, I, T, F), (R, T)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:343:11 [INFO] [stderr] | [INFO] [stderr] 343 | where I: Iterator, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 344 | I::Item: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 345 | R: Read = ReadIterFold::Value) -> (), ()>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:345:37 [INFO] [stderr] | [INFO] [stderr] 345 | R: Read = ReadIterFold::Value) -> (), ()>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:345:57 [INFO] [stderr] | [INFO] [stderr] 345 | R: Read = ReadIterFold::Value) -> (), ()>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:375:11 [INFO] [stderr] | [INFO] [stderr] 375 | where R: Read, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 376 | P: ReadFrom = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:378:46 [INFO] [stderr] | [INFO] [stderr] 378 | fn(P::Value) -> Option, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:378:66 [INFO] [stderr] | [INFO] [stderr] 378 | fn(P::Value) -> Option, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:379:50 [INFO] [stderr] | [INFO] [stderr] 379 | Option>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:380:60 [INFO] [stderr] | [INFO] [stderr] 380 | futures::Done<(R, Option), (R, io::Error)>>; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:434:28 [INFO] [stderr] | [INFO] [stderr] 434 | type MapFuture where F: Future = futures::Map T>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:434:59 [INFO] [stderr] | [INFO] [stderr] 434 | type MapFuture where F: Future = futures::Map T>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:479:11 [INFO] [stderr] | [INFO] [stderr] 479 | where A: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 480 | B: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 481 | C: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 482 | D: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 483 | E: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 484 | F: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 485 | G: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 486 | H: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 487 | R: Read = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:487:28 [INFO] [stderr] | [INFO] [stderr] 487 | R: Read = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:488:28 [INFO] [stderr] | [INFO] [stderr] 488 | B::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:489:28 [INFO] [stderr] | [INFO] [stderr] 489 | C::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:490:28 [INFO] [stderr] | [INFO] [stderr] 490 | D::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:491:28 [INFO] [stderr] | [INFO] [stderr] 491 | E::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:492:28 [INFO] [stderr] | [INFO] [stderr] 492 | F::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:493:28 [INFO] [stderr] | [INFO] [stderr] 493 | G::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:494:28 [INFO] [stderr] | [INFO] [stderr] 494 | H::Future>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/primitives.rs:208:27 [INFO] [stderr] | [INFO] [stderr] 208 | pub type ReadEos where R: Read = io_futures::ReadThen src/io/read/combinators.rs:86:11 [INFO] [stderr] | [INFO] [stderr] 86 | where P0: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 87 | P1: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 88 | F: FnOnce(P0::Value) -> P1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 89 | R: Read = ReadThen::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:91:52 [INFO] [stderr] | [INFO] [stderr] 91 | Branch>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:92:45 [INFO] [stderr] | [INFO] [stderr] 92 | fn(io::Result<(P0::Value, F)>) -> Branch>>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:92:86 [INFO] [stderr] | [INFO] [stderr] 92 | fn(io::Result<(P0::Value, F)>) -> Branch>>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:197:11 [INFO] [stderr] | [INFO] [stderr] 197 | where P: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 198 | F: FnOnce(P::Value) -> T, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 199 | R: Read = ReadAndThen::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:202:37 [INFO] [stderr] | [INFO] [stderr] 202 | fn((P::Value, F)) -> io::Result>; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/read/combinators.rs:227:39 [INFO] [stderr] | [INFO] [stderr] 227 | pub struct ReadChain(Phase<(P0::Future, P1), (P1::Future, P0::Value)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/read/combinators.rs:283:46 [INFO] [stderr] | [INFO] [stderr] 283 | pub struct ReadIterFold(Phase<(P::Future, I, T, F), (R, T)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/read/mod.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | pub struct ReadStream(Phase<(R, S), (>::Future, S)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:343:11 [INFO] [stderr] | [INFO] [stderr] 343 | where I: Iterator, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 344 | I::Item: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 345 | R: Read = ReadIterFold::Value) -> (), ()>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:345:37 [INFO] [stderr] | [INFO] [stderr] 345 | R: Read = ReadIterFold::Value) -> (), ()>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:345:57 [INFO] [stderr] | [INFO] [stderr] 345 | R: Read = ReadIterFold::Value) -> (), ()>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:375:11 [INFO] [stderr] | [INFO] [stderr] 375 | where R: Read, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 376 | P: ReadFrom = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:378:46 [INFO] [stderr] | [INFO] [stderr] 378 | fn(P::Value) -> Option, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:378:66 [INFO] [stderr] | [INFO] [stderr] 378 | fn(P::Value) -> Option, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:379:50 [INFO] [stderr] | [INFO] [stderr] 379 | Option>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:380:60 [INFO] [stderr] | [INFO] [stderr] 380 | futures::Done<(R, Option), (R, io::Error)>>; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/write/primitives.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | type Future = futures::Map, fn(W) -> (W, ())>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:434:28 [INFO] [stderr] | [INFO] [stderr] 434 | type MapFuture where F: Future = futures::Map T>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:434:59 [INFO] [stderr] | [INFO] [stderr] 434 | type MapFuture where F: Future = futures::Map T>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/primitives.rs:101:29 [INFO] [stderr] | [INFO] [stderr] 101 | type MapFuture where P: WriteTo = [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/primitives.rs:102:40 [INFO] [stderr] | [INFO] [stderr] 102 | T> as WriteTo>::Future; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:126:83 [INFO] [stderr] | [INFO] [stderr] 126 | impl_fixnum_write_to!(U24, 3, |b: &mut [u8], n: Self| NativeEndian::write_uint(b, n.0 as u64, 3)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(n.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:128:71 [INFO] [stderr] | [INFO] [stderr] 128 | |b: &mut [u8], n: Self| BigEndian::write_uint(b,(n.0).0 as u64, 3)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from((n.0).0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:130:74 [INFO] [stderr] | [INFO] [stderr] 130 | |b: &mut [u8], n: Self| LittleEndian::write_uint(b,(n.0).0 as u64, 3)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from((n.0).0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:131:82 [INFO] [stderr] | [INFO] [stderr] 131 | impl_fixnum_write_to!(I24, 3, |b: &mut [u8], n: Self| NativeEndian::write_int(b, n.0 as i64, 3)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(n.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:479:11 [INFO] [stderr] | [INFO] [stderr] 479 | where A: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 480 | B: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 481 | C: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 482 | D: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 483 | E: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 484 | F: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 485 | G: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 486 | H: ReadFrom, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 487 | R: Read = Branch src/io/write/primitives.rs:133:70 [INFO] [stderr] | [INFO] [stderr] 133 | |b: &mut [u8], n: Self| BigEndian::write_int(b,(n.0).0 as i64, 3)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from((n.0).0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:487:28 [INFO] [stderr] | [INFO] [stderr] 487 | R: Read = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:488:28 [INFO] [stderr] | [INFO] [stderr] 488 | B::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:489:28 [INFO] [stderr] | [INFO] [stderr] 489 | C::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:490:28 [INFO] [stderr] | [INFO] [stderr] 490 | D::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:491:28 [INFO] [stderr] | [INFO] [stderr] 491 | E::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:492:28 [INFO] [stderr] | [INFO] [stderr] 492 | F::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:493:28 [INFO] [stderr] | [INFO] [stderr] 493 | G::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/read/combinators.rs:494:28 [INFO] [stderr] | [INFO] [stderr] 494 | H::Future>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:135:73 [INFO] [stderr] | [INFO] [stderr] 135 | |b: &mut [u8], n: Self| LittleEndian::write_int(b,(n.0).0 as i64, 3)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from((n.0).0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/read/mod.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | pub struct ReadStream(Phase<(R, S), (>::Future, S)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:92:11 [INFO] [stderr] | [INFO] [stderr] 92 | where P0: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 93 | P1: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 94 | F: FnOnce(P0::Value) -> P1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 95 | W: Write = WriteThen::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:97:54 [INFO] [stderr] | [INFO] [stderr] 97 | Branch>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:98:47 [INFO] [stderr] | [INFO] [stderr] 98 | fn(io::Result<(P0::Value, F)>) -> Branch>>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:98:88 [INFO] [stderr] | [INFO] [stderr] 98 | fn(io::Result<(P0::Value, F)>) -> Branch>>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/write/primitives.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | type Future = futures::Map, fn(W) -> (W, ())>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/primitives.rs:101:29 [INFO] [stderr] | [INFO] [stderr] 101 | type MapFuture where P: WriteTo = [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/primitives.rs:102:40 [INFO] [stderr] | [INFO] [stderr] 102 | T> as WriteTo>::Future; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/write/combinators.rs:241:41 [INFO] [stderr] | [INFO] [stderr] 241 | pub struct WriteChain(Phase<(P0::Future, P1), (P1::Future, P0::Value)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:126:83 [INFO] [stderr] | [INFO] [stderr] 126 | impl_fixnum_write_to!(U24, 3, |b: &mut [u8], n: Self| NativeEndian::write_uint(b, n.0 as u64, 3)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(n.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:301:29 [INFO] [stderr] | [INFO] [stderr] 301 | type MapFuture where P: WriteTo = [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:302:40 [INFO] [stderr] | [INFO] [stderr] 302 | T> as WriteTo>::Future; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:128:71 [INFO] [stderr] | [INFO] [stderr] 128 | |b: &mut [u8], n: Self| BigEndian::write_uint(b,(n.0).0 as u64, 3)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from((n.0).0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:130:74 [INFO] [stderr] | [INFO] [stderr] 130 | |b: &mut [u8], n: Self| LittleEndian::write_uint(b,(n.0).0 as u64, 3)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from((n.0).0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:131:82 [INFO] [stderr] | [INFO] [stderr] 131 | impl_fixnum_write_to!(I24, 3, |b: &mut [u8], n: Self| NativeEndian::write_int(b, n.0 as i64, 3)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(n.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:133:70 [INFO] [stderr] | [INFO] [stderr] 133 | |b: &mut [u8], n: Self| BigEndian::write_int(b,(n.0).0 as i64, 3)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from((n.0).0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/io/write/primitives.rs:135:73 [INFO] [stderr] | [INFO] [stderr] 135 | |b: &mut [u8], n: Self| LittleEndian::write_int(b,(n.0).0 as i64, 3)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from((n.0).0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:346:11 [INFO] [stderr] | [INFO] [stderr] 346 | where A: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 347 | B: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 348 | C: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 349 | D: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 350 | E: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 351 | F: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 352 | G: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 353 | H: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 354 | W: Write = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:354:29 [INFO] [stderr] | [INFO] [stderr] 354 | W: Write = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:355:29 [INFO] [stderr] | [INFO] [stderr] 355 | B::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:356:29 [INFO] [stderr] | [INFO] [stderr] 356 | C::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:357:29 [INFO] [stderr] | [INFO] [stderr] 357 | D::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:358:29 [INFO] [stderr] | [INFO] [stderr] 358 | E::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:359:29 [INFO] [stderr] | [INFO] [stderr] 359 | F::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:360:29 [INFO] [stderr] | [INFO] [stderr] 360 | G::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:361:29 [INFO] [stderr] | [INFO] [stderr] 361 | H::Future>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/write/combinators.rs:400:48 [INFO] [stderr] | [INFO] [stderr] 400 | pub struct WriteIterFold(Phase<(P::Future, I, T, F), (W, T)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:460:11 [INFO] [stderr] | [INFO] [stderr] 460 | where I: Iterator, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 461 | I::Item: Pattern = WriteIterFold::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:462:44 [INFO] [stderr] | [INFO] [stderr] 462 | I::Item, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:464:52 [INFO] [stderr] | [INFO] [stderr] 464 | fn((), ::Value) -> (), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:497:34 [INFO] [stderr] | [INFO] [stderr] 497 | pub type WriteOption where P: Pattern = [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:498:45 [INFO] [stderr] | [INFO] [stderr] 498 | Option>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:498:65 [INFO] [stderr] | [INFO] [stderr] 498 | Option>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:499:30 [INFO] [stderr] | [INFO] [stderr] 499 | io::Result>> as WriteTo>::Future; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:92:11 [INFO] [stderr] | [INFO] [stderr] 92 | where P0: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 93 | P1: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 94 | F: FnOnce(P0::Value) -> P1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 95 | W: Write = WriteThen::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:97:54 [INFO] [stderr] | [INFO] [stderr] 97 | Branch>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:98:47 [INFO] [stderr] | [INFO] [stderr] 98 | fn(io::Result<(P0::Value, F)>) -> Branch>>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:98:88 [INFO] [stderr] | [INFO] [stderr] 98 | fn(io::Result<(P0::Value, F)>) -> Branch>>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/write/mod.rs:224:30 [INFO] [stderr] | [INFO] [stderr] 224 | pub struct WriteStream(Phase<(W, S), (>::Future, S)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/write/combinators.rs:241:41 [INFO] [stderr] | [INFO] [stderr] 241 | pub struct WriteChain(Phase<(P0::Future, P1), (P1::Future, P0::Value)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:301:29 [INFO] [stderr] | [INFO] [stderr] 301 | type MapFuture where P: WriteTo = [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:302:40 [INFO] [stderr] | [INFO] [stderr] 302 | T> as WriteTo>::Future; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:346:11 [INFO] [stderr] | [INFO] [stderr] 346 | where A: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 347 | B: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 348 | C: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 349 | D: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 350 | E: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 351 | F: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 352 | G: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 353 | H: WriteTo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 354 | W: Write = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:354:29 [INFO] [stderr] | [INFO] [stderr] 354 | W: Write = Branch::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:355:29 [INFO] [stderr] | [INFO] [stderr] 355 | B::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:356:29 [INFO] [stderr] | [INFO] [stderr] 356 | C::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:357:29 [INFO] [stderr] | [INFO] [stderr] 357 | D::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:358:29 [INFO] [stderr] | [INFO] [stderr] 358 | E::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:359:29 [INFO] [stderr] | [INFO] [stderr] 359 | F::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:360:29 [INFO] [stderr] | [INFO] [stderr] 360 | G::Future, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:361:29 [INFO] [stderr] | [INFO] [stderr] 361 | H::Future>; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/write/combinators.rs:400:48 [INFO] [stderr] | [INFO] [stderr] 400 | pub struct WriteIterFold(Phase<(P::Future, I, T, F), (W, T)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:460:11 [INFO] [stderr] | [INFO] [stderr] 460 | where I: Iterator, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 461 | I::Item: Pattern = WriteIterFold::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:462:44 [INFO] [stderr] | [INFO] [stderr] 462 | I::Item, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:464:52 [INFO] [stderr] | [INFO] [stderr] 464 | fn((), ::Value) -> (), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: where clauses are not enforced in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:497:34 [INFO] [stderr] | [INFO] [stderr] 497 | pub type WriteOption where P: Pattern = [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: the clause will not be checked when the type alias is used, and should be removed [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:498:45 [INFO] [stderr] | [INFO] [stderr] 498 | Option>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:498:65 [INFO] [stderr] | [INFO] [stderr] 498 | Option>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: use fully disambiguated paths (i.e., `::Assoc`) to refer to associated types in type aliases [INFO] [stderr] --> src/io/write/combinators.rs:499:30 [INFO] [stderr] | [INFO] [stderr] 499 | io::Result>> as WriteTo>::Future; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/io/write/mod.rs:224:30 [INFO] [stderr] | [INFO] [stderr] 224 | pub struct WriteStream(Phase<(W, S), (>::Future, S)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.36s [INFO] running `"docker" "inspect" "87517c8a0fbd355fe51cd77a388e281d80b29b4f4c49ae8dd78d9b3f1c1bd9c4"` [INFO] running `"docker" "rm" "-f" "87517c8a0fbd355fe51cd77a388e281d80b29b4f4c49ae8dd78d9b3f1c1bd9c4"` [INFO] [stdout] 87517c8a0fbd355fe51cd77a388e281d80b29b4f4c49ae8dd78d9b3f1c1bd9c4