[INFO] updating cached repository peter-bertok/float_fast_print [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/peter-bertok/float_fast_print [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/peter-bertok/float_fast_print" "work/ex/clippy-test-run/sources/stable/gh/peter-bertok/float_fast_print"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/peter-bertok/float_fast_print'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/peter-bertok/float_fast_print" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/peter-bertok/float_fast_print"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/peter-bertok/float_fast_print'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6bb467250096f008c354de08c69f3325d9d03e0a [INFO] sha for GitHub repo peter-bertok/float_fast_print: 6bb467250096f008c354de08c69f3325d9d03e0a [INFO] validating manifest of peter-bertok/float_fast_print 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 peter-bertok/float_fast_print 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 peter-bertok/float_fast_print [INFO] finished frobbing peter-bertok/float_fast_print [INFO] frobbed toml for peter-bertok/float_fast_print written to work/ex/clippy-test-run/sources/stable/gh/peter-bertok/float_fast_print/Cargo.toml [INFO] started frobbing peter-bertok/float_fast_print [INFO] finished frobbing peter-bertok/float_fast_print [INFO] frobbed toml for peter-bertok/float_fast_print written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/peter-bertok/float_fast_print/Cargo.toml [INFO] crate peter-bertok/float_fast_print has a lockfile. skipping [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 peter-bertok/float_fast_print against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/peter-bertok/float_fast_print:/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] 00d41e139407491bb0ebca6031557b3531453684cf416dc559097b583cf3257d [INFO] running `"docker" "start" "-a" "00d41e139407491bb0ebca6031557b3531453684cf416dc559097b583cf3257d"` [INFO] [stderr] Checking float_fast_print v0.1.2 (/opt/crater/workdir) [INFO] [stderr] Checking rand v0.5.4 [INFO] [stderr] warning: lint name `unreadable_literal` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::unreadable_literal` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `unreadable_literal` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::unreadable_literal` [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [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: unneeded return statement [INFO] [stderr] --> src/lib.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [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/lib.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return pow5_factor_32(value) >= p as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `pow5_factor_32(value) >= p as u32` [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/lib.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | return pow5_factor_64(value) >= p as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `pow5_factor_64(value) >= p as u32` [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/lib.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | return shifted_sum as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `shifted_sum as u32` [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:97:23 [INFO] [stderr] | [INFO] [stderr] 97 | let bits_0: u64 = (m as u64) * (factor_lo as u64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(m)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:97:36 [INFO] [stderr] | [INFO] [stderr] 97 | let bits_0: u64 = (m as u64) * (factor_lo as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(factor_lo)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:98:23 [INFO] [stderr] | [INFO] [stderr] 98 | let bits_1: u64 = (m as u64) * (factor_hi as u64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(m)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:98:36 [INFO] [stderr] | [INFO] [stderr] 98 | let bits_1: u64 = (m as u64) * (factor_hi as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(factor_hi)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:103:34 [INFO] [stderr] | [INFO] [stderr] 103 | debug_assert!(shifted_sum <= std::u32::MAX as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(std::u32::MAX)` [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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:127:20 [INFO] [stderr] | [INFO] [stderr] 127 | let b0: u128 = m as u128 * mul.0 as u128; [INFO] [stderr] | ^^^^^^^^^ help: try: `u128::from(m)` [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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:127:32 [INFO] [stderr] | [INFO] [stderr] 127 | let b0: u128 = m as u128 * mul.0 as u128; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u128::from(mul.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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:128:20 [INFO] [stderr] | [INFO] [stderr] 128 | let b2: u128 = m as u128 * mul.1 as u128; [INFO] [stderr] | ^^^^^^^^^ help: try: `u128::from(m)` [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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | let b2: u128 = m as u128 * mul.1 as u128; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u128::from(mul.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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/lib.rs:325:5 [INFO] [stderr] | [INFO] [stderr] 325 | / let mut output: u32; [INFO] [stderr] 326 | | if vm_is_trailing_zeros || vr_is_trailing_zeros { [INFO] [stderr] 327 | | // General case, which happens rarely. [INFO] [stderr] 328 | | while vp / 10 > vm / 10 { [INFO] [stderr] ... | [INFO] [stderr] 363 | | output = vr + (vr == vm || last_removed_digit >= 5) as u32; [INFO] [stderr] 364 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let output = if vm_is_trailing_zeros || vr_is_trailing_zeros { ..; vr + ((vr == vm && (!accept_bounds || !vm_is_trailing_zeros)) || last_removed_digit >= 5) as u32 } else { ..; vr + (vr == vm || last_removed_digit >= 5) as u32 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/lib.rs:554:5 [INFO] [stderr] | [INFO] [stderr] 554 | / let mut output: u64; [INFO] [stderr] 555 | | // On average, we remove ~2 digits. [INFO] [stderr] 556 | | if vm_is_trailing_zeros || vr_is_trailing_zeros { [INFO] [stderr] 557 | | // General case, which happens rarely (<1%). [INFO] [stderr] ... | [INFO] [stderr] 601 | | output = vr + ( (vr == vm) || (last_removed_digit >= 5)) as u64; [INFO] [stderr] 602 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let output = if vm_is_trailing_zeros || vr_is_trailing_zeros { ..; vr + ((vr == vm && (!accept_bounds || !vm_is_trailing_zeros)) || (last_removed_digit >= 5)) as u64 } else { ..; vr + ( (vr == vm) || (last_removed_digit >= 5)) as u64 };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: lint name `unreadable_literal` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::unreadable_literal` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> tests/benchmarks.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `float_fast_print`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: lint name `unreadable_literal` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::unreadable_literal` [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> tests/exhaustive.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `float_fast_print`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [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: unneeded return statement [INFO] [stderr] --> src/lib.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [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/lib.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return pow5_factor_32(value) >= p as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `pow5_factor_32(value) >= p as u32` [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/lib.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | return pow5_factor_64(value) >= p as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `pow5_factor_64(value) >= p as u32` [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/lib.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | return shifted_sum as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `shifted_sum as u32` [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:97:23 [INFO] [stderr] | [INFO] [stderr] 97 | let bits_0: u64 = (m as u64) * (factor_lo as u64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(m)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:97:36 [INFO] [stderr] | [INFO] [stderr] 97 | let bits_0: u64 = (m as u64) * (factor_lo as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(factor_lo)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:98:23 [INFO] [stderr] | [INFO] [stderr] 98 | let bits_1: u64 = (m as u64) * (factor_hi as u64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(m)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:98:36 [INFO] [stderr] | [INFO] [stderr] 98 | let bits_1: u64 = (m as u64) * (factor_hi as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(factor_hi)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:103:34 [INFO] [stderr] | [INFO] [stderr] 103 | debug_assert!(shifted_sum <= std::u32::MAX as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(std::u32::MAX)` [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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:127:20 [INFO] [stderr] | [INFO] [stderr] 127 | let b0: u128 = m as u128 * mul.0 as u128; [INFO] [stderr] | ^^^^^^^^^ help: try: `u128::from(m)` [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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:127:32 [INFO] [stderr] | [INFO] [stderr] 127 | let b0: u128 = m as u128 * mul.0 as u128; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u128::from(mul.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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:128:20 [INFO] [stderr] | [INFO] [stderr] 128 | let b2: u128 = m as u128 * mul.1 as u128; [INFO] [stderr] | ^^^^^^^^^ help: try: `u128::from(m)` [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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | let b2: u128 = m as u128 * mul.1 as u128; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u128::from(mul.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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/lib.rs:325:5 [INFO] [stderr] | [INFO] [stderr] 325 | / let mut output: u32; [INFO] [stderr] 326 | | if vm_is_trailing_zeros || vr_is_trailing_zeros { [INFO] [stderr] 327 | | // General case, which happens rarely. [INFO] [stderr] 328 | | while vp / 10 > vm / 10 { [INFO] [stderr] ... | [INFO] [stderr] 363 | | output = vr + (vr == vm || last_removed_digit >= 5) as u32; [INFO] [stderr] 364 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let output = if vm_is_trailing_zeros || vr_is_trailing_zeros { ..; vr + ((vr == vm && (!accept_bounds || !vm_is_trailing_zeros)) || last_removed_digit >= 5) as u32 } else { ..; vr + (vr == vm || last_removed_digit >= 5) as u32 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/lib.rs:554:5 [INFO] [stderr] | [INFO] [stderr] 554 | / let mut output: u64; [INFO] [stderr] 555 | | // On average, we remove ~2 digits. [INFO] [stderr] 556 | | if vm_is_trailing_zeros || vr_is_trailing_zeros { [INFO] [stderr] 557 | | // General case, which happens rarely (<1%). [INFO] [stderr] ... | [INFO] [stderr] 601 | | output = vr + ( (vr == vm) || (last_removed_digit >= 5)) as u64; [INFO] [stderr] 602 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let output = if vm_is_trailing_zeros || vr_is_trailing_zeros { ..; vr + ((vr == vm && (!accept_bounds || !vm_is_trailing_zeros)) || (last_removed_digit >= 5)) as u64 } else { ..; vr + ( (vr == vm) || (last_removed_digit >= 5)) as u64 };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:1021:9 [INFO] [stderr] | [INFO] [stderr] 1021 | assert_eq!(number, parsed); [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/lib.rs:1021:9 [INFO] [stderr] | [INFO] [stderr] 1021 | assert_eq!(number, parsed); [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:1030:9 [INFO] [stderr] | [INFO] [stderr] 1030 | assert_eq!(number, parsed); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1030:9 [INFO] [stderr] | [INFO] [stderr] 1030 | assert_eq!(number, parsed); [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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `float_fast_print`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "00d41e139407491bb0ebca6031557b3531453684cf416dc559097b583cf3257d"` [INFO] running `"docker" "rm" "-f" "00d41e139407491bb0ebca6031557b3531453684cf416dc559097b583cf3257d"` [INFO] [stdout] 00d41e139407491bb0ebca6031557b3531453684cf416dc559097b583cf3257d