[INFO] crate fast-math 0.1.0 is already in cache [INFO] extracting crate fast-math 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/fast-math/0.1.0 [INFO] extracting crate fast-math 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fast-math/0.1.0 [INFO] validating manifest of fast-math-0.1.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of fast-math-0.1.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing fast-math-0.1.0 [INFO] finished frobbing fast-math-0.1.0 [INFO] frobbed toml for fast-math-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/fast-math/0.1.0/Cargo.toml [INFO] started frobbing fast-math-0.1.0 [INFO] finished frobbing fast-math-0.1.0 [INFO] frobbed toml for fast-math-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fast-math/0.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting fast-math-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/fast-math/0.1.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] fc3aa252e334a667737a95174bd6f022f3cf49f4f872d09431a5d4b9b3088f89 [INFO] running `"docker" "start" "-a" "fc3aa252e334a667737a95174bd6f022f3cf49f4f872d09431a5d4b9b3088f89"` [INFO] [stderr] Checking fast-math v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/log.rs:73:21 [INFO] [stderr] | [INFO] [stderr] 73 | const A: f32 = -0.6296735; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.629_673_5` [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/log.rs:74:20 [INFO] [stderr] | [INFO] [stderr] 74 | const B: f32 = 1.466967; [INFO] [stderr] | ^^^^^^^^ help: consider: `1.466_967` [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: transmute from a `u32` to a `f32` [INFO] [stderr] --> src/float.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | unsafe {mem::transmute(bits)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(bits)` [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 `i32` to a `f32` [INFO] [stderr] --> examples/exhaustive-log.rs:8:29 [INFO] [stderr] | [INFO] [stderr] 8 | let x = unsafe {std::mem::transmute(i)}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(i as u32)` [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: long literal lacking separators [INFO] [stderr] --> src/log.rs:73:21 [INFO] [stderr] | [INFO] [stderr] 73 | const A: f32 = -0.6296735; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.629_673_5` [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/log.rs:74:20 [INFO] [stderr] | [INFO] [stderr] 74 | const B: f32 = 1.466967; [INFO] [stderr] | ^^^^^^^^ help: consider: `1.466_967` [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: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/log.rs:87:16 [INFO] [stderr] | [INFO] [stderr] 87 | if !(x > 0.0) { return qc::TestResult::discard() } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_cmp_op_on_partial_ord)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/log.rs:92:16 [INFO] [stderr] | [INFO] [stderr] 92 | if x == 1.0 { [INFO] [stderr] | ^^^^^^^^ help: consider comparing them within some error: `(x - 1.0).abs() < error` [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/log.rs:92:16 [INFO] [stderr] | [INFO] [stderr] 92 | if x == 1.0 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/log.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | for i in 0..PREC + 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=PREC` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/log.rs:111:26 [INFO] [stderr] | [INFO] [stderr] 111 | assert!((x == 1.0 && e == 0.0) || rel < 0.025, [INFO] [stderr] | ^^^^^^^^ help: consider comparing them within some error: `(x - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/log.rs:111:26 [INFO] [stderr] | [INFO] [stderr] 111 | assert!((x == 1.0 && e == 0.0) || rel < 0.025, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/log.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | assert_eq!(log2(f::INFINITY), f::INFINITY); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/log.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | assert_eq!(log2(f::INFINITY), f::INFINITY); [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/log.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | assert_eq!(log2(0.0), f::NEG_INFINITY); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/log.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | assert_eq!(log2(0.0), f::NEG_INFINITY); [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/log.rs:130:27 [INFO] [stderr] | [INFO] [stderr] 130 | let signif = ((x as u32) << 16) | (y as u32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(x)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/log.rs:130:47 [INFO] [stderr] | [INFO] [stderr] 130 | let signif = ((x as u32) << 16) | (y as u32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(y)` [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: transmute from a `u32` to a `f32` [INFO] [stderr] --> src/float.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | unsafe {mem::transmute(bits)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(bits)` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/float.rs:52:39 [INFO] [stderr] | [INFO] [stderr] 52 | qc::TestResult::from_bool(x == y) [INFO] [stderr] | ^^^^^^ help: consider comparing them within some error: `(x - y).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/float.rs:52:39 [INFO] [stderr] | [INFO] [stderr] 52 | qc::TestResult::from_bool(x == y) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `fast-math`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "fc3aa252e334a667737a95174bd6f022f3cf49f4f872d09431a5d4b9b3088f89"` [INFO] running `"docker" "rm" "-f" "fc3aa252e334a667737a95174bd6f022f3cf49f4f872d09431a5d4b9b3088f89"` [INFO] [stdout] fc3aa252e334a667737a95174bd6f022f3cf49f4f872d09431a5d4b9b3088f89