[INFO] fetching crate shifty 0.1.7... [INFO] linting shifty-0.1.7 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate shifty 0.1.7 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate shifty 0.1.7 [INFO] finished tweaking crates.io crate shifty 0.1.7 [INFO] tweaked toml for crates.io crate shifty 0.1.7 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate shifty 0.1.7 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 shifty 0.1.7 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 serde_derive v1.0.198 [INFO] [stderr] Downloaded directories v5.0.1 [INFO] [stderr] Downloaded cc v1.0.94 [INFO] [stderr] Downloaded serde v1.0.198 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 515cecebb9bf19c492d05e77eacf55bf8dbdb4ad7a1ca6457b7026a9de10c6e5 [INFO] running `Command { std: "docker" "start" "-a" "515cecebb9bf19c492d05e77eacf55bf8dbdb4ad7a1ca6457b7026a9de10c6e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "515cecebb9bf19c492d05e77eacf55bf8dbdb4ad7a1ca6457b7026a9de10c6e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "515cecebb9bf19c492d05e77eacf55bf8dbdb4ad7a1ca6457b7026a9de10c6e5", kill_on_drop: false }` [INFO] [stdout] 515cecebb9bf19c492d05e77eacf55bf8dbdb4ad7a1ca6457b7026a9de10c6e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 2af4b8cf8ee7abda430a6dd5143dcba33cdc342adcac68c1ec5b2bd7df5c73f6 [INFO] running `Command { std: "docker" "start" "-a" "2af4b8cf8ee7abda430a6dd5143dcba33cdc342adcac68c1ec5b2bd7df5c73f6", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Compiling serde v1.0.198 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Compiling serde_json v1.0.116 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking clap_lex v0.7.0 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Checking csv-core v0.1.11 [INFO] [stderr] Checking clap_builder v4.5.2 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking directories v5.0.1 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Compiling serde_derive v1.0.198 [INFO] [stderr] Compiling clap_derive v4.5.4 [INFO] [stderr] Checking clap v4.5.4 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking shifty v0.1.7 (/opt/rustwide/workdir) [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | / return format!( [INFO] [stdout] 110 | | "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}\n\nTotal Income after Tax:\n{}", [INFO] [stdout] 111 | | shifts_formatted, [INFO] [stdout] 112 | | self.shifts.len(), [INFO] [stdout] ... | [INFO] [stdout] 115 | | format_money(money_sum_after_tax, &config.currency) [INFO] [stdout] 116 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 ~ format!( [INFO] [stdout] 110 + "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}\n\nTotal Income after Tax:\n{}", [INFO] [stdout] 111 + shifts_formatted, [INFO] [stdout] 112 + self.shifts.len(), [INFO] [stdout] 113 + hours_sum_formatted, [INFO] [stdout] 114 + format_money(money_sum, &config.currency), [INFO] [stdout] 115 + format_money(money_sum_after_tax, &config.currency) [INFO] [stdout] 116 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | / return format!( [INFO] [stdout] 119 | | "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}", [INFO] [stdout] 120 | | shifts_formatted, [INFO] [stdout] 121 | | self.shifts.len().to_string().yellow(), [INFO] [stdout] 122 | | hours_sum_formatted.to_string().yellow(), [INFO] [stdout] 123 | | format_money(money_sum, &config.currency), [INFO] [stdout] 124 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 ~ format!( [INFO] [stdout] 119 + "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}", [INFO] [stdout] 120 + shifts_formatted, [INFO] [stdout] 121 + self.shifts.len().to_string().yellow(), [INFO] [stdout] 122 + hours_sum_formatted.to_string().yellow(), [INFO] [stdout] 123 + format_money(money_sum, &config.currency), [INFO] [stdout] 124 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/shifts.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | let rate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `rate` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 95 ~ [INFO] [stdout] 96 ~ let rate = if v.premium == 0. { [INFO] [stdout] 97 ~ config.rate [INFO] [stdout] 98 | } else { [INFO] [stdout] 99 ~ config.rate * v.premium [INFO] [stdout] 100 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/shifts.rs:101:48 [INFO] [stdout] | [INFO] [stdout] 101 | money_sum += (v.time * rate) - config.cost_per_shift as f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `config.cost_per_shift` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | / return format!( [INFO] [stdout] 191 | | "Months: {{{}\n}}\n\nAvrage Salary:\n{}\n\nAvrage shift:\n Time: {}\n Income: {}{}", [INFO] [stdout] 192 | | salaries_formatted.join("\n"), [INFO] [stdout] 193 | | avg_salary.format(config.clone()), [INFO] [stdout] ... | [INFO] [stdout] 196 | | shift_money_after_tax_avg_formatted, [INFO] [stdout] 197 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 ~ format!( [INFO] [stdout] 191 + "Months: {{{}\n}}\n\nAvrage Salary:\n{}\n\nAvrage shift:\n Time: {}\n Income: {}{}", [INFO] [stdout] 192 + salaries_formatted.join("\n"), [INFO] [stdout] 193 + avg_salary.format(config.clone()), [INFO] [stdout] 194 + format_time(shift_hours_avg).yellow(), [INFO] [stdout] 195 + format_money(shift_money_avg, &config.currency), [INFO] [stdout] 196 + shift_money_after_tax_avg_formatted, [INFO] [stdout] 197 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | / return format!( [INFO] [stdout] 242 | | "{} Total Hours: {}\n Total Income: {}{}", [INFO] [stdout] 243 | | date, [INFO] [stdout] 244 | | format_time(self.hours), [INFO] [stdout] 245 | | format_money(self.income, &config.currency), [INFO] [stdout] 246 | | income_after_tax [INFO] [stdout] 247 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 241 ~ format!( [INFO] [stdout] 242 + "{} Total Hours: {}\n Total Income: {}{}", [INFO] [stdout] 243 + date, [INFO] [stdout] 244 + format_time(self.hours), [INFO] [stdout] 245 + format_money(self.income, &config.currency), [INFO] [stdout] 246 + income_after_tax [INFO] [stdout] 247 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | format!("{}", shifts.format(config)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.format(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `args.date` after checking its variant with `is_some` [INFO] [stdout] --> src/utils.rs:63:23 [INFO] [stdout] | [INFO] [stdout] 62 | if args.date.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = &args.date` [INFO] [stdout] 63 | slash_count = args [INFO] [stdout] | _______________________^ [INFO] [stdout] 64 | | .date [INFO] [stdout] 65 | | .as_ref() [INFO] [stdout] 66 | | .unwrap() [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: unneeded `return` statement [INFO] [stdout] --> src/utils.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | return format!("{}", shifts.format(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 - return format!("{}", shifts.format(config)); [INFO] [stdout] 93 + format!("{}", shifts.format(config)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | return format!("{}", shifts.shifts[0].format_and_calc(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.shifts[0].format_and_calc(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | return format!("{}", shifts.format(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.format(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return Ok(date_parsed.format("%d/%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return Ok(date_parsed.format("%d/%m/%Y").to_string()); [INFO] [stdout] 16 + Ok(date_parsed.format("%d/%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(Utc::now().format("%d/%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - return Ok(Utc::now().format("%d/%m/%Y").to_string()); [INFO] [stdout] 18 + Ok(Utc::now().format("%d/%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | return Ok(0.); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - return Ok(0.); [INFO] [stdout] 24 + Ok(0.) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | return Ok(premium / 100.); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - return Ok(premium / 100.); [INFO] [stdout] 26 + Ok(premium / 100.) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | return Ok(date); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return Ok(date); [INFO] [stdout] 46 + Ok(date) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return Ok(Utc::now().format("%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return Ok(Utc::now().format("%m/%Y").to_string()); [INFO] [stdout] 48 + Ok(Utc::now().format("%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/formaters.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | return format!("{}:{}", hours.floor(), minute_remainder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 8 - return format!("{}:{}", hours.floor(), minute_remainder); [INFO] [stdout] 8 + format!("{}:{}", hours.floor(), minute_remainder) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | / return format!( [INFO] [stdout] 110 | | "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}\n\nTotal Income after Tax:\n{}", [INFO] [stdout] 111 | | shifts_formatted, [INFO] [stdout] 112 | | self.shifts.len(), [INFO] [stdout] ... | [INFO] [stdout] 115 | | format_money(money_sum_after_tax, &config.currency) [INFO] [stdout] 116 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 ~ format!( [INFO] [stdout] 110 + "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}\n\nTotal Income after Tax:\n{}", [INFO] [stdout] 111 + shifts_formatted, [INFO] [stdout] 112 + self.shifts.len(), [INFO] [stdout] 113 + hours_sum_formatted, [INFO] [stdout] 114 + format_money(money_sum, &config.currency), [INFO] [stdout] 115 + format_money(money_sum_after_tax, &config.currency) [INFO] [stdout] 116 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | / return format!( [INFO] [stdout] 119 | | "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}", [INFO] [stdout] 120 | | shifts_formatted, [INFO] [stdout] 121 | | self.shifts.len().to_string().yellow(), [INFO] [stdout] 122 | | hours_sum_formatted.to_string().yellow(), [INFO] [stdout] 123 | | format_money(money_sum, &config.currency), [INFO] [stdout] 124 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 ~ format!( [INFO] [stdout] 119 + "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}", [INFO] [stdout] 120 + shifts_formatted, [INFO] [stdout] 121 + self.shifts.len().to_string().yellow(), [INFO] [stdout] 122 + hours_sum_formatted.to_string().yellow(), [INFO] [stdout] 123 + format_money(money_sum, &config.currency), [INFO] [stdout] 124 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/shifts.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | let rate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `rate` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 95 ~ [INFO] [stdout] 96 ~ let rate = if v.premium == 0. { [INFO] [stdout] 97 ~ config.rate [INFO] [stdout] 98 | } else { [INFO] [stdout] 99 ~ config.rate * v.premium [INFO] [stdout] 100 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/shifts.rs:101:48 [INFO] [stdout] | [INFO] [stdout] 101 | money_sum += (v.time * rate) - config.cost_per_shift as f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `config.cost_per_shift` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | / return format!( [INFO] [stdout] 191 | | "Months: {{{}\n}}\n\nAvrage Salary:\n{}\n\nAvrage shift:\n Time: {}\n Income: {}{}", [INFO] [stdout] 192 | | salaries_formatted.join("\n"), [INFO] [stdout] 193 | | avg_salary.format(config.clone()), [INFO] [stdout] ... | [INFO] [stdout] 196 | | shift_money_after_tax_avg_formatted, [INFO] [stdout] 197 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 ~ format!( [INFO] [stdout] 191 + "Months: {{{}\n}}\n\nAvrage Salary:\n{}\n\nAvrage shift:\n Time: {}\n Income: {}{}", [INFO] [stdout] 192 + salaries_formatted.join("\n"), [INFO] [stdout] 193 + avg_salary.format(config.clone()), [INFO] [stdout] 194 + format_time(shift_hours_avg).yellow(), [INFO] [stdout] 195 + format_money(shift_money_avg, &config.currency), [INFO] [stdout] 196 + shift_money_after_tax_avg_formatted, [INFO] [stdout] 197 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | / return format!( [INFO] [stdout] 242 | | "{} Total Hours: {}\n Total Income: {}{}", [INFO] [stdout] 243 | | date, [INFO] [stdout] 244 | | format_time(self.hours), [INFO] [stdout] 245 | | format_money(self.income, &config.currency), [INFO] [stdout] 246 | | income_after_tax [INFO] [stdout] 247 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 241 ~ format!( [INFO] [stdout] 242 + "{} Total Hours: {}\n Total Income: {}{}", [INFO] [stdout] 243 + date, [INFO] [stdout] 244 + format_time(self.hours), [INFO] [stdout] 245 + format_money(self.income, &config.currency), [INFO] [stdout] 246 + income_after_tax [INFO] [stdout] 247 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | format!("{}", shifts.format(config)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.format(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `args.date` after checking its variant with `is_some` [INFO] [stdout] --> src/utils.rs:63:23 [INFO] [stdout] | [INFO] [stdout] 62 | if args.date.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = &args.date` [INFO] [stdout] 63 | slash_count = args [INFO] [stdout] | _______________________^ [INFO] [stdout] 64 | | .date [INFO] [stdout] 65 | | .as_ref() [INFO] [stdout] 66 | | .unwrap() [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: unneeded `return` statement [INFO] [stdout] --> src/utils.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | return format!("{}", shifts.format(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 - return format!("{}", shifts.format(config)); [INFO] [stdout] 93 + format!("{}", shifts.format(config)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | return format!("{}", shifts.shifts[0].format_and_calc(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.shifts[0].format_and_calc(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | return format!("{}", shifts.format(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.format(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return Ok(date_parsed.format("%d/%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return Ok(date_parsed.format("%d/%m/%Y").to_string()); [INFO] [stdout] 16 + Ok(date_parsed.format("%d/%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(Utc::now().format("%d/%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - return Ok(Utc::now().format("%d/%m/%Y").to_string()); [INFO] [stdout] 18 + Ok(Utc::now().format("%d/%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | return Ok(0.); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - return Ok(0.); [INFO] [stdout] 24 + Ok(0.) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | return Ok(premium / 100.); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - return Ok(premium / 100.); [INFO] [stdout] 26 + Ok(premium / 100.) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | return Ok(date); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return Ok(date); [INFO] [stdout] 46 + Ok(date) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return Ok(Utc::now().format("%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return Ok(Utc::now().format("%m/%Y").to_string()); [INFO] [stdout] 48 + Ok(Utc::now().format("%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/formaters.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | return format!("{}:{}", hours.floor(), minute_remainder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 8 - return format!("{}:{}", hours.floor(), minute_remainder); [INFO] [stdout] 8 + format!("{}:{}", hours.floor(), minute_remainder) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return Ok(date_parsed.format("%d/%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return Ok(date_parsed.format("%d/%m/%Y").to_string()); [INFO] [stdout] 16 + Ok(date_parsed.format("%d/%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(Utc::now().format("%d/%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - return Ok(Utc::now().format("%d/%m/%Y").to_string()); [INFO] [stdout] 18 + Ok(Utc::now().format("%d/%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | return Ok(0.); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - return Ok(0.); [INFO] [stdout] 24 + Ok(0.) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | return Ok(premium / 100.); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - return Ok(premium / 100.); [INFO] [stdout] 26 + Ok(premium / 100.) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return Ok(date_parsed.format("%d/%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return Ok(date_parsed.format("%d/%m/%Y").to_string()); [INFO] [stdout] 16 + Ok(date_parsed.format("%d/%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(Utc::now().format("%d/%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - return Ok(Utc::now().format("%d/%m/%Y").to_string()); [INFO] [stdout] 18 + Ok(Utc::now().format("%d/%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | return Ok(0.); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - return Ok(0.); [INFO] [stdout] 24 + Ok(0.) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | return Ok(premium / 100.); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - return Ok(premium / 100.); [INFO] [stdout] 26 + Ok(premium / 100.) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | return Ok(date); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return Ok(date); [INFO] [stdout] 46 + Ok(date) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | return Ok(date); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return Ok(date); [INFO] [stdout] 46 + Ok(date) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return Ok(Utc::now().format("%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return Ok(Utc::now().format("%m/%Y").to_string()); [INFO] [stdout] 48 + Ok(Utc::now().format("%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parse.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return Ok(Utc::now().format("%m/%Y").to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return Ok(Utc::now().format("%m/%Y").to_string()); [INFO] [stdout] 48 + Ok(Utc::now().format("%m/%Y").to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | / return format!( [INFO] [stdout] 110 | | "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}\n\nTotal Income after Tax:\n{}", [INFO] [stdout] 111 | | shifts_formatted, [INFO] [stdout] 112 | | self.shifts.len(), [INFO] [stdout] ... | [INFO] [stdout] 115 | | format_money(money_sum_after_tax, &config.currency) [INFO] [stdout] 116 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 ~ format!( [INFO] [stdout] 110 + "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}\n\nTotal Income after Tax:\n{}", [INFO] [stdout] 111 + shifts_formatted, [INFO] [stdout] 112 + self.shifts.len(), [INFO] [stdout] 113 + hours_sum_formatted, [INFO] [stdout] 114 + format_money(money_sum, &config.currency), [INFO] [stdout] 115 + format_money(money_sum_after_tax, &config.currency) [INFO] [stdout] 116 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | / return format!( [INFO] [stdout] 110 | | "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}\n\nTotal Income after Tax:\n{}", [INFO] [stdout] 111 | | shifts_formatted, [INFO] [stdout] 112 | | self.shifts.len(), [INFO] [stdout] ... | [INFO] [stdout] 115 | | format_money(money_sum_after_tax, &config.currency) [INFO] [stdout] 116 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 ~ format!( [INFO] [stdout] 110 + "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}\n\nTotal Income after Tax:\n{}", [INFO] [stdout] 111 + shifts_formatted, [INFO] [stdout] 112 + self.shifts.len(), [INFO] [stdout] 113 + hours_sum_formatted, [INFO] [stdout] 114 + format_money(money_sum, &config.currency), [INFO] [stdout] 115 + format_money(money_sum_after_tax, &config.currency) [INFO] [stdout] 116 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | / return format!( [INFO] [stdout] 119 | | "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}", [INFO] [stdout] 120 | | shifts_formatted, [INFO] [stdout] 121 | | self.shifts.len().to_string().yellow(), [INFO] [stdout] 122 | | hours_sum_formatted.to_string().yellow(), [INFO] [stdout] 123 | | format_money(money_sum, &config.currency), [INFO] [stdout] 124 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 ~ format!( [INFO] [stdout] 119 + "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}", [INFO] [stdout] 120 + shifts_formatted, [INFO] [stdout] 121 + self.shifts.len().to_string().yellow(), [INFO] [stdout] 122 + hours_sum_formatted.to_string().yellow(), [INFO] [stdout] 123 + format_money(money_sum, &config.currency), [INFO] [stdout] 124 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/shifts.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | let rate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `rate` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 95 ~ [INFO] [stdout] 96 ~ let rate = if v.premium == 0. { [INFO] [stdout] 97 ~ config.rate [INFO] [stdout] 98 | } else { [INFO] [stdout] 99 ~ config.rate * v.premium [INFO] [stdout] 100 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | / return format!( [INFO] [stdout] 119 | | "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}", [INFO] [stdout] 120 | | shifts_formatted, [INFO] [stdout] 121 | | self.shifts.len().to_string().yellow(), [INFO] [stdout] 122 | | hours_sum_formatted.to_string().yellow(), [INFO] [stdout] 123 | | format_money(money_sum, &config.currency), [INFO] [stdout] 124 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 ~ format!( [INFO] [stdout] 119 + "Shifts: {{\n{}}}\n\nTotal shifts:\n{}\n\nTotal hours:\n{}\n\nTotal Income:\n{}", [INFO] [stdout] 120 + shifts_formatted, [INFO] [stdout] 121 + self.shifts.len().to_string().yellow(), [INFO] [stdout] 122 + hours_sum_formatted.to_string().yellow(), [INFO] [stdout] 123 + format_money(money_sum, &config.currency), [INFO] [stdout] 124 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/shifts.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | let rate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `rate` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 95 ~ [INFO] [stdout] 96 ~ let rate = if v.premium == 0. { [INFO] [stdout] 97 ~ config.rate [INFO] [stdout] 98 | } else { [INFO] [stdout] 99 ~ config.rate * v.premium [INFO] [stdout] 100 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/shifts.rs:101:48 [INFO] [stdout] | [INFO] [stdout] 101 | money_sum += (v.time * rate) - config.cost_per_shift as f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `config.cost_per_shift` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/shifts.rs:101:48 [INFO] [stdout] | [INFO] [stdout] 101 | money_sum += (v.time * rate) - config.cost_per_shift as f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `config.cost_per_shift` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | / return format!( [INFO] [stdout] 191 | | "Months: {{{}\n}}\n\nAvrage Salary:\n{}\n\nAvrage shift:\n Time: {}\n Income: {}{}", [INFO] [stdout] 192 | | salaries_formatted.join("\n"), [INFO] [stdout] 193 | | avg_salary.format(config.clone()), [INFO] [stdout] ... | [INFO] [stdout] 196 | | shift_money_after_tax_avg_formatted, [INFO] [stdout] 197 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 ~ format!( [INFO] [stdout] 191 + "Months: {{{}\n}}\n\nAvrage Salary:\n{}\n\nAvrage shift:\n Time: {}\n Income: {}{}", [INFO] [stdout] 192 + salaries_formatted.join("\n"), [INFO] [stdout] 193 + avg_salary.format(config.clone()), [INFO] [stdout] 194 + format_time(shift_hours_avg).yellow(), [INFO] [stdout] 195 + format_money(shift_money_avg, &config.currency), [INFO] [stdout] 196 + shift_money_after_tax_avg_formatted, [INFO] [stdout] 197 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | / return format!( [INFO] [stdout] 191 | | "Months: {{{}\n}}\n\nAvrage Salary:\n{}\n\nAvrage shift:\n Time: {}\n Income: {}{}", [INFO] [stdout] 192 | | salaries_formatted.join("\n"), [INFO] [stdout] 193 | | avg_salary.format(config.clone()), [INFO] [stdout] ... | [INFO] [stdout] 196 | | shift_money_after_tax_avg_formatted, [INFO] [stdout] 197 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 ~ format!( [INFO] [stdout] 191 + "Months: {{{}\n}}\n\nAvrage Salary:\n{}\n\nAvrage shift:\n Time: {}\n Income: {}{}", [INFO] [stdout] 192 + salaries_formatted.join("\n"), [INFO] [stdout] 193 + avg_salary.format(config.clone()), [INFO] [stdout] 194 + format_time(shift_hours_avg).yellow(), [INFO] [stdout] 195 + format_money(shift_money_avg, &config.currency), [INFO] [stdout] 196 + shift_money_after_tax_avg_formatted, [INFO] [stdout] 197 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | / return format!( [INFO] [stdout] 242 | | "{} Total Hours: {}\n Total Income: {}{}", [INFO] [stdout] 243 | | date, [INFO] [stdout] 244 | | format_time(self.hours), [INFO] [stdout] 245 | | format_money(self.income, &config.currency), [INFO] [stdout] 246 | | income_after_tax [INFO] [stdout] 247 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 241 ~ format!( [INFO] [stdout] 242 + "{} Total Hours: {}\n Total Income: {}{}", [INFO] [stdout] 243 + date, [INFO] [stdout] 244 + format_time(self.hours), [INFO] [stdout] 245 + format_money(self.income, &config.currency), [INFO] [stdout] 246 + income_after_tax [INFO] [stdout] 247 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/shifts.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | / return format!( [INFO] [stdout] 242 | | "{} Total Hours: {}\n Total Income: {}{}", [INFO] [stdout] 243 | | date, [INFO] [stdout] 244 | | format_time(self.hours), [INFO] [stdout] 245 | | format_money(self.income, &config.currency), [INFO] [stdout] 246 | | income_after_tax [INFO] [stdout] 247 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 241 ~ format!( [INFO] [stdout] 242 + "{} Total Hours: {}\n Total Income: {}{}", [INFO] [stdout] 243 + date, [INFO] [stdout] 244 + format_time(self.hours), [INFO] [stdout] 245 + format_money(self.income, &config.currency), [INFO] [stdout] 246 + income_after_tax [INFO] [stdout] 247 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | format!("{}", shifts.format(config)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.format(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `args.date` after checking its variant with `is_some` [INFO] [stdout] --> src/utils.rs:63:23 [INFO] [stdout] | [INFO] [stdout] 62 | if args.date.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = &args.date` [INFO] [stdout] 63 | slash_count = args [INFO] [stdout] | _______________________^ [INFO] [stdout] 64 | | .date [INFO] [stdout] 65 | | .as_ref() [INFO] [stdout] 66 | | .unwrap() [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: useless use of `format!` [INFO] [stdout] --> src/utils.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | format!("{}", shifts.format(config)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.format(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `args.date` after checking its variant with `is_some` [INFO] [stdout] --> src/utils.rs:63:23 [INFO] [stdout] | [INFO] [stdout] 62 | if args.date.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = &args.date` [INFO] [stdout] 63 | slash_count = args [INFO] [stdout] | _______________________^ [INFO] [stdout] 64 | | .date [INFO] [stdout] 65 | | .as_ref() [INFO] [stdout] 66 | | .unwrap() [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: unneeded `return` statement [INFO] [stdout] --> src/utils.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | return format!("{}", shifts.format(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 - return format!("{}", shifts.format(config)); [INFO] [stdout] 93 + format!("{}", shifts.format(config)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | return format!("{}", shifts.shifts[0].format_and_calc(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.shifts[0].format_and_calc(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | return format!("{}", shifts.format(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.format(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | return format!("{}", shifts.format(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 - return format!("{}", shifts.format(config)); [INFO] [stdout] 93 + format!("{}", shifts.format(config)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | return format!("{}", shifts.shifts[0].format_and_calc(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.shifts[0].format_and_calc(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/utils.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | return format!("{}", shifts.format(config)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `shifts.format(config).to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/formaters.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | return format!("{}:{}", hours.floor(), minute_remainder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 8 - return format!("{}:{}", hours.floor(), minute_remainder); [INFO] [stdout] 8 + format!("{}:{}", hours.floor(), minute_remainder) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/formaters.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | return format!("{}:{}", hours.floor(), minute_remainder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 8 - return format!("{}:{}", hours.floor(), minute_remainder); [INFO] [stdout] 8 + format!("{}:{}", hours.floor(), minute_remainder) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | if !fs::metadata(project_dirs.config_dir().to_str().unwrap()).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `fs::metadata(project_dirs.config_dir().to_str().unwrap()).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | if !fs::metadata(project_dirs.config_dir().to_str().unwrap()).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `fs::metadata(project_dirs.config_dir().to_str().unwrap()).is_err()` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:27:48 [INFO] [stdout] | [INFO] [stdout] 27 | let config_file = match fs::read_to_string(&format!( [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 28 | | "{}/config.json", [INFO] [stdout] 29 | | project_dirs.config_dir().to_str().unwrap() [INFO] [stdout] 30 | | )) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 27 ~ let config_file = match fs::read_to_string(format!( [INFO] [stdout] 28 + "{}/config.json", [INFO] [stdout] 29 + project_dirs.config_dir().to_str().unwrap() [INFO] [stdout] 30 ~ )) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:27:48 [INFO] [stdout] | [INFO] [stdout] 27 | let config_file = match fs::read_to_string(&format!( [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 28 | | "{}/config.json", [INFO] [stdout] 29 | | project_dirs.config_dir().to_str().unwrap() [INFO] [stdout] 30 | | )) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 27 ~ let config_file = match fs::read_to_string(format!( [INFO] [stdout] 28 + "{}/config.json", [INFO] [stdout] 29 + project_dirs.config_dir().to_str().unwrap() [INFO] [stdout] 30 ~ )) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.87s [INFO] running `Command { std: "docker" "inspect" "2af4b8cf8ee7abda430a6dd5143dcba33cdc342adcac68c1ec5b2bd7df5c73f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2af4b8cf8ee7abda430a6dd5143dcba33cdc342adcac68c1ec5b2bd7df5c73f6", kill_on_drop: false }` [INFO] [stdout] 2af4b8cf8ee7abda430a6dd5143dcba33cdc342adcac68c1ec5b2bd7df5c73f6