[INFO] crate rfyl 0.3.0 is already in cache [INFO] extracting crate rfyl 0.3.0 into work/ex/clippy-test-run/sources/stable/reg/rfyl/0.3.0 [INFO] extracting crate rfyl 0.3.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rfyl/0.3.0 [INFO] validating manifest of rfyl-0.3.0 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 rfyl-0.3.0 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 rfyl-0.3.0 [INFO] finished frobbing rfyl-0.3.0 [INFO] frobbed toml for rfyl-0.3.0 written to work/ex/clippy-test-run/sources/stable/reg/rfyl/0.3.0/Cargo.toml [INFO] started frobbing rfyl-0.3.0 [INFO] finished frobbing rfyl-0.3.0 [INFO] frobbed toml for rfyl-0.3.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rfyl/0.3.0/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 rfyl-0.3.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rfyl/0.3.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 4caddbc9ff1555e6f093cfbf6cd7fc866ade0dd4c360079b5eb356f5287bb016 [INFO] running `"docker" "start" "-a" "4caddbc9ff1555e6f093cfbf6cd7fc866ade0dd4c360079b5eb356f5287bb016"` [INFO] [stderr] Checking rfyl v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rpn.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | return formula_vector; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `formula_vector` [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] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rpn.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | return total; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `total` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/rpn.rs:119:16 [INFO] [stderr] | [INFO] [stderr] 119 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 120 | | if let Some(a) = working_stack.pop() { [INFO] [stderr] 121 | | if let Some(b) = working_stack.pop() { [INFO] [stderr] 122 | | match match_token(e) { [INFO] [stderr] ... | [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 119 | } else if let Some(a) = working_stack.pop() { [INFO] [stderr] 120 | if let Some(b) = working_stack.pop() { [INFO] [stderr] 121 | match match_token(e) { [INFO] [stderr] 122 | 4 => { [INFO] [stderr] 123 | if a == 0 {panic!("Divide by zero: `{} / {}` is undefined", b, a);} [INFO] [stderr] 124 | working_stack.push((b as f32 / a as f32).round() as i32) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/infix.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | return formula_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `formula_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/infix.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 25 | | if let Some(a) = formula_vector.pop() { [INFO] [stderr] 26 | | if let Some(b) = formula_vector.pop() { [INFO] [stderr] 27 | | formula_vector.push(format!("( {0} {1} {2} )", b, e, a)); [INFO] [stderr] ... | [INFO] [stderr] 33 | | } [INFO] [stderr] 34 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 24 | } else if let Some(a) = formula_vector.pop() { [INFO] [stderr] 25 | if let Some(b) = formula_vector.pop() { [INFO] [stderr] 26 | formula_vector.push(format!("( {0} {1} {2} )", b, e, a)); [INFO] [stderr] 27 | } else { [INFO] [stderr] 28 | panic!("Right hand token in evaluation doesn't exist"); [INFO] [stderr] 29 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | "/" => return 4, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | "÷" => return 4, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | "*" => return 3, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | "×" => return 3, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | "+" => return 2, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | "−" => return 1, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | "-" => return 1, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:10:16 [INFO] [stderr] | [INFO] [stderr] 10 | "(" => return -1, [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `-1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | ")" => return -2, [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `-2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | "%" => return -3, [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `-3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | _ => return 0, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | return rpn::solve_rpn_formula(self.formula.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `rpn::solve_rpn_formula(self.formula.clone())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return total; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `total` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return rolls_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `rolls_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return formula_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `formula_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | return parse_into_infix(self.formula.clone()).replace("( ", "[").replace(" )", "]"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parse_into_infix(self.formula.clone()).replace("( ", "[").replace(" )", "]")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | return formula_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `formula_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | return parse_into_infix(self.rolls_formula.clone()).replace("( ", "[").replace(" )", "]"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parse_into_infix(self.rolls_formula.clone()).replace("( ", "[").replace(" )", "]")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | return resolve_rolls_vector(formula_vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `resolve_rolls_vector(formula_vector)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | / return Ok(DiceRolls { [INFO] [stderr] 170 | | rolls: dice_rolls, [INFO] [stderr] 171 | | formula: formula_vector, [INFO] [stderr] 172 | | rolls_formula: formula_vector_with_rolls, [INFO] [stderr] 173 | | }); [INFO] [stderr] | |_______^ [INFO] [stderr] | [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] 169 | Ok(DiceRolls { [INFO] [stderr] 170 | rolls: dice_rolls, [INFO] [stderr] 171 | formula: formula_vector, [INFO] [stderr] 172 | rolls_formula: formula_vector_with_rolls, [INFO] [stderr] 173 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | / return Ok(DiceRolls { [INFO] [stderr] 244 | | rolls: dice_rolls, [INFO] [stderr] 245 | | formula: vec![sum.to_string()], [INFO] [stderr] 246 | | rolls_formula: vec![input_fragment.to_string()], [INFO] [stderr] 247 | | }); [INFO] [stderr] | |_______^ [INFO] [stderr] | [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] 243 | Ok(DiceRolls { [INFO] [stderr] 244 | rolls: dice_rolls, [INFO] [stderr] 245 | formula: vec![sum.to_string()], [INFO] [stderr] 246 | rolls_formula: vec![input_fragment.to_string()], [INFO] [stderr] 247 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rpn.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | p if p > 0 => if active_segment.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!active_segment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rpn.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | if active_segment.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!active_segment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rpn.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | if active_segment.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!active_segment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/infix.rs:46:15 [INFO] [stderr] | [INFO] [stderr] 46 | } else if formula_vector.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `formula_vector.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/lib.rs:142:41 [INFO] [stderr] | [INFO] [stderr] 142 | let formula_vector = parse_into_rpn(input.trim().as_ref()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `input.trim()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rpn.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | return formula_vector; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `formula_vector` [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] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rpn.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | return total; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `total` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/rpn.rs:119:16 [INFO] [stderr] | [INFO] [stderr] 119 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 120 | | if let Some(a) = working_stack.pop() { [INFO] [stderr] 121 | | if let Some(b) = working_stack.pop() { [INFO] [stderr] 122 | | match match_token(e) { [INFO] [stderr] ... | [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 119 | } else if let Some(a) = working_stack.pop() { [INFO] [stderr] 120 | if let Some(b) = working_stack.pop() { [INFO] [stderr] 121 | match match_token(e) { [INFO] [stderr] 122 | 4 => { [INFO] [stderr] 123 | if a == 0 {panic!("Divide by zero: `{} / {}` is undefined", b, a);} [INFO] [stderr] 124 | working_stack.push((b as f32 / a as f32).round() as i32) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/infix.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | return formula_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `formula_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/infix.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 25 | | if let Some(a) = formula_vector.pop() { [INFO] [stderr] 26 | | if let Some(b) = formula_vector.pop() { [INFO] [stderr] 27 | | formula_vector.push(format!("( {0} {1} {2} )", b, e, a)); [INFO] [stderr] ... | [INFO] [stderr] 33 | | } [INFO] [stderr] 34 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 24 | } else if let Some(a) = formula_vector.pop() { [INFO] [stderr] 25 | if let Some(b) = formula_vector.pop() { [INFO] [stderr] 26 | formula_vector.push(format!("( {0} {1} {2} )", b, e, a)); [INFO] [stderr] 27 | } else { [INFO] [stderr] 28 | panic!("Right hand token in evaluation doesn't exist"); [INFO] [stderr] 29 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | "/" => return 4, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | "÷" => return 4, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | "*" => return 3, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | "×" => return 3, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | "+" => return 2, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | "−" => return 1, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | "-" => return 1, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:10:16 [INFO] [stderr] | [INFO] [stderr] 10 | "(" => return -1, [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `-1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | ")" => return -2, [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `-2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | "%" => return -3, [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `-3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/tokens.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | _ => return 0, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | return rpn::solve_rpn_formula(self.formula.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `rpn::solve_rpn_formula(self.formula.clone())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return total; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `total` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return rolls_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `rolls_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return formula_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `formula_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | return parse_into_infix(self.formula.clone()).replace("( ", "[").replace(" )", "]"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parse_into_infix(self.formula.clone()).replace("( ", "[").replace(" )", "]")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | return formula_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `formula_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | return parse_into_infix(self.rolls_formula.clone()).replace("( ", "[").replace(" )", "]"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parse_into_infix(self.rolls_formula.clone()).replace("( ", "[").replace(" )", "]")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | return resolve_rolls_vector(formula_vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `resolve_rolls_vector(formula_vector)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | / return Ok(DiceRolls { [INFO] [stderr] 170 | | rolls: dice_rolls, [INFO] [stderr] 171 | | formula: formula_vector, [INFO] [stderr] 172 | | rolls_formula: formula_vector_with_rolls, [INFO] [stderr] 173 | | }); [INFO] [stderr] | |_______^ [INFO] [stderr] | [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] 169 | Ok(DiceRolls { [INFO] [stderr] 170 | rolls: dice_rolls, [INFO] [stderr] 171 | formula: formula_vector, [INFO] [stderr] 172 | rolls_formula: formula_vector_with_rolls, [INFO] [stderr] 173 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | / return Ok(DiceRolls { [INFO] [stderr] 244 | | rolls: dice_rolls, [INFO] [stderr] 245 | | formula: vec![sum.to_string()], [INFO] [stderr] 246 | | rolls_formula: vec![input_fragment.to_string()], [INFO] [stderr] 247 | | }); [INFO] [stderr] | |_______^ [INFO] [stderr] | [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] 243 | Ok(DiceRolls { [INFO] [stderr] 244 | rolls: dice_rolls, [INFO] [stderr] 245 | formula: vec![sum.to_string()], [INFO] [stderr] 246 | rolls_formula: vec![input_fragment.to_string()], [INFO] [stderr] 247 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/bin.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/bin.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rpn.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | p if p > 0 => if active_segment.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!active_segment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rpn.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | if active_segment.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!active_segment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rpn.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | if active_segment.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!active_segment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/infix.rs:46:15 [INFO] [stderr] | [INFO] [stderr] 46 | } else if formula_vector.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `formula_vector.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/lib.rs:142:41 [INFO] [stderr] | [INFO] [stderr] 142 | let formula_vector = parse_into_rpn(input.trim().as_ref()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `input.trim()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | const VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | const VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.00s [INFO] running `"docker" "inspect" "4caddbc9ff1555e6f093cfbf6cd7fc866ade0dd4c360079b5eb356f5287bb016"` [INFO] running `"docker" "rm" "-f" "4caddbc9ff1555e6f093cfbf6cd7fc866ade0dd4c360079b5eb356f5287bb016"` [INFO] [stdout] 4caddbc9ff1555e6f093cfbf6cd7fc866ade0dd4c360079b5eb356f5287bb016