[INFO] fetching crate format_num 0.1.0... [INFO] linting format_num-0.1.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate format_num 0.1.0 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate format_num 0.1.0 [INFO] finished tweaking crates.io crate format_num 0.1.0 [INFO] tweaked toml for crates.io crate format_num 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate format_num 0.1.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate format_num 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded regex v1.3.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 92625d2b4e297defee34c705753793e74a0446e91058e1b4a1880784180d9e0b [INFO] running `Command { std: "docker" "start" "-a" "92625d2b4e297defee34c705753793e74a0446e91058e1b4a1880784180d9e0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "92625d2b4e297defee34c705753793e74a0446e91058e1b4a1880784180d9e0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92625d2b4e297defee34c705753793e74a0446e91058e1b4a1880784180d9e0b", kill_on_drop: false }` [INFO] [stdout] 92625d2b4e297defee34c705753793e74a0446e91058e1b4a1880784180d9e0b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 804a5d5e884d4754a11254bd5603c2bd6b1ee7b6e04eef31bf65d5e2f1c1c000 [INFO] running `Command { std: "docker" "start" "-a" "804a5d5e884d4754a11254bd5603c2bd6b1ee7b6e04eef31bf65d5e2f1c1c000", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Checking regex-syntax v0.6.17 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking aho-corasick v0.7.10 [INFO] [stderr] Checking regex v1.3.6 [INFO] [stderr] Checking format_num v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: you should consider adding a `Default` implementation for `NumberFormat` [INFO] [stdout] --> src/lib.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | / pub fn new() -> Self { [INFO] [stdout] 199 | | Self { [INFO] [stdout] 200 | | decimal: '.', [INFO] [stdout] 201 | | group_delimiter: ',', [INFO] [stdout] 202 | | } [INFO] [stdout] 203 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 196 + impl Default for NumberFormat { [INFO] [stdout] 197 + fn default() -> Self { [INFO] [stdout] 198 + Self::new() [INFO] [stdout] 199 + } [INFO] [stdout] 200 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `significant_digits` after checking its variant with `is_some` [INFO] [stdout] --> src/lib.rs:243:32 [INFO] [stdout] | [INFO] [stdout] 242 | let formatted_value = if significant_digits.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = significant_digits` [INFO] [stdout] 243 | let precision = if significant_digits.unwrap() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `significant_digits` after checking its variant with `is_some` [INFO] [stdout] --> src/lib.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 242 | let formatted_value = if significant_digits.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = significant_digits` [INFO] [stdout] ... [INFO] [stdout] 246 | significant_digits.unwrap() - 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/lib.rs:280:31 [INFO] [stdout] | [INFO] [stdout] 280 | let prefix_exponent = max(-8, min(8, (exponent as f32 / 3_f32).floor() as isize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `((exponent as f32 / 3_f32).floor() as isize).clamp(-8, 8)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `str::repeat` using iterators [INFO] [stdout] --> src/lib.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | repeat("0").take((i - n) as usize).collect::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"0".repeat((i - n) as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_str_repeat [INFO] [stdout] = note: `#[warn(clippy::manual_str_repeat)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/lib.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | repeat("0").take((i - n) as usize).collect::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n("0", (i - n) as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `str::repeat` using iterators [INFO] [stdout] --> src/lib.rs:311:21 [INFO] [stdout] | [INFO] [stdout] 311 | repeat("0").take(i.abs() as usize).collect::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"0".repeat(i.abs() as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_str_repeat [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/lib.rs:311:21 [INFO] [stdout] | [INFO] [stdout] 311 | repeat("0").take(i.abs() as usize).collect::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n("0", i.abs() as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `isize::abs()` to usize [INFO] [stdout] --> src/lib.rs:311:38 [INFO] [stdout] | [INFO] [stdout] 311 | repeat("0").take(i.abs() as usize).collect::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace with: `i.unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] = note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:534:16 [INFO] [stdout] | [INFO] [stdout] 534 | if !"0123456789".find(c).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"0123456789".find(c).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::iter::Enumerate>` [INFO] [stdout] --> src/lib.rs:532:25 [INFO] [stdout] | [INFO] [stdout] 532 | let mut chars = value.chars().enumerate().into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `value.chars().enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/lib.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 533 | while let Some((i, c)) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for (i, c) in chars` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/lib.rs:566:20 [INFO] [stdout] | [INFO] [stdout] 566 | if padding.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!padding.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `NumberFormat` [INFO] [stdout] --> src/lib.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | / pub fn new() -> Self { [INFO] [stdout] 199 | | Self { [INFO] [stdout] 200 | | decimal: '.', [INFO] [stdout] 201 | | group_delimiter: ',', [INFO] [stdout] 202 | | } [INFO] [stdout] 203 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 196 + impl Default for NumberFormat { [INFO] [stdout] 197 + fn default() -> Self { [INFO] [stdout] 198 + Self::new() [INFO] [stdout] 199 + } [INFO] [stdout] 200 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `significant_digits` after checking its variant with `is_some` [INFO] [stdout] --> src/lib.rs:243:32 [INFO] [stdout] | [INFO] [stdout] 242 | let formatted_value = if significant_digits.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = significant_digits` [INFO] [stdout] 243 | let precision = if significant_digits.unwrap() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `significant_digits` after checking its variant with `is_some` [INFO] [stdout] --> src/lib.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 242 | let formatted_value = if significant_digits.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = significant_digits` [INFO] [stdout] ... [INFO] [stdout] 246 | significant_digits.unwrap() - 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/lib.rs:280:31 [INFO] [stdout] | [INFO] [stdout] 280 | let prefix_exponent = max(-8, min(8, (exponent as f32 / 3_f32).floor() as isize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `((exponent as f32 / 3_f32).floor() as isize).clamp(-8, 8)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `str::repeat` using iterators [INFO] [stdout] --> src/lib.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | repeat("0").take((i - n) as usize).collect::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"0".repeat((i - n) as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_str_repeat [INFO] [stdout] = note: `#[warn(clippy::manual_str_repeat)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/lib.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | repeat("0").take((i - n) as usize).collect::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n("0", (i - n) as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `str::repeat` using iterators [INFO] [stdout] --> src/lib.rs:311:21 [INFO] [stdout] | [INFO] [stdout] 311 | repeat("0").take(i.abs() as usize).collect::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"0".repeat(i.abs() as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_str_repeat [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/lib.rs:311:21 [INFO] [stdout] | [INFO] [stdout] 311 | repeat("0").take(i.abs() as usize).collect::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `repeat_n()` instead: `std::iter::repeat_n("0", i.abs() as usize)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `isize::abs()` to usize [INFO] [stdout] --> src/lib.rs:311:38 [INFO] [stdout] | [INFO] [stdout] 311 | repeat("0").take(i.abs() as usize).collect::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace with: `i.unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] = note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:534:16 [INFO] [stdout] | [INFO] [stdout] 534 | if !"0123456789".find(c).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"0123456789".find(c).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::iter::Enumerate>` [INFO] [stdout] --> src/lib.rs:532:25 [INFO] [stdout] | [INFO] [stdout] 532 | let mut chars = value.chars().enumerate().into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `value.chars().enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/lib.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 533 | while let Some((i, c)) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for (i, c) in chars` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/lib.rs:566:20 [INFO] [stdout] | [INFO] [stdout] 566 | if padding.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!padding.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:709:31 [INFO] [stdout] | [INFO] [stdout] 709 | num.format(".0f", 9.9999999999999987e+49), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] = note: `#[warn(clippy::excessive_precision)]` on by default [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 709 - num.format(".0f", 9.9999999999999987e+49), [INFO] [stdout] 709 + num.format(".0f", 9.999_999_999_999_999e49), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: float has excessive precision [INFO] [stdout] --> src/lib.rs:1085:38 [INFO] [stdout] | [INFO] [stdout] 1085 | assert_eq!(num.format(".3s", 145999999.999999347), "146M"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stdout] help: consider changing the type or truncating it to [INFO] [stdout] | [INFO] [stdout] 1085 - assert_eq!(num.format(".3s", 145999999.999999347), "146M"); [INFO] [stdout] 1085 + assert_eq!(num.format(".3s", 145_999_999.999_999_34), "146M"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.75s [INFO] running `Command { std: "docker" "inspect" "804a5d5e884d4754a11254bd5603c2bd6b1ee7b6e04eef31bf65d5e2f1c1c000", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "804a5d5e884d4754a11254bd5603c2bd6b1ee7b6e04eef31bf65d5e2f1c1c000", kill_on_drop: false }` [INFO] [stdout] 804a5d5e884d4754a11254bd5603c2bd6b1ee7b6e04eef31bf65d5e2f1c1c000