[INFO] fetching crate aprox_eq 2.1.0... [INFO] linting aprox_eq-2.1.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate aprox_eq 2.1.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate aprox_eq 2.1.0 [INFO] finished tweaking crates.io crate aprox_eq 2.1.0 [INFO] tweaked toml for crates.io crate aprox_eq 2.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate aprox_eq 2.1.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate aprox_eq 2.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded aprox_derive v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a6ab4d53b5cec575fbec978740a2697c6147f8b10f3df4fbf1ca63719b0ed60e [INFO] running `Command { std: "docker" "start" "-a" "a6ab4d53b5cec575fbec978740a2697c6147f8b10f3df4fbf1ca63719b0ed60e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a6ab4d53b5cec575fbec978740a2697c6147f8b10f3df4fbf1ca63719b0ed60e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6ab4d53b5cec575fbec978740a2697c6147f8b10f3df4fbf1ca63719b0ed60e", kill_on_drop: false }` [INFO] [stdout] a6ab4d53b5cec575fbec978740a2697c6147f8b10f3df4fbf1ca63719b0ed60e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d01bfde938f75022bf54e7ab65b81dc736621051ca0736a1552af1c7f1897771 [INFO] running `Command { std: "docker" "start" "-a" "d01bfde938f75022bf54e7ab65b81dc736621051ca0736a1552af1c7f1897771", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling aprox_derive v0.3.2 [INFO] [stderr] Checking aprox_eq v2.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/floats.rs:45:43 [INFO] [stdout] | [INFO] [stdout] 45 | const EXPONENT_MASK: Self::WidthInt = 0b111_1111_1 << (f32::MANTISSA_DIGITS - 1); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider: `0b1111_1111` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/floats.rs:45:43 [INFO] [stdout] | [INFO] [stdout] 45 | const EXPONENT_MASK: Self::WidthInt = 0b111_1111_1 << (f32::MANTISSA_DIGITS - 1); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider: `0b1111_1111` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/floats.rs:122:34 [INFO] [stdout] | [INFO] [stdout] 122 | assert_eq!(a.exponent(), 0b110_0011_1u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider: `0b1100_0111_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:210:68 [INFO] [stdout] | [INFO] [stdout] 210 | true => self.iter().zip(other).all(|(a, b)| a.aprox_eq(&b)), [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:223:56 [INFO] [stdout] | [INFO] [stdout] 223 | self.iter().zip(other).all(|(a, b)| a.aprox_eq(&b)) [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/lib.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | T: ?Sized, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `T` cannot be unsized because of the bound [INFO] [stdout] --> src/lib.rs:243:21 [INFO] [stdout] | [INFO] [stdout] 243 | T: AproxEq + Clone, [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: ...because `Clone` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] = note: `#[warn(clippy::needless_maybe_sized)]` on by default [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 241 - T: ?Sized, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | !(self.mantissa().abs_diff(other.mantissa()) < F64_TOLERANCE) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.mantissa().abs_diff(other.mantissa()) >= F64_TOLERANCE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:356:13 [INFO] [stdout] | [INFO] [stdout] 356 | !(self.mantissa().abs_diff(other.mantissa()) < F32_TOLERANCE) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.mantissa().abs_diff(other.mantissa()) >= F32_TOLERANCE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/floats.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | let a = 1.0285932900803419e-38f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] = note: `#[warn(clippy::excessive_precision)]` on by default [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 115 - let a = 1.0285932900803419e-38f32; [INFO] [stdout] 115 + let a = 1.028_593_3e-38_f32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/floats.rs:120:18 [INFO] [stdout] | [INFO] [stdout] 120 | let a = -8.854580707618707e+21f32; // -1.4106160901776828e-36f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 120 - let a = -8.854580707618707e+21f32; // -1.4106160901776828e-36f32; [INFO] [stdout] 120 + let a = -8.854_580_7e21_f32; // -1.4106160901776828e-36f32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:210:68 [INFO] [stdout] | [INFO] [stdout] 210 | true => self.iter().zip(other).all(|(a, b)| a.aprox_eq(&b)), [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:223:56 [INFO] [stdout] | [INFO] [stdout] 223 | self.iter().zip(other).all(|(a, b)| a.aprox_eq(&b)) [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/lib.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | T: ?Sized, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `T` cannot be unsized because of the bound [INFO] [stdout] --> src/lib.rs:243:21 [INFO] [stdout] | [INFO] [stdout] 243 | T: AproxEq + Clone, [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: ...because `Clone` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] = note: `#[warn(clippy::needless_maybe_sized)]` on by default [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 241 - T: ?Sized, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | !(self.mantissa().abs_diff(other.mantissa()) < F64_TOLERANCE) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.mantissa().abs_diff(other.mantissa()) >= F64_TOLERANCE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:356:13 [INFO] [stdout] | [INFO] [stdout] 356 | !(self.mantissa().abs_diff(other.mantissa()) < F32_TOLERANCE) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.mantissa().abs_diff(other.mantissa()) >= F32_TOLERANCE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:393:38 [INFO] [stdout] | [INFO] [stdout] 393 | assert_aprox_eq!(1.0002_f64, 1.0001999999999999_f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 393 - assert_aprox_eq!(1.0002_f64, 1.0001999999999999_f64); [INFO] [stdout] 393 + assert_aprox_eq!(1.0002_f64, 1.000_2_f64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:395:38 [INFO] [stdout] | [INFO] [stdout] 395 | assert_aprox_eq!(1.0002_f32, 1.0001999999999999_f32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 395 - assert_aprox_eq!(1.0002_f32, 1.0001999999999999_f32); [INFO] [stdout] 395 + assert_aprox_eq!(1.0002_f32, 1.000_2_f32); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:523:55 [INFO] [stdout] | [INFO] [stdout] 523 | assert_aprox_eq!(Cell::new(1.2f32), Cell::new(1.200000000001f32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 523 - assert_aprox_eq!(Cell::new(1.2f32), Cell::new(1.200000000001f32)); [INFO] [stdout] 523 + assert_aprox_eq!(Cell::new(1.2f32), Cell::new(1.2_f32)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:535:15 [INFO] [stdout] | [INFO] [stdout] 535 | b.set(1.200000000001f32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 535 - b.set(1.200000000001f32) [INFO] [stdout] 535 + b.set(1.2_f32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:546:61 [INFO] [stdout] | [INFO] [stdout] 546 | assert_aprox_eq!(RefCell::new(1.2f32), RefCell::new(1.200000000001f32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 546 - assert_aprox_eq!(RefCell::new(1.2f32), RefCell::new(1.200000000001f32)); [INFO] [stdout] 546 + assert_aprox_eq!(RefCell::new(1.2f32), RefCell::new(1.2_f32)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:552:51 [INFO] [stdout] | [INFO] [stdout] 552 | assert_aprox_eq!(Rc::new(1.2f32), Rc::new(1.200000000001f32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 552 - assert_aprox_eq!(Rc::new(1.2f32), Rc::new(1.200000000001f32)); [INFO] [stdout] 552 + assert_aprox_eq!(Rc::new(1.2f32), Rc::new(1.2_f32)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:558:53 [INFO] [stdout] | [INFO] [stdout] 558 | assert_aprox_eq!(Arc::new(1.2f32), Arc::new(1.200000000001f32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 558 - assert_aprox_eq!(Arc::new(1.2f32), Arc::new(1.200000000001f32)); [INFO] [stdout] 558 + assert_aprox_eq!(Arc::new(1.2f32), Arc::new(1.2_f32)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.16s [INFO] running `Command { std: "docker" "inspect" "d01bfde938f75022bf54e7ab65b81dc736621051ca0736a1552af1c7f1897771", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d01bfde938f75022bf54e7ab65b81dc736621051ca0736a1552af1c7f1897771", kill_on_drop: false }` [INFO] [stdout] d01bfde938f75022bf54e7ab65b81dc736621051ca0736a1552af1c7f1897771