[INFO] crate app_units 0.7.1 is already in cache [INFO] extracting crate app_units 0.7.1 into work/ex/clippy-test-run/sources/stable/reg/app_units/0.7.1 [INFO] extracting crate app_units 0.7.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/app_units/0.7.1 [INFO] validating manifest of app_units-0.7.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of app_units-0.7.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing app_units-0.7.1 [INFO] finished frobbing app_units-0.7.1 [INFO] frobbed toml for app_units-0.7.1 written to work/ex/clippy-test-run/sources/stable/reg/app_units/0.7.1/Cargo.toml [INFO] started frobbing app_units-0.7.1 [INFO] finished frobbing app_units-0.7.1 [INFO] frobbed toml for app_units-0.7.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/app_units/0.7.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting app_units-0.7.1 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/app_units/0.7.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] d7de7a39fb65a683d0ca4e0a9c1b923c7c5a8da6abfe748c388ef645429a8cfe [INFO] running `"docker" "start" "-a" "d7de7a39fb65a683d0ca4e0a9c1b923c7c5a8da6abfe748c388ef645429a8cfe"` [INFO] [stderr] Checking app_units v0.7.1 (/opt/crater/workdir) [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:224:26 [INFO] [stderr] | [INFO] [stderr] 224 | let new_float = ((self.0 as f64) * factor as f64).round(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.0)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:224:44 [INFO] [stderr] | [INFO] [stderr] 224 | let new_float = ((self.0 as f64) * factor as f64).round(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(factor)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:231:26 [INFO] [stderr] | [INFO] [stderr] 231 | let new_float = ((self.0 as f64) * factor as f64).trunc(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:231:44 [INFO] [stderr] | [INFO] [stderr] 231 | let new_float = ((self.0 as f64) * factor as f64).trunc(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(factor)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:239:22 [INFO] [stderr] | [INFO] [stderr] 239 | Au(float.min(MAX_AU.0 as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(MAX_AU.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:240:22 [INFO] [stderr] | [INFO] [stderr] 240 | .max(MIN_AU.0 as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(MIN_AU.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:258:10 [INFO] [stderr] | [INFO] [stderr] 258 | ((self.0 as f64) / (AU_PER_PX as f64)).ceil() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:258:28 [INFO] [stderr] | [INFO] [stderr] 258 | ((self.0 as f64) / (AU_PER_PX as f64)).ceil() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(AU_PER_PX)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:263:10 [INFO] [stderr] | [INFO] [stderr] 263 | ((self.0 as f64) / (AU_PER_PX as f64)).round() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:263:28 [INFO] [stderr] | [INFO] [stderr] 263 | ((self.0 as f64) / (AU_PER_PX as f64)).round() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(AU_PER_PX)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | (self.0 as f64) / (AU_PER_PX as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:278:27 [INFO] [stderr] | [INFO] [stderr] 278 | (self.0 as f64) / (AU_PER_PX as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(AU_PER_PX)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:284:25 [INFO] [stderr] | [INFO] [stderr] 284 | Au::from_f64_au(float as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(float)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:289:27 [INFO] [stderr] | [INFO] [stderr] 289 | let float = (px * AU_PER_PX as f64).round(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(AU_PER_PX)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:224:26 [INFO] [stderr] | [INFO] [stderr] 224 | let new_float = ((self.0 as f64) * factor as f64).round(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.0)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:224:44 [INFO] [stderr] | [INFO] [stderr] 224 | let new_float = ((self.0 as f64) * factor as f64).round(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(factor)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:231:26 [INFO] [stderr] | [INFO] [stderr] 231 | let new_float = ((self.0 as f64) * factor as f64).trunc(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:231:44 [INFO] [stderr] | [INFO] [stderr] 231 | let new_float = ((self.0 as f64) * factor as f64).trunc(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(factor)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:239:22 [INFO] [stderr] | [INFO] [stderr] 239 | Au(float.min(MAX_AU.0 as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(MAX_AU.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:240:22 [INFO] [stderr] | [INFO] [stderr] 240 | .max(MIN_AU.0 as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(MIN_AU.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:258:10 [INFO] [stderr] | [INFO] [stderr] 258 | ((self.0 as f64) / (AU_PER_PX as f64)).ceil() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:258:28 [INFO] [stderr] | [INFO] [stderr] 258 | ((self.0 as f64) / (AU_PER_PX as f64)).ceil() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(AU_PER_PX)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:263:10 [INFO] [stderr] | [INFO] [stderr] 263 | ((self.0 as f64) / (AU_PER_PX as f64)).round() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:263:28 [INFO] [stderr] | [INFO] [stderr] 263 | ((self.0 as f64) / (AU_PER_PX as f64)).round() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(AU_PER_PX)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | (self.0 as f64) / (AU_PER_PX as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:278:27 [INFO] [stderr] | [INFO] [stderr] 278 | (self.0 as f64) / (AU_PER_PX as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(AU_PER_PX)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:284:25 [INFO] [stderr] | [INFO] [stderr] 284 | Au::from_f64_au(float as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(float)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/app_unit.rs:289:27 [INFO] [stderr] | [INFO] [stderr] 289 | let float = (px * AU_PER_PX as f64).round(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(AU_PER_PX)` [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: the function has a cyclomatic complexity of 51 [INFO] [stderr] --> src/app_unit.rs:358:1 [INFO] [stderr] | [INFO] [stderr] 358 | / fn convert() { [INFO] [stderr] 359 | | assert_eq!(Au::from_px(5), Au(300)); [INFO] [stderr] 360 | | [INFO] [stderr] 361 | | assert_eq!(Au(300).to_px(), 5); [INFO] [stderr] ... | [INFO] [stderr] 416 | | assert_eq!(Au::from_f64_px(6.13), Au(368)); [INFO] [stderr] 417 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/app_unit.rs:378:5 [INFO] [stderr] | [INFO] [stderr] 378 | assert_eq!(Au(60).to_nearest_pixel(2.), 1.); [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/app_unit.rs:378:5 [INFO] [stderr] | [INFO] [stderr] 378 | assert_eq!(Au(60).to_nearest_pixel(2.), 1.); [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/app_unit.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | assert_eq!(Au(70).to_nearest_pixel(2.), 1.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | assert_eq!(Au(70).to_nearest_pixel(2.), 1.); [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/app_unit.rs:380:5 [INFO] [stderr] | [INFO] [stderr] 380 | assert_eq!(Au(80).to_nearest_pixel(2.), 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:380:5 [INFO] [stderr] | [INFO] [stderr] 380 | assert_eq!(Au(80).to_nearest_pixel(2.), 1.5); [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/app_unit.rs:381:5 [INFO] [stderr] | [INFO] [stderr] 381 | assert_eq!(Au(90).to_nearest_pixel(2.), 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:381:5 [INFO] [stderr] | [INFO] [stderr] 381 | assert_eq!(Au(90).to_nearest_pixel(2.), 1.5); [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/app_unit.rs:382:5 [INFO] [stderr] | [INFO] [stderr] 382 | assert_eq!(Au(100).to_nearest_pixel(2.), 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:382:5 [INFO] [stderr] | [INFO] [stderr] 382 | assert_eq!(Au(100).to_nearest_pixel(2.), 1.5); [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/app_unit.rs:383:5 [INFO] [stderr] | [INFO] [stderr] 383 | assert_eq!(Au(110).to_nearest_pixel(2.), 2.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:383:5 [INFO] [stderr] | [INFO] [stderr] 383 | assert_eq!(Au(110).to_nearest_pixel(2.), 2.); [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/app_unit.rs:384:5 [INFO] [stderr] | [INFO] [stderr] 384 | assert_eq!(Au(120).to_nearest_pixel(2.), 2.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:384:5 [INFO] [stderr] | [INFO] [stderr] 384 | assert_eq!(Au(120).to_nearest_pixel(2.), 2.); [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/app_unit.rs:386:5 [INFO] [stderr] | [INFO] [stderr] 386 | assert_eq!(Au(300).to_f32_px(), 5.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:386:5 [INFO] [stderr] | [INFO] [stderr] 386 | assert_eq!(Au(300).to_f32_px(), 5.); [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/app_unit.rs:387:5 [INFO] [stderr] | [INFO] [stderr] 387 | assert_eq!(Au(312).to_f32_px(), 5.2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:387:5 [INFO] [stderr] | [INFO] [stderr] 387 | assert_eq!(Au(312).to_f32_px(), 5.2); [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/app_unit.rs:388:5 [INFO] [stderr] | [INFO] [stderr] 388 | assert_eq!(Au(330).to_f32_px(), 5.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:388:5 [INFO] [stderr] | [INFO] [stderr] 388 | assert_eq!(Au(330).to_f32_px(), 5.5); [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/app_unit.rs:389:5 [INFO] [stderr] | [INFO] [stderr] 389 | assert_eq!(Au(348).to_f32_px(), 5.8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:389:5 [INFO] [stderr] | [INFO] [stderr] 389 | assert_eq!(Au(348).to_f32_px(), 5.8); [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/app_unit.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | assert_eq!(Au(360).to_f32_px(), 6.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | assert_eq!(Au(360).to_f32_px(), 6.); [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/app_unit.rs:391:5 [INFO] [stderr] | [INFO] [stderr] 391 | assert_eq!((Au(367).to_f32_px() * 1000.).round(), 6_117.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:391:5 [INFO] [stderr] | [INFO] [stderr] 391 | assert_eq!((Au(367).to_f32_px() * 1000.).round(), 6_117.); [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/app_unit.rs:392:5 [INFO] [stderr] | [INFO] [stderr] 392 | assert_eq!((Au(368).to_f32_px() * 1000.).round(), 6_133.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:392:5 [INFO] [stderr] | [INFO] [stderr] 392 | assert_eq!((Au(368).to_f32_px() * 1000.).round(), 6_133.); [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/app_unit.rs:394:5 [INFO] [stderr] | [INFO] [stderr] 394 | assert_eq!(Au(300).to_f64_px(), 5.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:394:5 [INFO] [stderr] | [INFO] [stderr] 394 | assert_eq!(Au(300).to_f64_px(), 5.); [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/app_unit.rs:395:5 [INFO] [stderr] | [INFO] [stderr] 395 | assert_eq!(Au(312).to_f64_px(), 5.2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:395:5 [INFO] [stderr] | [INFO] [stderr] 395 | assert_eq!(Au(312).to_f64_px(), 5.2); [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/app_unit.rs:396:5 [INFO] [stderr] | [INFO] [stderr] 396 | assert_eq!(Au(330).to_f64_px(), 5.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:396:5 [INFO] [stderr] | [INFO] [stderr] 396 | assert_eq!(Au(330).to_f64_px(), 5.5); [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/app_unit.rs:397:5 [INFO] [stderr] | [INFO] [stderr] 397 | assert_eq!(Au(348).to_f64_px(), 5.8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:397:5 [INFO] [stderr] | [INFO] [stderr] 397 | assert_eq!(Au(348).to_f64_px(), 5.8); [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/app_unit.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | assert_eq!(Au(360).to_f64_px(), 6.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | assert_eq!(Au(360).to_f64_px(), 6.); [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/app_unit.rs:399:5 [INFO] [stderr] | [INFO] [stderr] 399 | assert_eq!((Au(367).to_f64_px() * 1000.).round(), 6_117.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:399:5 [INFO] [stderr] | [INFO] [stderr] 399 | assert_eq!((Au(367).to_f64_px() * 1000.).round(), 6_117.); [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/app_unit.rs:400:5 [INFO] [stderr] | [INFO] [stderr] 400 | assert_eq!((Au(368).to_f64_px() * 1000.).round(), 6_133.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/app_unit.rs:400:5 [INFO] [stderr] | [INFO] [stderr] 400 | assert_eq!((Au(368).to_f64_px() * 1000.).round(), 6_133.); [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 21 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `app_units`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "d7de7a39fb65a683d0ca4e0a9c1b923c7c5a8da6abfe748c388ef645429a8cfe"` [INFO] running `"docker" "rm" "-f" "d7de7a39fb65a683d0ca4e0a9c1b923c7c5a8da6abfe748c388ef645429a8cfe"` [INFO] [stdout] d7de7a39fb65a683d0ca4e0a9c1b923c7c5a8da6abfe748c388ef645429a8cfe