[INFO] crate unums 0.0.1 is already in cache [INFO] extracting crate unums 0.0.1 into work/ex/clippy-test-run/sources/stable/reg/unums/0.0.1 [INFO] extracting crate unums 0.0.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/unums/0.0.1 [INFO] validating manifest of unums-0.0.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 unums-0.0.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 unums-0.0.1 [INFO] finished frobbing unums-0.0.1 [INFO] frobbed toml for unums-0.0.1 written to work/ex/clippy-test-run/sources/stable/reg/unums/0.0.1/Cargo.toml [INFO] started frobbing unums-0.0.1 [INFO] finished frobbing unums-0.0.1 [INFO] frobbed toml for unums-0.0.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/unums/0.0.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 unums-0.0.1 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/unums/0.0.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 -Dclippy::into_iter_on_array" "-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] b196025de1c08985159ea278e0762afc11c1f538ddbbb99ae6988703391098c3 [INFO] running `"docker" "start" "-a" "b196025de1c08985159ea278e0762afc11c1f538ddbbb99ae6988703391098c3"` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] Checking unums v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/type1/unum.rs:28:23 [INFO] [stderr] | [INFO] [stderr] 28 | exp_bits: 0x00000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0000` [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/type1/unum.rs:29:24 [INFO] [stderr] | [INFO] [stderr] 29 | frac_bits: 0x00000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0000` [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: unneeded return statement [INFO] [stderr] --> src/type1/unum.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | / return Unum { [INFO] [stderr] 58 | | env: PhantomData, [INFO] [stderr] 59 | | sign: n >= 0, [INFO] [stderr] 60 | | exp_bits: ((n.floor_log_2_abs() as i32) + 2_i32.pow((n.min_exp_bits() as u32) - 1) -1) as u32, [INFO] [stderr] ... | [INFO] [stderr] 64 | | frac_size: (counter - if counter>0 {1} else {0}) as u8, [INFO] [stderr] 65 | | } [INFO] [stderr] | |_____________________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 57 | Unum { [INFO] [stderr] 58 | env: PhantomData, [INFO] [stderr] 59 | sign: n >= 0, [INFO] [stderr] 60 | exp_bits: ((n.floor_log_2_abs() as i32) + 2_i32.pow((n.min_exp_bits() as u32) - 1) -1) as u32, [INFO] [stderr] 61 | frac_bits: if counter == 0 {0} else {(y_int - 2_i64.pow(y_int.floor_log_2_abs() as u32)) as u32}, [INFO] [stderr] 62 | ubit: false, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 60 | ImplIntToUnumHelpers!(isize, isize::abs); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 60 | ImplIntToUnumHelpers!(isize, isize::abs); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 61 | ImplIntToUnumHelpers!(i8, i8::abs); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | ImplIntToUnumHelpers!(i8, i8::abs); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 62 | ImplIntToUnumHelpers!(i16, i16::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | ImplIntToUnumHelpers!(i16, i16::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 63 | ImplIntToUnumHelpers!(i32, i32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | ImplIntToUnumHelpers!(i32, i32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 64 | ImplIntToUnumHelpers!(i64, i64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 64 | ImplIntToUnumHelpers!(i64, i64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 69 | ImplIntToUnumHelpers!(usize, mirror); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | ImplIntToUnumHelpers!(usize, mirror); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 70 | ImplIntToUnumHelpers!(u8, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 70 | ImplIntToUnumHelpers!(u8, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 71 | ImplIntToUnumHelpers!(u16, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 71 | ImplIntToUnumHelpers!(u16, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 72 | ImplIntToUnumHelpers!(u32, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | ImplIntToUnumHelpers!(u32, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 73 | ImplIntToUnumHelpers!(u64, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 73 | ImplIntToUnumHelpers!(u64, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/type1/utils.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | / macro_rules! ImplFloatToUnumHelpers { [INFO] [stderr] 79 | | ($T:ty, $E:path) => { [INFO] [stderr] 80 | | impl ToUnumHelpers for $T { [INFO] [stderr] 81 | | #[inline(always)] [INFO] [stderr] ... | [INFO] [stderr] 123 | | }; [INFO] [stderr] 124 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 126 | ImplIntToUnumHelpers!(f32, f32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | ImplIntToUnumHelpers!(f32, f32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/type1/unum.rs:28:23 [INFO] [stderr] | [INFO] [stderr] 28 | exp_bits: 0x00000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0000` [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/type1/unum.rs:29:24 [INFO] [stderr] | [INFO] [stderr] 29 | frac_bits: 0x00000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0000` [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: unneeded return statement [INFO] [stderr] --> src/type1/unum.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | / return Unum { [INFO] [stderr] 58 | | env: PhantomData, [INFO] [stderr] 59 | | sign: n >= 0, [INFO] [stderr] 60 | | exp_bits: ((n.floor_log_2_abs() as i32) + 2_i32.pow((n.min_exp_bits() as u32) - 1) -1) as u32, [INFO] [stderr] ... | [INFO] [stderr] 64 | | frac_size: (counter - if counter>0 {1} else {0}) as u8, [INFO] [stderr] 65 | | } [INFO] [stderr] | |_____________________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 57 | Unum { [INFO] [stderr] 58 | env: PhantomData, [INFO] [stderr] 59 | sign: n >= 0, [INFO] [stderr] 60 | exp_bits: ((n.floor_log_2_abs() as i32) + 2_i32.pow((n.min_exp_bits() as u32) - 1) -1) as u32, [INFO] [stderr] 61 | frac_bits: if counter == 0 {0} else {(y_int - 2_i64.pow(y_int.floor_log_2_abs() as u32)) as u32}, [INFO] [stderr] 62 | ubit: false, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 60 | ImplIntToUnumHelpers!(isize, isize::abs); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 60 | ImplIntToUnumHelpers!(isize, isize::abs); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 61 | ImplIntToUnumHelpers!(i8, i8::abs); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | ImplIntToUnumHelpers!(i8, i8::abs); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 62 | ImplIntToUnumHelpers!(i16, i16::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | ImplIntToUnumHelpers!(i16, i16::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 63 | ImplIntToUnumHelpers!(i32, i32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | ImplIntToUnumHelpers!(i32, i32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 64 | ImplIntToUnumHelpers!(i64, i64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 64 | ImplIntToUnumHelpers!(i64, i64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 69 | ImplIntToUnumHelpers!(usize, mirror); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | ImplIntToUnumHelpers!(usize, mirror); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 70 | ImplIntToUnumHelpers!(u8, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 70 | ImplIntToUnumHelpers!(u8, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 71 | ImplIntToUnumHelpers!(u16, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 71 | ImplIntToUnumHelpers!(u16, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 72 | ImplIntToUnumHelpers!(u32, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | ImplIntToUnumHelpers!(u32, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 73 | ImplIntToUnumHelpers!(u64, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 73 | ImplIntToUnumHelpers!(u64, mirror); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/type1/utils.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | / macro_rules! ImplFloatToUnumHelpers { [INFO] [stderr] 79 | | ($T:ty, $E:path) => { [INFO] [stderr] 80 | | impl ToUnumHelpers for $T { [INFO] [stderr] 81 | | #[inline(always)] [INFO] [stderr] ... | [INFO] [stderr] 123 | | }; [INFO] [stderr] 124 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 126 | ImplIntToUnumHelpers!(f32, f32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | ImplIntToUnumHelpers!(f32, f32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/type1/utils.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | n2 [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/type1/utils.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 51 | let n2 = n1.ceil_log_2_abs() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: method is never used: `from_i32_old` [INFO] [stderr] --> src/type1/unum.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | fn from_i32_old(n: i32) -> Unum { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:42:62 [INFO] [stderr] | [INFO] [stderr] 42 | let mut y : f64 = n_f64.abs() / (2_f64).powi(n.floor_log_2_abs() as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [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 i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:45:84 [INFO] [stderr] | [INFO] [stderr] 45 | println!("(2_f64).powi(floor_log_2_abs_i32(n)) = {}", (2_f64).powi(n.floor_log_2_abs() as i32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [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: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/unum.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | while y.floor() != y && counter < (E::f_size_size() as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(y.floor() - y).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/type1/unum.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | while y.floor() != y && counter < (E::f_size_size() as i32) { [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/type1/unum.rs:55:20 [INFO] [stderr] | [INFO] [stderr] 55 | if y == y.floor() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(y - y.floor()).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/unum.rs:55:20 [INFO] [stderr] | [INFO] [stderr] 55 | if y == y.floor() { [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: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:60:36 [INFO] [stderr] | [INFO] [stderr] 60 | exp_bits: ((n.floor_log_2_abs() as i32) + 2_i32.pow((n.min_exp_bits() as u32) - 1) -1) as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [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 i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 101 | FromIntForUnum!(usize); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 102 | FromIntForUnum!(u8); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 102 | FromIntForUnum!(u8); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 103 | FromIntForUnum!(u16); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 103 | FromIntForUnum!(u16); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 104 | FromIntForUnum!(u32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 104 | FromIntForUnum!(u32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 105 | FromIntForUnum!(u64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 107 | FromIntForUnum!(isize); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 108 | FromIntForUnum!(i8); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 108 | FromIntForUnum!(i8); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 109 | FromIntForUnum!(i16); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 109 | FromIntForUnum!(i16); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 110 | FromIntForUnum!(i32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 110 | FromIntForUnum!(i32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 111 | FromIntForUnum!(i64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/unum.rs:121:26 [INFO] [stderr] | [INFO] [stderr] 121 | _ if n == f_zero => Unum::zero(), [INFO] [stderr] | ^^^^^^^^^^^ help: consider comparing them within some error: `(n - f_zero).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 143 | FromFloatForUnum!(f32); [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/unum.rs:121:26 [INFO] [stderr] | [INFO] [stderr] 121 | _ if n == f_zero => Unum::zero(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 143 | FromFloatForUnum!(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] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:125:39 [INFO] [stderr] | [INFO] [stderr] 125 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 143 | FromFloatForUnum!(f32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:119:30 [INFO] [stderr] | [INFO] [stderr] 119 | let f_zero = 0 as $T; [INFO] [stderr] | ^ help: try: `f64::from(0)` [INFO] [stderr] ... [INFO] [stderr] 144 | FromFloatForUnum!(f64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/unum.rs:121:26 [INFO] [stderr] | [INFO] [stderr] 121 | _ if n == f_zero => Unum::zero(), [INFO] [stderr] | ^^^^^^^^^^^ help: consider comparing them within some error: `(n - f_zero).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 144 | FromFloatForUnum!(f64); [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/unum.rs:121:26 [INFO] [stderr] | [INFO] [stderr] 121 | _ if n == f_zero => Unum::zero(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 144 | FromFloatForUnum!(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] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:125:39 [INFO] [stderr] | [INFO] [stderr] 125 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 144 | FromFloatForUnum!(f64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/utils.rs:47:43 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self - (0 as $T)).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 126 | ImplIntToUnumHelpers!(f32, f32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/utils.rs:47:43 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | ImplIntToUnumHelpers!(f32, f32::abs); [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] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:21:41 [INFO] [stderr] | [INFO] [stderr] 21 | let mut comp_val : $T = 2 as $T; [INFO] [stderr] | ^ help: try: `f64::from(2)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:27:33 [INFO] [stderr] | [INFO] [stderr] 27 | comp_val *= 2 as $T; [INFO] [stderr] | ^ help: try: `f64::from(2)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | let mut comp_val : $T = 1 as $T; [INFO] [stderr] | ^ help: try: `f64::from(1)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:40:33 [INFO] [stderr] | [INFO] [stderr] 40 | comp_val *= 2 as $T; [INFO] [stderr] | ^ help: try: `f64::from(2)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/utils.rs:47:43 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self - (0 as $T)).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/utils.rs:47:43 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:47:51 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(0)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `unums`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:42:62 [INFO] [stderr] | [INFO] [stderr] 42 | let mut y : f64 = n_f64.abs() / (2_f64).powi(n.floor_log_2_abs() as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [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 i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:45:84 [INFO] [stderr] | [INFO] [stderr] 45 | println!("(2_f64).powi(floor_log_2_abs_i32(n)) = {}", (2_f64).powi(n.floor_log_2_abs() as i32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [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: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/unum.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | while y.floor() != y && counter < (E::f_size_size() as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(y.floor() - y).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/type1/unum.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | while y.floor() != y && counter < (E::f_size_size() as i32) { [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/type1/unum.rs:55:20 [INFO] [stderr] | [INFO] [stderr] 55 | if y == y.floor() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(y - y.floor()).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/unum.rs:55:20 [INFO] [stderr] | [INFO] [stderr] 55 | if y == y.floor() { [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: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:60:36 [INFO] [stderr] | [INFO] [stderr] 60 | exp_bits: ((n.floor_log_2_abs() as i32) + 2_i32.pow((n.min_exp_bits() as u32) - 1) -1) as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [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 i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 101 | FromIntForUnum!(usize); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 102 | FromIntForUnum!(u8); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 102 | FromIntForUnum!(u8); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 103 | FromIntForUnum!(u16); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 103 | FromIntForUnum!(u16); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 104 | FromIntForUnum!(u32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 104 | FromIntForUnum!(u32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 105 | FromIntForUnum!(u64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 107 | FromIntForUnum!(isize); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 108 | FromIntForUnum!(i8); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 108 | FromIntForUnum!(i8); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 109 | FromIntForUnum!(i16); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 109 | FromIntForUnum!(i16); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 110 | FromIntForUnum!(i32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:84:43 [INFO] [stderr] | [INFO] [stderr] 84 | let y_int : i64 = n.abs_val() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(n.abs_val())` [INFO] [stderr] ... [INFO] [stderr] 110 | FromIntForUnum!(i32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:83:39 [INFO] [stderr] | [INFO] [stderr] 83 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 111 | FromIntForUnum!(i64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/unum.rs:121:26 [INFO] [stderr] | [INFO] [stderr] 121 | _ if n == f_zero => Unum::zero(), [INFO] [stderr] | ^^^^^^^^^^^ help: consider comparing them within some error: `(n - f_zero).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 143 | FromFloatForUnum!(f32); [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/unum.rs:121:26 [INFO] [stderr] | [INFO] [stderr] 121 | _ if n == f_zero => Unum::zero(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 143 | FromFloatForUnum!(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] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:125:39 [INFO] [stderr] | [INFO] [stderr] 125 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 143 | FromFloatForUnum!(f32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:119:30 [INFO] [stderr] | [INFO] [stderr] 119 | let f_zero = 0 as $T; [INFO] [stderr] | ^ help: try: `f64::from(0)` [INFO] [stderr] ... [INFO] [stderr] 144 | FromFloatForUnum!(f64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/unum.rs:121:26 [INFO] [stderr] | [INFO] [stderr] 121 | _ if n == f_zero => Unum::zero(), [INFO] [stderr] | ^^^^^^^^^^^ help: consider comparing them within some error: `(n - f_zero).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 144 | FromFloatForUnum!(f64); [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/unum.rs:121:26 [INFO] [stderr] | [INFO] [stderr] 121 | _ if n == f_zero => Unum::zero(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 144 | FromFloatForUnum!(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] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/type1/unum.rs:125:39 [INFO] [stderr] | [INFO] [stderr] 125 | let counter = n.floor_log_2_abs() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(n.floor_log_2_abs())` [INFO] [stderr] ... [INFO] [stderr] 144 | FromFloatForUnum!(f64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/utils.rs:47:43 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self - (0 as $T)).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 126 | ImplIntToUnumHelpers!(f32, f32::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/utils.rs:47:43 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | ImplIntToUnumHelpers!(f32, f32::abs); [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] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:21:41 [INFO] [stderr] | [INFO] [stderr] 21 | let mut comp_val : $T = 2 as $T; [INFO] [stderr] | ^ help: try: `f64::from(2)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:27:33 [INFO] [stderr] | [INFO] [stderr] 27 | comp_val *= 2 as $T; [INFO] [stderr] | ^ help: try: `f64::from(2)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | let mut comp_val : $T = 1 as $T; [INFO] [stderr] | ^ help: try: `f64::from(1)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:40:33 [INFO] [stderr] | [INFO] [stderr] 40 | comp_val *= 2 as $T; [INFO] [stderr] | ^ help: try: `f64::from(2)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/type1/utils.rs:47:43 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self - (0 as $T)).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/type1/utils.rs:47:43 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/type1/utils.rs:47:51 [INFO] [stderr] | [INFO] [stderr] 47 | if self_abs_log_2 == 1 || self == (0 as $T) { [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(0)` [INFO] [stderr] ... [INFO] [stderr] 127 | ImplIntToUnumHelpers!(f64, f64::abs); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `unums`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b196025de1c08985159ea278e0762afc11c1f538ddbbb99ae6988703391098c3"` [INFO] running `"docker" "rm" "-f" "b196025de1c08985159ea278e0762afc11c1f538ddbbb99ae6988703391098c3"` [INFO] [stdout] b196025de1c08985159ea278e0762afc11c1f538ddbbb99ae6988703391098c3