[INFO] crate scroll 0.9.2 is already in cache [INFO] extracting crate scroll 0.9.2 into work/ex/clippy-test-run/sources/stable/reg/scroll/0.9.2 [INFO] extracting crate scroll 0.9.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/scroll/0.9.2 [INFO] validating manifest of scroll-0.9.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 scroll-0.9.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 scroll-0.9.2 [INFO] finished frobbing scroll-0.9.2 [INFO] frobbed toml for scroll-0.9.2 written to work/ex/clippy-test-run/sources/stable/reg/scroll/0.9.2/Cargo.toml [INFO] started frobbing scroll-0.9.2 [INFO] finished frobbing scroll-0.9.2 [INFO] frobbed toml for scroll-0.9.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/scroll/0.9.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 scroll-0.9.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/scroll/0.9.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" "-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] c789690b743461d554ea8ff50d73f0672ba45db2e60c0656feaf0b4878dde4ea [INFO] running `"docker" "start" "-a" "c789690b743461d554ea8ff50d73f0672ba45db2e60c0656feaf0b4878dde4ea"` [INFO] [stderr] Compiling scroll v0.9.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ctx.rs:512:38 [INFO] [stderr] | [INFO] [stderr] 512 | Err(error::Error::TooBig{size: size, len: src.len()}) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/ctx.rs:525:38 [INFO] [stderr] | [INFO] [stderr] 525 | Err(error::Error::TooBig{size: size, len: src.len()}) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `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/ctx.rs:552:38 [INFO] [stderr] | [INFO] [stderr] 552 | Err(error::Error::TooBig{size: size, len: dst.len()}) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `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/leb128.rs:117:53 [INFO] [stderr] | [INFO] [stderr] 117 | return Ok((Uleb128 { value: result, count: count }, count)); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/leb128.rs:155:37 [INFO] [stderr] | [INFO] [stderr] 155 | Ok((Sleb128{ value: result, count: count }, count)) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/ctx.rs:512:38 [INFO] [stderr] | [INFO] [stderr] 512 | Err(error::Error::TooBig{size: size, len: src.len()}) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/ctx.rs:525:38 [INFO] [stderr] | [INFO] [stderr] 525 | Err(error::Error::TooBig{size: size, len: src.len()}) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `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/ctx.rs:552:38 [INFO] [stderr] | [INFO] [stderr] 552 | Err(error::Error::TooBig{size: size, len: dst.len()}) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `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/leb128.rs:117:53 [INFO] [stderr] | [INFO] [stderr] 117 | return Ok((Uleb128 { value: result, count: count }, count)); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/leb128.rs:155:37 [INFO] [stderr] | [INFO] [stderr] 155 | Ok((Sleb128{ value: result, count: count }, count)) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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: long literal lacking separators [INFO] [stderr] --> src/lib.rs:217:55 [INFO] [stderr] | [INFO] [stderr] 217 | pwrite_test!(pwrite_and_pread_roundtrip_u32, u32, 0xbeefbeef); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xbeef_beef` [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: long literal lacking separators [INFO] [stderr] --> src/lib.rs:217:55 [INFO] [stderr] | [INFO] [stderr] 217 | pwrite_test!(pwrite_and_pread_roundtrip_u32, u32, 0xbeefbeef); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xbeef_beef` [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/lib.rs:218:55 [INFO] [stderr] | [INFO] [stderr] 218 | pwrite_test!(pwrite_and_pread_roundtrip_i32, i32, 0x7eefbeef); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x7eef_beef` [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/lib.rs:219:55 [INFO] [stderr] | [INFO] [stderr] 219 | pwrite_test!(pwrite_and_pread_roundtrip_u64, u64, 0xbeefbeef7eef7eef); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xbeef_beef_7eef_7eef` [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/lib.rs:220:55 [INFO] [stderr] | [INFO] [stderr] 220 | pwrite_test!(pwrite_and_pread_roundtrip_i64, i64, 0x7eefbeef7eef7eef); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7eef_beef_7eef_7eef` [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/lib.rs:408:31 [INFO] [stderr] | [INFO] [stderr] 408 | g_test!(simple_gread_u32, 0xb0e0e0f, u32); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0x0b0e_0e0f` [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/lib.rs:409:31 [INFO] [stderr] | [INFO] [stderr] 409 | g_test!(simple_gread_u64, 0xd0e0a0d0b0e0e0f, u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0x0d0e_0a0d_0b0e_0e0f` [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/lib.rs:410:31 [INFO] [stderr] | [INFO] [stderr] 410 | g_test!(simple_gread_i64, 940700423303335439, i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `940_700_423_303_335_439` [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/lib.rs:459:45 [INFO] [stderr] | [INFO] [stderr] 459 | g_read_write_test!(gread_gwrite_i64_2, -1213213211111i64, i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider: `1_213_213_211_111i64` [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/lib.rs:463:45 [INFO] [stderr] | [INFO] [stderr] 463 | g_read_write_test!(gread_gwrite_i32_2, -1213213232, i32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_213_213_232` [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: this is a decimal constant [INFO] [stderr] --> src/lib.rs:515:39 [INFO] [stderr] | [INFO] [stderr] 515 | let astring: [u8; 3] = [0x45, 042, 0x44]; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 515 | let astring: [u8; 3] = [0x45, 42, 0x44]; [INFO] [stderr] | ^^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 515 | let astring: [u8; 3] = [0x45, 0o42, 0x44]; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `measure_with` which has no body [INFO] [stderr] --> src/ctx.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 63 | | /// How large is `Self`, given the `ctx`? [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: item `ctx::StrCtx` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/ctx.rs:109:1 [INFO] [stderr] | [INFO] [stderr] 109 | / impl StrCtx { [INFO] [stderr] 110 | | pub fn len(&self) -> usize { [INFO] [stderr] 111 | | match *self { [INFO] [stderr] 112 | | StrCtx::Delimiter(_) => 1, [INFO] [stderr] ... | [INFO] [stderr] 116 | | } [INFO] [stderr] 117 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `from_ctx` which has no body [INFO] [stderr] --> src/ctx.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 122 | | fn from_ctx(this: &This, ctx: Ctx) -> Self; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `try_from_ctx` which has no body [INFO] [stderr] --> src/ctx.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 130 | | fn try_from_ctx(from: &'a This, ctx: Ctx) -> Result<(Self, Self::Size), Self::Error>; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `size_with` which has no body [INFO] [stderr] --> src/ctx.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 154 | | fn size_with(ctx: &Ctx) -> Self::Units; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u32` to a `f32` [INFO] [stderr] --> src/ctx.rs:310:21 [INFO] [stderr] | [INFO] [stderr] 310 | transmute(if le.is_little() { data.to_le() } else { data.to_be() }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(if le.is_little() { data.to_le() } else { data.to_be() })` [INFO] [stderr] ... [INFO] [stderr] 329 | from_ctx_float_impl!(f32, 4); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_int_to_float)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u64` to a `f64` [INFO] [stderr] --> src/ctx.rs:310:21 [INFO] [stderr] | [INFO] [stderr] 310 | transmute(if le.is_little() { data.to_le() } else { data.to_be() }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f64::from_bits(if le.is_little() { data.to_le() } else { data.to_be() })` [INFO] [stderr] ... [INFO] [stderr] 330 | from_ctx_float_impl!(f64, 8); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/ctx.rs:455:46 [INFO] [stderr] | [INFO] [stderr] 455 | TryIntoCtx::try_into_ctx(bytes, dst, ctx) [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] 455 | TryIntoCtx::try_into_ctx(bytes, dst, ()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`usize`) to itself [INFO] [stderr] --> src/ctx.rs:500:13 [INFO] [stderr] | [INFO] [stderr] 500 | transmute(if le.is_little() { data.to_le() } else { data.to_be() }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/ctx.rs:574:70 [INFO] [stderr] | [INFO] [stderr] 574 | let cstr = unsafe { CStr::from_bytes_with_nul_unchecked(&src[..null_byte+1]) }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `..=null_byte` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/ctx.rs:619:43 [INFO] [stderr] | [INFO] [stderr] 619 | self.as_c_str().try_into_ctx(dst, _ctx) [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] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 619 | self.as_c_str().try_into_ctx(dst, ()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `inout`. [INFO] [stderr] --> src/pread.rs:176:18 [INFO] [stderr] | [INFO] [stderr] 176 | for i in 0..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] 176 | for in inout.iter_mut().take(len) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `inout`. [INFO] [stderr] --> src/pread.rs:200:18 [INFO] [stderr] | [INFO] [stderr] 200 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [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] 200 | for in inout.iter_mut().take(len) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/greater.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / fn cread_with<'a, N: FromCtx>>::Output>>(&'a self, offset: I, ctx: Ctx) -> N { [INFO] [stderr] 56 | | N::from_ctx(&self[offset..], ctx) [INFO] [stderr] 57 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/greater.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | / fn cread<'a, N: FromCtx>>::Output>>(&'a self, offset: I) -> N where Ctx: Default { [INFO] [stderr] 82 | | let ctx = Ctx::default(); [INFO] [stderr] 83 | | N::from_ctx(&self[offset..], ctx) [INFO] [stderr] 84 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/endian.rs:41:23 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn is_little (&self) -> bool { [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: manual implementation of an assign operation [INFO] [stderr] --> src/leb128.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | *offset = *offset + tmp.size(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*offset += tmp.size()` [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: manual implementation of an assign operation [INFO] [stderr] --> src/leb128.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | *offset = *offset + tmp.size(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*offset += tmp.size()` [INFO] [stderr] | [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/leb128.rs:110:28 [INFO] [stderr] | [INFO] [stderr] 110 | let low_bits = mask_continuation(byte) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(mask_continuation(byte))` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/leb128.rs:141:28 [INFO] [stderr] | [INFO] [stderr] 141 | let low_bits = mask_continuation(byte) as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(mask_continuation(byte))` [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] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `scroll`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: use of `#[inline]` on trait method `measure_with` which has no body [INFO] [stderr] --> src/ctx.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 63 | | /// How large is `Self`, given the `ctx`? [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: item `ctx::StrCtx` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/ctx.rs:109:1 [INFO] [stderr] | [INFO] [stderr] 109 | / impl StrCtx { [INFO] [stderr] 110 | | pub fn len(&self) -> usize { [INFO] [stderr] 111 | | match *self { [INFO] [stderr] 112 | | StrCtx::Delimiter(_) => 1, [INFO] [stderr] ... | [INFO] [stderr] 116 | | } [INFO] [stderr] 117 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `from_ctx` which has no body [INFO] [stderr] --> src/ctx.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 122 | | fn from_ctx(this: &This, ctx: Ctx) -> Self; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `try_from_ctx` which has no body [INFO] [stderr] --> src/ctx.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 130 | | fn try_from_ctx(from: &'a This, ctx: Ctx) -> Result<(Self, Self::Size), Self::Error>; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `size_with` which has no body [INFO] [stderr] --> src/ctx.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 154 | | fn size_with(ctx: &Ctx) -> Self::Units; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u32` to a `f32` [INFO] [stderr] --> src/ctx.rs:310:21 [INFO] [stderr] | [INFO] [stderr] 310 | transmute(if le.is_little() { data.to_le() } else { data.to_be() }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(if le.is_little() { data.to_le() } else { data.to_be() })` [INFO] [stderr] ... [INFO] [stderr] 329 | from_ctx_float_impl!(f32, 4); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_int_to_float)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u64` to a `f64` [INFO] [stderr] --> src/ctx.rs:310:21 [INFO] [stderr] | [INFO] [stderr] 310 | transmute(if le.is_little() { data.to_le() } else { data.to_be() }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f64::from_bits(if le.is_little() { data.to_le() } else { data.to_be() })` [INFO] [stderr] ... [INFO] [stderr] 330 | from_ctx_float_impl!(f64, 8); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/ctx.rs:455:46 [INFO] [stderr] | [INFO] [stderr] 455 | TryIntoCtx::try_into_ctx(bytes, dst, ctx) [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] 455 | TryIntoCtx::try_into_ctx(bytes, dst, ()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`usize`) to itself [INFO] [stderr] --> src/ctx.rs:500:13 [INFO] [stderr] | [INFO] [stderr] 500 | transmute(if le.is_little() { data.to_le() } else { data.to_be() }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/ctx.rs:574:70 [INFO] [stderr] | [INFO] [stderr] 574 | let cstr = unsafe { CStr::from_bytes_with_nul_unchecked(&src[..null_byte+1]) }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `..=null_byte` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/ctx.rs:619:43 [INFO] [stderr] | [INFO] [stderr] 619 | self.as_c_str().try_into_ctx(dst, _ctx) [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] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 619 | self.as_c_str().try_into_ctx(dst, ()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `inout`. [INFO] [stderr] --> src/pread.rs:176:18 [INFO] [stderr] | [INFO] [stderr] 176 | for i in 0..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] 176 | for in inout.iter_mut().take(len) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `inout`. [INFO] [stderr] --> src/pread.rs:200:18 [INFO] [stderr] | [INFO] [stderr] 200 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [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] 200 | for in inout.iter_mut().take(len) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/greater.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / fn cread_with<'a, N: FromCtx>>::Output>>(&'a self, offset: I, ctx: Ctx) -> N { [INFO] [stderr] 56 | | N::from_ctx(&self[offset..], ctx) [INFO] [stderr] 57 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/greater.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | / fn cread<'a, N: FromCtx>>::Output>>(&'a self, offset: I) -> N where Ctx: Default { [INFO] [stderr] 82 | | let ctx = Ctx::default(); [INFO] [stderr] 83 | | N::from_ctx(&self[offset..], ctx) [INFO] [stderr] 84 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/endian.rs:41:23 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn is_little (&self) -> bool { [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: manual implementation of an assign operation [INFO] [stderr] --> src/leb128.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | *offset = *offset + tmp.size(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*offset += tmp.size()` [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: manual implementation of an assign operation [INFO] [stderr] --> src/leb128.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | *offset = *offset + tmp.size(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*offset += tmp.size()` [INFO] [stderr] | [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/leb128.rs:110:28 [INFO] [stderr] | [INFO] [stderr] 110 | let low_bits = mask_continuation(byte) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(mask_continuation(byte))` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/leb128.rs:141:28 [INFO] [stderr] | [INFO] [stderr] 141 | let low_bits = mask_continuation(byte) as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(mask_continuation(byte))` [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] error: useless lint attribute [INFO] [stderr] --> src/lib.rs:180:1 [INFO] [stderr] | [INFO] [stderr] 180 | #[allow(overflowing_literals)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(overflowing_literals)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> src/lib.rs:180:1 [INFO] [stderr] | [INFO] [stderr] 180 | #[allow(overflowing_literals)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(overflowing_literals)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:356:44 [INFO] [stderr] | [INFO] [stderr] 356 | if this.len() < 2 { return Err((ExternalError {}).into()) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(ExternalError {})` [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: identical conversion [INFO] [stderr] --> src/lib.rs:367:44 [INFO] [stderr] | [INFO] [stderr] 367 | if this.len() > 2 { return Err((ExternalError {}).into()) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(ExternalError {})` [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 `bytes_to` [INFO] [stderr] --> src/lib.rs:380:18 [INFO] [stderr] | [INFO] [stderr] 380 | for i in 0..bytes_from.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 380 | for (i, ) in bytes_to.iter_mut().enumerate().take(bytes_from.len()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | simple_float_test!(gread_f32, 0.0, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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/lib.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | simple_float_test!(gread_f32, 0.0, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:427:5 [INFO] [stderr] | [INFO] [stderr] 427 | simple_float_test!(gread_f64, 0.5, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:427:5 [INFO] [stderr] | [INFO] [stderr] 427 | simple_float_test!(gread_f64, 0.5, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | g_read_write_test!(gread_gwrite_f64_1, 0.25f64, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | g_read_write_test!(gread_gwrite_f64_1, 0.25f64, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | g_read_write_test!(gread_gwrite_f64_1, 0.25f64, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | g_read_write_test!(gread_gwrite_f64_1, 0.25f64, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:451:5 [INFO] [stderr] | [INFO] [stderr] 451 | g_read_write_test!(gread_gwrite_f64_2, 0.5f64, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:451:5 [INFO] [stderr] | [INFO] [stderr] 451 | g_read_write_test!(gread_gwrite_f64_2, 0.5f64, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:451:5 [INFO] [stderr] | [INFO] [stderr] 451 | g_read_write_test!(gread_gwrite_f64_2, 0.5f64, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:451:5 [INFO] [stderr] | [INFO] [stderr] 451 | g_read_write_test!(gread_gwrite_f64_2, 0.5f64, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:452:5 [INFO] [stderr] | [INFO] [stderr] 452 | g_read_write_test!(gread_gwrite_f64_3, 0.064, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:452:5 [INFO] [stderr] | [INFO] [stderr] 452 | g_read_write_test!(gread_gwrite_f64_3, 0.064, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:452:5 [INFO] [stderr] | [INFO] [stderr] 452 | g_read_write_test!(gread_gwrite_f64_3, 0.064, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:452:5 [INFO] [stderr] | [INFO] [stderr] 452 | g_read_write_test!(gread_gwrite_f64_3, 0.064, f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:454:5 [INFO] [stderr] | [INFO] [stderr] 454 | g_read_write_test!(gread_gwrite_f32_1, 0.25f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:454:5 [INFO] [stderr] | [INFO] [stderr] 454 | g_read_write_test!(gread_gwrite_f32_1, 0.25f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:454:5 [INFO] [stderr] | [INFO] [stderr] 454 | g_read_write_test!(gread_gwrite_f32_1, 0.25f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:454:5 [INFO] [stderr] | [INFO] [stderr] 454 | g_read_write_test!(gread_gwrite_f32_1, 0.25f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:455:5 [INFO] [stderr] | [INFO] [stderr] 455 | g_read_write_test!(gread_gwrite_f32_2, 0.5f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:455:5 [INFO] [stderr] | [INFO] [stderr] 455 | g_read_write_test!(gread_gwrite_f32_2, 0.5f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:455:5 [INFO] [stderr] | [INFO] [stderr] 455 | g_read_write_test!(gread_gwrite_f32_2, 0.5f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:455:5 [INFO] [stderr] | [INFO] [stderr] 455 | g_read_write_test!(gread_gwrite_f32_2, 0.5f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:456:5 [INFO] [stderr] | [INFO] [stderr] 456 | g_read_write_test!(gread_gwrite_f32_3, 0.0f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:456:5 [INFO] [stderr] | [INFO] [stderr] 456 | g_read_write_test!(gread_gwrite_f32_3, 0.0f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:456:5 [INFO] [stderr] | [INFO] [stderr] 456 | g_read_write_test!(gread_gwrite_f32_3, 0.0f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:456:5 [INFO] [stderr] | [INFO] [stderr] 456 | g_read_write_test!(gread_gwrite_f32_3, 0.0f32, f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation [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: the loop variable `i` is only used to index `bytes_to`. [INFO] [stderr] --> src/lib.rs:475:18 [INFO] [stderr] | [INFO] [stderr] 475 | for i in 0..bytes_from.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 475 | for in bytes_to.iter_mut().take(bytes_from.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:517:9 [INFO] [stderr] | [INFO] [stderr] 517 | / match &string { [INFO] [stderr] 518 | | &Ok(_) => {}, [INFO] [stderr] 519 | | &Err(ref err) => {println!("{}", &err); panic!();} [INFO] [stderr] 520 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 517 | match string { [INFO] [stderr] 518 | Ok(_) => {}, [INFO] [stderr] 519 | Err(ref err) => {println!("{}", &err); panic!();} [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 20 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `scroll`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "c789690b743461d554ea8ff50d73f0672ba45db2e60c0656feaf0b4878dde4ea"` [INFO] running `"docker" "rm" "-f" "c789690b743461d554ea8ff50d73f0672ba45db2e60c0656feaf0b4878dde4ea"` [INFO] [stdout] c789690b743461d554ea8ff50d73f0672ba45db2e60c0656feaf0b4878dde4ea