[INFO] crate clickhouse-rs 0.1.1 is already in cache [INFO] extracting crate clickhouse-rs 0.1.1 into work/ex/clippy-test-run/sources/stable/reg/clickhouse-rs/0.1.1 [INFO] extracting crate clickhouse-rs 0.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/clickhouse-rs/0.1.1 [INFO] validating manifest of clickhouse-rs-0.1.1 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 clickhouse-rs-0.1.1 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 clickhouse-rs-0.1.1 [INFO] finished frobbing clickhouse-rs-0.1.1 [INFO] frobbed toml for clickhouse-rs-0.1.1 written to work/ex/clippy-test-run/sources/stable/reg/clickhouse-rs/0.1.1/Cargo.toml [INFO] started frobbing clickhouse-rs-0.1.1 [INFO] finished frobbing clickhouse-rs-0.1.1 [INFO] frobbed toml for clickhouse-rs-0.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/clickhouse-rs/0.1.1/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 clickhouse-rs-0.1.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/clickhouse-rs/0.1.1:/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] 623e52adb2788b0023fa11bda1fe73260e0e2887b7e560ac7801c54759cc67ce [INFO] running `"docker" "start" "-a" "623e52adb2788b0023fa11bda1fe73260e0e2887b7e560ac7801c54759cc67ce"` [INFO] [stderr] Compiling parse-zoneinfo v0.2.0 [INFO] [stderr] Compiling chrono-tz v0.5.0 [INFO] [stderr] Checking clickhouse-rs v0.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/binary/uvarint.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | return i + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `i + 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/binary/uvarint.rs:21:58 [INFO] [stderr] | [INFO] [stderr] 21 | let actual = super::put_uvarint(&mut buffer[..], 100500); [INFO] [stderr] | ^^^^^^ help: consider: `100_500` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/block/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | mod block; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/block/block.rs:13:34 [INFO] [stderr] | [INFO] [stderr] 13 | const INSERT_BLOCK_SIZE: usize = 1048576; [INFO] [stderr] | ^^^^^^^ help: consider: `1_048_576` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/block/block.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/block/block.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | return print_line(f, &titles_len, "\n└", '┴', "┘"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `print_line(f, &titles_len, "\n└", '┴', "┘")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/block/block.rs:367:36 [INFO] [stderr] | [INFO] [stderr] 367 | assert_eq!(1, block.chunks(100500).count()); [INFO] [stderr] | ^^^^^^ help: consider: `100_500` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/block/block.rs:368:54 [INFO] [stderr] | [INFO] [stderr] 368 | assert_eq!(Some(block.clone()), block.chunks(100500).next()); [INFO] [stderr] | ^^^^^^ help: consider: `100_500` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/column/list.rs:82:44 [INFO] [stderr] | [INFO] [stderr] 82 | let mut list = List::with_capacity(100500); [INFO] [stderr] | ^^^^^^ help: consider: `100_500` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/column/list.rs:84:21 [INFO] [stderr] | [INFO] [stderr] 84 | for i in 0..100500 { [INFO] [stderr] | ^^^^^^ help: consider: `100_500` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/column/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/binary/uvarint.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | return i + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `i + 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/block/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | mod block; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/block/block.rs:13:34 [INFO] [stderr] | [INFO] [stderr] 13 | const INSERT_BLOCK_SIZE: usize = 1048576; [INFO] [stderr] | ^^^^^^^ help: consider: `1_048_576` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/block/block.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/block/block.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | return print_line(f, &titles_len, "\n└", '┴', "┘"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `print_line(f, &titles_len, "\n└", '┴', "┘")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/io/transport.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | return Err(e); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(e)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/column/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/io/transport.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | return Err(e); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(e)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `binary::encoder::Encoder` [INFO] [stderr] --> src/binary/encoder.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / pub fn new() -> Encoder { [INFO] [stderr] 12 | | Encoder { buffer: Vec::new() } [INFO] [stderr] 13 | | } [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] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/binary/parser.rs:51:25 [INFO] [stderr] | [INFO] [stderr] 51 | None => Err(ClickhouseError::UnexpectedPacket.into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `ClickhouseError::UnexpectedPacket` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/binary/read_ex.rs:66:32 [INFO] [stderr] | [INFO] [stderr] 66 | return Ok(x | ((b as u64) << s)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(b)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/binary/read_ex.rs:69:18 [INFO] [stderr] | [INFO] [stderr] 69 | x |= ((b & 0x7f) as u64) << s; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b & 0x7f)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/binary/uvarint.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | mx = mx >> 7; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mx >>= 7` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/block/block.rs:16:34 [INFO] [stderr] | [INFO] [stderr] 16 | fn get_index(&self, columns: &Vec) -> FromSqlResult; [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Column]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/block/block.rs:51:19 [INFO] [stderr] | [INFO] [stderr] 51 | info: self.info.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.info` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/block/block.rs:244:25 [INFO] [stderr] | [INFO] [stderr] 244 | fn column_width(column: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/block/block.rs:250:11 [INFO] [stderr] | [INFO] [stderr] 250 | lens: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/column/concat.rs:21:28 [INFO] [stderr] | [INFO] [stderr] 21 | fn check_columns(data: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&[BoxColumnData]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/column/list.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | value.into() [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/io/transport.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | Yield(Option>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 33 | Yield(Box>>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/io/transport.rs:209:25 [INFO] [stderr] | [INFO] [stderr] 209 | let _ = try_ready!(inner.send()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | (scratch[0] as u16) | (scratch[1] as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(scratch[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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:13:31 [INFO] [stderr] | [INFO] [stderr] 13 | (scratch[0] as u16) | (scratch[1] as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(scratch[1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | (scratch[0] as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | | (scratch[1] as u32) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:21:15 [INFO] [stderr] | [INFO] [stderr] 21 | | (scratch[2] as u32) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[2])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:22:15 [INFO] [stderr] | [INFO] [stderr] 22 | | (scratch[3] as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[3])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | (scratch[0] as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:29:15 [INFO] [stderr] | [INFO] [stderr] 29 | | (scratch[1] as u64) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[1])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:30:15 [INFO] [stderr] | [INFO] [stderr] 30 | | (scratch[2] as u64) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[2])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:31:15 [INFO] [stderr] | [INFO] [stderr] 31 | | (scratch[3] as u64) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[3])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:32:15 [INFO] [stderr] | [INFO] [stderr] 32 | | (scratch[4] as u64) << 32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[4])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:33:15 [INFO] [stderr] | [INFO] [stderr] 33 | | (scratch[5] as u64) << 40 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[5])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | | (scratch[6] as u64) << 48 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[6])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:35:15 [INFO] [stderr] | [INFO] [stderr] 35 | | (scratch[7] as u64) << 56 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[7])` [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 u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | (scratch[0] as i16) | (scratch[1] as i16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(scratch[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 u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:47:31 [INFO] [stderr] | [INFO] [stderr] 47 | (scratch[0] as i16) | (scratch[1] as i16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(scratch[1])` [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | (scratch[0] as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(scratch[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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:54:15 [INFO] [stderr] | [INFO] [stderr] 54 | | (scratch[1] as i32) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(scratch[1])` [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | | (scratch[2] as i32) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(scratch[2])` [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | | (scratch[3] as i32) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(scratch[3])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | (scratch[0] as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:63:15 [INFO] [stderr] | [INFO] [stderr] 63 | | (scratch[1] as i64) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[1])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | | (scratch[2] as i64) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[2])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:65:15 [INFO] [stderr] | [INFO] [stderr] 65 | | (scratch[3] as i64) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[3])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:66:15 [INFO] [stderr] | [INFO] [stderr] 66 | | (scratch[4] as i64) << 32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[4])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:67:15 [INFO] [stderr] | [INFO] [stderr] 67 | | (scratch[5] as i64) << 40 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[5])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:68:15 [INFO] [stderr] | [INFO] [stderr] 68 | | (scratch[6] as i64) << 48 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[6])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:69:15 [INFO] [stderr] | [INFO] [stderr] 69 | | (scratch[7] as i64) << 56 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[7])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:75:20 [INFO] [stderr] | [INFO] [stderr] 75 | let bits = (scratch[0] as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:76:15 [INFO] [stderr] | [INFO] [stderr] 76 | | (scratch[1] as u32) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:77:15 [INFO] [stderr] | [INFO] [stderr] 77 | | (scratch[2] as u32) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[2])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:78:15 [INFO] [stderr] | [INFO] [stderr] 78 | | (scratch[3] as u32) << 24; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[3])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:85:20 [INFO] [stderr] | [INFO] [stderr] 85 | let bits = (scratch[0] as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:86:15 [INFO] [stderr] | [INFO] [stderr] 86 | | (scratch[1] as u64) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[1])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:87:15 [INFO] [stderr] | [INFO] [stderr] 87 | | (scratch[2] as u64) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[2])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:88:15 [INFO] [stderr] | [INFO] [stderr] 88 | | (scratch[3] as u64) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[3])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:89:15 [INFO] [stderr] | [INFO] [stderr] 89 | | (scratch[4] as u64) << 32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[4])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:90:15 [INFO] [stderr] | [INFO] [stderr] 90 | | (scratch[5] as u64) << 40 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[5])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:91:15 [INFO] [stderr] | [INFO] [stderr] 91 | | (scratch[6] as u64) << 48 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[6])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:92:15 [INFO] [stderr] | [INFO] [stderr] 92 | | (scratch[7] as u64) << 56; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[7])` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/types/from_sql.rs:95:42 [INFO] [stderr] | [INFO] [stderr] 95 | let from = SqlType::from(value.clone()).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types/value_ref.rs:73:42 [INFO] [stderr] | [INFO] [stderr] 73 | let from = SqlType::from(self.clone()).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/date_converter.rs:21:33 [INFO] [stderr] | [INFO] [stderr] 21 | let time = tz.timestamp((*self as i64) * 24 * 3600, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(*self)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/types/date_converter.rs:36:33 [INFO] [stderr] | [INFO] [stderr] 36 | let time = tz.timestamp(*self as i64, 0); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(*self)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types/mod.rs:171:22 [INFO] [stderr] | [INFO] [stderr] 171 | pub fn to_string(&self) -> Cow<'static, str> { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `binary::encoder::Encoder` [INFO] [stderr] --> src/binary/encoder.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / pub fn new() -> Encoder { [INFO] [stderr] 12 | | Encoder { buffer: Vec::new() } [INFO] [stderr] 13 | | } [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] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/binary/parser.rs:51:25 [INFO] [stderr] | [INFO] [stderr] 51 | None => Err(ClickhouseError::UnexpectedPacket.into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `ClickhouseError::UnexpectedPacket` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/binary/read_ex.rs:66:32 [INFO] [stderr] | [INFO] [stderr] 66 | return Ok(x | ((b as u64) << s)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(b)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/binary/read_ex.rs:69:18 [INFO] [stderr] | [INFO] [stderr] 69 | x |= ((b & 0x7f) as u64) << s; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b & 0x7f)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/binary/uvarint.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | mx = mx >> 7; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mx >>= 7` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/block/block.rs:16:34 [INFO] [stderr] | [INFO] [stderr] 16 | fn get_index(&self, columns: &Vec) -> FromSqlResult; [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Column]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/block/block.rs:51:19 [INFO] [stderr] | [INFO] [stderr] 51 | info: self.info.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.info` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/block/block.rs:244:25 [INFO] [stderr] | [INFO] [stderr] 244 | fn column_width(column: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/block/block.rs:250:11 [INFO] [stderr] | [INFO] [stderr] 250 | lens: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/block/block.rs:293:13 [INFO] [stderr] | [INFO] [stderr] 293 | Err(_) => panic!("test_read_empty_block"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/block/block.rs:317:36 [INFO] [stderr] | [INFO] [stderr] 317 | let actual = Block::concat(&vec![block_a, block_b]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[block_a, block_b]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/column/concat.rs:21:28 [INFO] [stderr] | [INFO] [stderr] 21 | fn check_columns(data: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&[BoxColumnData]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/column/concat.rs:116:33 [INFO] [stderr] | [INFO] [stderr] 116 | let index = build_index(sizes.iter().map(|x| *x)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `sizes.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/column/concat.rs:132:31 [INFO] [stderr] | [INFO] [stderr] 132 | assert_eq!(find_chunk(&vec![0], 7), 0); [INFO] [stderr] | ^^^^^^^^ help: you can use a slice directly: `&[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/column/list.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | value.into() [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `vs` [INFO] [stderr] --> src/column/list.rs:98:22 [INFO] [stderr] | [INFO] [stderr] 98 | for i in 0..vs.len() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 98 | for (i, ) in vs.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/column/list.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | assert_eq!(list.at(i), vs[i]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/column/list.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | assert_eq!(list.at(i), vs[i]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/io/transport.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | Yield(Option>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 33 | Yield(Box>>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/io/transport.rs:209:25 [INFO] [stderr] | [INFO] [stderr] 209 | let _ = try_ready!(inner.send()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | (scratch[0] as u16) | (scratch[1] as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(scratch[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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:13:31 [INFO] [stderr] | [INFO] [stderr] 13 | (scratch[0] as u16) | (scratch[1] as u16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(scratch[1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | (scratch[0] as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | | (scratch[1] as u32) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:21:15 [INFO] [stderr] | [INFO] [stderr] 21 | | (scratch[2] as u32) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[2])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:22:15 [INFO] [stderr] | [INFO] [stderr] 22 | | (scratch[3] as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[3])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | (scratch[0] as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:29:15 [INFO] [stderr] | [INFO] [stderr] 29 | | (scratch[1] as u64) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[1])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:30:15 [INFO] [stderr] | [INFO] [stderr] 30 | | (scratch[2] as u64) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[2])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:31:15 [INFO] [stderr] | [INFO] [stderr] 31 | | (scratch[3] as u64) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[3])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:32:15 [INFO] [stderr] | [INFO] [stderr] 32 | | (scratch[4] as u64) << 32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[4])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:33:15 [INFO] [stderr] | [INFO] [stderr] 33 | | (scratch[5] as u64) << 40 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[5])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | | (scratch[6] as u64) << 48 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[6])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:35:15 [INFO] [stderr] | [INFO] [stderr] 35 | | (scratch[7] as u64) << 56 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[7])` [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 u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | (scratch[0] as i16) | (scratch[1] as i16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(scratch[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 u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:47:31 [INFO] [stderr] | [INFO] [stderr] 47 | (scratch[0] as i16) | (scratch[1] as i16) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(scratch[1])` [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | (scratch[0] as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(scratch[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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:54:15 [INFO] [stderr] | [INFO] [stderr] 54 | | (scratch[1] as i32) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(scratch[1])` [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | | (scratch[2] as i32) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(scratch[2])` [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | | (scratch[3] as i32) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(scratch[3])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | (scratch[0] as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:63:15 [INFO] [stderr] | [INFO] [stderr] 63 | | (scratch[1] as i64) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[1])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | | (scratch[2] as i64) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[2])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:65:15 [INFO] [stderr] | [INFO] [stderr] 65 | | (scratch[3] as i64) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[3])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:66:15 [INFO] [stderr] | [INFO] [stderr] 66 | | (scratch[4] as i64) << 32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[4])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:67:15 [INFO] [stderr] | [INFO] [stderr] 67 | | (scratch[5] as i64) << 40 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[5])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:68:15 [INFO] [stderr] | [INFO] [stderr] 68 | | (scratch[6] as i64) << 48 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[6])` [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:69:15 [INFO] [stderr] | [INFO] [stderr] 69 | | (scratch[7] as i64) << 56 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(scratch[7])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:75:20 [INFO] [stderr] | [INFO] [stderr] 75 | let bits = (scratch[0] as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:76:15 [INFO] [stderr] | [INFO] [stderr] 76 | | (scratch[1] as u32) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:77:15 [INFO] [stderr] | [INFO] [stderr] 77 | | (scratch[2] as u32) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[2])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:78:15 [INFO] [stderr] | [INFO] [stderr] 78 | | (scratch[3] as u32) << 24; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(scratch[3])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:85:20 [INFO] [stderr] | [INFO] [stderr] 85 | let bits = (scratch[0] as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:86:15 [INFO] [stderr] | [INFO] [stderr] 86 | | (scratch[1] as u64) << 8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[1])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:87:15 [INFO] [stderr] | [INFO] [stderr] 87 | | (scratch[2] as u64) << 16 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[2])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:88:15 [INFO] [stderr] | [INFO] [stderr] 88 | | (scratch[3] as u64) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[3])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:89:15 [INFO] [stderr] | [INFO] [stderr] 89 | | (scratch[4] as u64) << 32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[4])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:90:15 [INFO] [stderr] | [INFO] [stderr] 90 | | (scratch[5] as u64) << 40 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[5])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:91:15 [INFO] [stderr] | [INFO] [stderr] 91 | | (scratch[6] as u64) << 48 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[6])` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/types/unmarshal.rs:92:15 [INFO] [stderr] | [INFO] [stderr] 92 | | (scratch[7] as u64) << 56; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(scratch[7])` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/types/from_sql.rs:95:42 [INFO] [stderr] | [INFO] [stderr] 95 | let from = SqlType::from(value.clone()).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/types/value.rs:161:20 [INFO] [stderr] | [INFO] [stderr] 161 | fn test_into_t<'a, T>(v: Value, x: T) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/types/value.rs:170:22 [INFO] [stderr] | [INFO] [stderr] 170 | fn test_from_rnd<'a, T>() [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/types/value.rs:183:20 [INFO] [stderr] | [INFO] [stderr] 183 | fn test_from_t<'a, T>(value: T) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types/value_ref.rs:73:42 [INFO] [stderr] | [INFO] [stderr] 73 | let from = SqlType::from(self.clone()).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types/date_converter.rs:21:33 [INFO] [stderr] | [INFO] [stderr] 21 | let time = tz.timestamp((*self as i64) * 24 * 3600, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(*self)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/types/date_converter.rs:36:33 [INFO] [stderr] | [INFO] [stderr] 36 | let time = tz.timestamp(*self as i64, 0); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(*self)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types/mod.rs:171:22 [INFO] [stderr] | [INFO] [stderr] 171 | pub fn to_string(&self) -> Cow<'static, str> { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `clickhouse-rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> examples/simple.rs:27:16 [INFO] [stderr] | [INFO] [stderr] 27 | Ok(for row in 0..block.row_count() { [INFO] [stderr] | ________________^ [INFO] [stderr] 28 | | let id: u32 = block.get(row, "customer_id")?; [INFO] [stderr] 29 | | let amount: u32 = block.get(row, "amount")?; [INFO] [stderr] 30 | | let name: &str = block.get(row, "account_name")?; [INFO] [stderr] 31 | | println!("Found payment {}: {} {}", id, amount, name); [INFO] [stderr] 32 | | }) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 27 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> tests/clickhouse.rs:113:41 [INFO] [stderr] | [INFO] [stderr] 113 | .and_then(move |(_, actual)| Ok(assert_eq!(expected.as_ref(), &actual))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> tests/clickhouse.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | assert_eq!(2f64, r.get::(0, 0)?); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> tests/clickhouse.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | assert_eq!(2f64, r.get::(0, 0)?); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> tests/clickhouse.rs:252:16 [INFO] [stderr] | [INFO] [stderr] 252 | Ok(assert_eq!(block, expected)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> tests/clickhouse.rs:286:40 [INFO] [stderr] | [INFO] [stderr] 286 | .and_then(move |(_, block)| Ok(assert_eq!(&expected, &block))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `clickhouse-rs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "623e52adb2788b0023fa11bda1fe73260e0e2887b7e560ac7801c54759cc67ce"` [INFO] running `"docker" "rm" "-f" "623e52adb2788b0023fa11bda1fe73260e0e2887b7e560ac7801c54759cc67ce"` [INFO] [stdout] 623e52adb2788b0023fa11bda1fe73260e0e2887b7e560ac7801c54759cc67ce