[INFO] cloning repository https://github.com/macrespo42/ready_set_boole [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/macrespo42/ready_set_boole" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmacrespo42%2Fready_set_boole", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmacrespo42%2Fready_set_boole'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3d327b5fda3aa54c2bbcf43135346a3878236fac [INFO] linting macrespo42/ready_set_boole against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmacrespo42%2Fready_set_boole" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/macrespo42/ready_set_boole [INFO] finished tweaking git repo https://github.com/macrespo42/ready_set_boole [INFO] tweaked toml for git repo https://github.com/macrespo42/ready_set_boole written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/macrespo42/ready_set_boole 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 git repo https://github.com/macrespo42/ready_set_boole 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 18fa85412a29f2188a411ed7dbc090ff8f5bfcb97efd02d6b1dbefda2e88a41a [INFO] running `Command { std: "docker" "start" "-a" "18fa85412a29f2188a411ed7dbc090ff8f5bfcb97efd02d6b1dbefda2e88a41a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "18fa85412a29f2188a411ed7dbc090ff8f5bfcb97efd02d6b1dbefda2e88a41a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18fa85412a29f2188a411ed7dbc090ff8f5bfcb97efd02d6b1dbefda2e88a41a", kill_on_drop: false }` [INFO] [stdout] 18fa85412a29f2188a411ed7dbc090ff8f5bfcb97efd02d6b1dbefda2e88a41a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 71b370dea39ba211870cdc652d79fbeffcfbaba04d37c70028a0656d2a2f1b5e [INFO] running `Command { std: "docker" "start" "-a" "71b370dea39ba211870cdc652d79fbeffcfbaba04d37c70028a0656d2a2f1b5e", kill_on_drop: false }` [INFO] [stderr] Checking ready_set_boole v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | / #[cfg(test)] [INFO] [stdout] 147 | | [INFO] [stdout] | |_^ [INFO] [stdout] 148 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:203:1 [INFO] [stdout] | [INFO] [stdout] 203 | / #[cfg(test)] [INFO] [stdout] 204 | | [INFO] [stdout] | |_^ [INFO] [stdout] 205 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/rewrite_rule/sat.rs:106:1 [INFO] [stdout] | [INFO] [stdout] 106 | / #[cfg(test)] [INFO] [stdout] 107 | | [INFO] [stdout] | |_^ [INFO] [stdout] 108 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/set_theory/powerset.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / #[cfg(test)] [INFO] [stdout] 18 | | [INFO] [stdout] | |_^ [INFO] [stdout] 19 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/set_theory/set_evalutation.rs:199:1 [INFO] [stdout] | [INFO] [stdout] 199 | / #[cfg(test)] [INFO] [stdout] 200 | | [INFO] [stdout] | |_^ [INFO] [stdout] 201 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/adder.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | return adder(sum, carry); [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] 10 - return adder(sum, carry); [INFO] [stdout] 10 + adder(sum, carry) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | / return AstNode { [INFO] [stdout] 10 | | item: (item), [INFO] [stdout] 11 | | left_leaf: (None), [INFO] [stdout] 12 | | right_leaf: (None), [INFO] [stdout] 13 | | }; [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] 9 ~ AstNode { [INFO] [stdout] 10 + item: (item), [INFO] [stdout] 11 + left_leaf: (None), [INFO] [stdout] 12 + right_leaf: (None), [INFO] [stdout] 13 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if formula.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `formula.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:47:27 [INFO] [stdout] | [INFO] [stdout] 47 | '>' => return !(left_expr && !right_expr), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!left_expr || right_expr` [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: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | '&' => return left_expr & right_expr, [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] 44 - '&' => return left_expr & right_expr, [INFO] [stdout] 44 + '&' => left_expr & right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | '|' => return left_expr | right_expr, [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] 45 - '|' => return left_expr | right_expr, [INFO] [stdout] 45 + '|' => left_expr | right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | '^' => return left_expr ^ right_expr, [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 left_expr ^ right_expr, [INFO] [stdout] 46 + '^' => left_expr ^ right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | '>' => return !(left_expr && !right_expr), [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] 47 - '>' => return !(left_expr && !right_expr), [INFO] [stdout] 47 + '>' => !(left_expr && !right_expr), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | '=' => return left_expr == right_expr, [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 left_expr == right_expr, [INFO] [stdout] 48 + '=' => left_expr == right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | _ => return false, [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] 49 - _ => return false, [INFO] [stdout] 49 + _ => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | return root.compute(); [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] 58 - return root.compute(); [INFO] [stdout] 58 + root.compute() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | assert_eq!(eval_formula("10&"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 67 - assert_eq!(eval_formula("10&"), false); [INFO] [stdout] 67 + assert!(!eval_formula("10&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | assert_eq!(eval_formula("00&"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 68 - assert_eq!(eval_formula("00&"), false); [INFO] [stdout] 68 + assert!(!eval_formula("00&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | assert_eq!(eval_formula("00&!"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 69 - assert_eq!(eval_formula("00&!"), true); [INFO] [stdout] 69 + assert!(eval_formula("00&!")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | assert_eq!(eval_formula("11&"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 70 - assert_eq!(eval_formula("11&"), true); [INFO] [stdout] 70 + assert!(eval_formula("11&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | assert_eq!(eval_formula("10|"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 75 - assert_eq!(eval_formula("10|"), true); [INFO] [stdout] 75 + assert!(eval_formula("10|")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | assert_eq!(eval_formula("10|!"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 76 - assert_eq!(eval_formula("10|!"), false); [INFO] [stdout] 76 + assert!(!eval_formula("10|!")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | assert_eq!(eval_formula("11|"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 77 - assert_eq!(eval_formula("11|"), true); [INFO] [stdout] 77 + assert!(eval_formula("11|")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | assert_eq!(eval_formula("00|"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 78 - assert_eq!(eval_formula("00|"), false); [INFO] [stdout] 78 + assert!(!eval_formula("00|")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | assert_eq!(eval_formula("11>"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 83 - assert_eq!(eval_formula("11>"), true); [INFO] [stdout] 83 + assert!(eval_formula("11>")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | assert_eq!(eval_formula("10>"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 84 - assert_eq!(eval_formula("10>"), false); [INFO] [stdout] 84 + assert!(!eval_formula("10>")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | assert_eq!(eval_formula("10>!"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 85 - assert_eq!(eval_formula("10>!"), true); [INFO] [stdout] 85 + assert!(eval_formula("10>!")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | assert_eq!(eval_formula("00>"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 86 - assert_eq!(eval_formula("00>"), true); [INFO] [stdout] 86 + assert!(eval_formula("00>")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | assert_eq!(eval_formula("10="), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 91 - assert_eq!(eval_formula("10="), false); [INFO] [stdout] 91 + assert!(!eval_formula("10=")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | assert_eq!(eval_formula("11="), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 92 - assert_eq!(eval_formula("11="), true); [INFO] [stdout] 92 + assert!(eval_formula("11=")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | assert_eq!(eval_formula("00="), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 93 - assert_eq!(eval_formula("00="), true); [INFO] [stdout] 93 + assert!(eval_formula("00=")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | assert_eq!(eval_formula("00=!"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 94 - assert_eq!(eval_formula("00=!"), false); [INFO] [stdout] 94 + assert!(!eval_formula("00=!")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | assert_eq!(eval_formula("101|&"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 99 - assert_eq!(eval_formula("101|&"), true); [INFO] [stdout] 99 + assert!(eval_formula("101|&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | assert_eq!(eval_formula("101|&!"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 100 - assert_eq!(eval_formula("101|&!"), false); [INFO] [stdout] 100 + assert!(!eval_formula("101|&!")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | assert_eq!(eval_formula("1011||="), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 101 - assert_eq!(eval_formula("1011||="), true); [INFO] [stdout] 101 + assert!(eval_formula("1011||=")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | assert_eq!(eval_formula("1011||=!"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 102 - assert_eq!(eval_formula("1011||=!"), false); [INFO] [stdout] 102 + assert!(!eval_formula("1011||=!")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | assert_eq!(eval_formula("00^"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 107 - assert_eq!(eval_formula("00^"), false); [INFO] [stdout] 107 + assert!(!eval_formula("00^")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | assert_eq!(eval_formula("0"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 112 - assert_eq!(eval_formula("0"), false); [INFO] [stdout] 112 + assert!(!eval_formula("0")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | assert_eq!(eval_formula("1"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 113 - assert_eq!(eval_formula("1"), true); [INFO] [stdout] 113 + assert!(eval_formula("1")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | assert_eq!(eval_formula("1!"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 114 - assert_eq!(eval_formula("1!"), false); [INFO] [stdout] 114 + assert!(!eval_formula("1!")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | assert_eq!(eval_formula("0!"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 115 - assert_eq!(eval_formula("0!"), true); [INFO] [stdout] 115 + assert!(eval_formula("0!")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/introduction/multiplier.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | c = c << 1; [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `c <<= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/introduction/multiplier.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | d = d >> 1; [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `d >>= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | / return AstNode { [INFO] [stdout] 12 | | item: (item), [INFO] [stdout] 13 | | left_leaf: (None), [INFO] [stdout] 14 | | right_leaf: (None), [INFO] [stdout] 15 | | }; [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] 11 ~ AstNode { [INFO] [stdout] 12 + item: (item), [INFO] [stdout] 13 + left_leaf: (None), [INFO] [stdout] 14 + right_leaf: (None), [INFO] [stdout] 15 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/introduction/truth_table.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | if formula.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `formula.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/introduction/truth_table.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/introduction/truth_table.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | '>' => return !(left_expr && !right_expr), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!left_expr || right_expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | '&' => return left_expr & right_expr, [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 left_expr & right_expr, [INFO] [stdout] 46 + '&' => left_expr & right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | '|' => return left_expr | right_expr, [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] 47 - '|' => return left_expr | right_expr, [INFO] [stdout] 47 + '|' => left_expr | right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | '^' => return left_expr ^ right_expr, [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 left_expr ^ right_expr, [INFO] [stdout] 48 + '^' => left_expr ^ right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | '>' => return !(left_expr && !right_expr), [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] 49 - '>' => return !(left_expr && !right_expr), [INFO] [stdout] 49 + '>' => !(left_expr && !right_expr), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | '=' => return left_expr == right_expr, [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] 50 - '=' => return left_expr == right_expr, [INFO] [stdout] 50 + '=' => left_expr == right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | _ => return false, [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] 51 - _ => return false, [INFO] [stdout] 51 + _ => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | return root.compute(); [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] 60 - return root.compute(); [INFO] [stdout] 60 + root.compute() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/introduction/truth_table.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | / return AstNode { [INFO] [stdout] 11 | | item: (item), [INFO] [stdout] 12 | | left_leaf: (None), [INFO] [stdout] 13 | | right_leaf: (None), [INFO] [stdout] 14 | | }; [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] 10 ~ AstNode { [INFO] [stdout] 11 + item: (item), [INFO] [stdout] 12 + left_leaf: (None), [INFO] [stdout] 13 + right_leaf: (None), [INFO] [stdout] 14 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 41 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 42 | self.left_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 45 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 46 | self.right_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 126 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 127 | expr.push_str(&self.left_leaf.as_mut().unwrap().stringify()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:131:28 [INFO] [stdout] | [INFO] [stdout] 130 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 131 | expr.push_str(&self.right_leaf.as_mut().unwrap().stringify()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | / return AstNode { [INFO] [stdout] 11 | | item: (item), [INFO] [stdout] 12 | | left_leaf: (None), [INFO] [stdout] 13 | | right_leaf: (None), [INFO] [stdout] 14 | | }; [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] 10 ~ AstNode { [INFO] [stdout] 11 + item: (item), [INFO] [stdout] 12 + left_leaf: (None), [INFO] [stdout] 13 + right_leaf: (None), [INFO] [stdout] 14 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 41 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 42 | self.left_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 45 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 46 | self.right_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 126 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 127 | expr.push_str(&self.left_leaf.as_mut().unwrap().stringify()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:131:28 [INFO] [stdout] | [INFO] [stdout] 130 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 131 | expr.push_str(&self.right_leaf.as_mut().unwrap().stringify()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | / if self.item == '|' { [INFO] [stdout] 140 | | if (self.right_leaf.as_ref().unwrap().item == '&' [INFO] [stdout] 141 | | || self.left_leaf.as_ref().unwrap().item == '&') [INFO] [stdout] 142 | | && (self.right_leaf.as_ref().unwrap().is_in("&|") [INFO] [stdout] ... | [INFO] [stdout] 147 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 139 ~ if self.item == '|' [INFO] [stdout] 140 ~ && (self.right_leaf.as_ref().unwrap().item == '&' [INFO] [stdout] 141 | || self.left_leaf.as_ref().unwrap().item == '&') [INFO] [stdout] ... [INFO] [stdout] 145 | return false; [INFO] [stdout] 146 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 152 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 153 | self.left_leaf.as_mut().unwrap().conjunctive_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 156 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 157 | self.right_leaf.as_mut().unwrap().conjunctive_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | if self.is_conjunctive() == false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!self.is_conjunctive()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | / if self.is_in("&|") { [INFO] [stdout] 176 | | if (self.left_leaf.is_some() && self.left_leaf.as_ref().unwrap().item == self.item) [INFO] [stdout] 177 | | && (self.right_leaf.as_ref().unwrap().is_in("!") [INFO] [stdout] 178 | | || self [INFO] [stdout] ... | [INFO] [stdout] 190 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 175 ~ if self.is_in("&|") [INFO] [stdout] 176 ~ && (self.left_leaf.is_some() && self.left_leaf.as_ref().unwrap().item == self.item) [INFO] [stdout] 177 | && (self.right_leaf.as_ref().unwrap().is_in("!") [INFO] [stdout] ... [INFO] [stdout] 188 | self.left_leaf = right_child_cpy; [INFO] [stdout] 189 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | / return AstNode { [INFO] [stdout] 10 | | item: (item), [INFO] [stdout] 11 | | left_leaf: (None), [INFO] [stdout] 12 | | right_leaf: (None), [INFO] [stdout] 13 | | }; [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] 9 ~ AstNode { [INFO] [stdout] 10 + item: (item), [INFO] [stdout] 11 + left_leaf: (None), [INFO] [stdout] 12 + right_leaf: (None), [INFO] [stdout] 13 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rewrite_rule/sat.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if formula.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `formula.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/rewrite_rule/sat.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rewrite_rule/sat.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | '>' => return !(left_expr && !right_expr), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!left_expr || right_expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | '&' => return left_expr & right_expr, [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] 44 - '&' => return left_expr & right_expr, [INFO] [stdout] 44 + '&' => left_expr & right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | '|' => return left_expr | right_expr, [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] 45 - '|' => return left_expr | right_expr, [INFO] [stdout] 45 + '|' => left_expr | right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | return left_expr ^ right_expr; [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] 47 - return left_expr ^ right_expr; [INFO] [stdout] 47 + left_expr ^ right_expr [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | '>' => return !(left_expr && !right_expr), [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] 49 - '>' => return !(left_expr && !right_expr), [INFO] [stdout] 49 + '>' => !(left_expr && !right_expr), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | '=' => return left_expr == right_expr, [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] 50 - '=' => return left_expr == right_expr, [INFO] [stdout] 50 + '=' => left_expr == right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | _ => return false, [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] 51 - _ => return false, [INFO] [stdout] 51 + _ => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | return root.compute(); [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] 60 - return root.compute(); [INFO] [stdout] 60 + root.compute() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/rewrite_rule/sat.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if eval_formula(&combination) == true { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `eval_formula(&combination)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rewrite_rule/sat.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | assert_eq!(sat("AB|"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 115 - assert_eq!(sat("AB|"), true); [INFO] [stdout] 115 + assert!(sat("AB|")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rewrite_rule/sat.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | assert_eq!(sat("AB&"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 120 - assert_eq!(sat("AB&"), true); [INFO] [stdout] 120 + assert!(sat("AB&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rewrite_rule/sat.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | assert_eq!(sat("AA!&"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 125 - assert_eq!(sat("AA!&"), false); [INFO] [stdout] 125 + assert!(!sat("AA!&")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rewrite_rule/sat.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | assert_eq!(sat("AA^"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 126 - assert_eq!(sat("AA^"), false); [INFO] [stdout] 126 + assert!(!sat("AA^")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `elt` is used to index `set` [INFO] [stdout] --> src/set_theory/powerset.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | for elt in 0..set.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 7 - for elt in 0..set.len() { [INFO] [stdout] 7 + for (elt, ) in set.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/set_theory/set_evalutation.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | / return AstNode { [INFO] [stdout] 15 | | item: (item), [INFO] [stdout] 16 | | left_leaf: (None), [INFO] [stdout] 17 | | right_leaf: (None), [INFO] [stdout] 18 | | }; [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] 14 ~ AstNode { [INFO] [stdout] 15 + item: (item), [INFO] [stdout] 16 + left_leaf: (None), [INFO] [stdout] 17 + right_leaf: (None), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/set_theory/set_evalutation.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/set_theory/set_evalutation.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 45 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 46 | self.left_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/set_theory/set_evalutation.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 49 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 50 | self.right_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/set_theory/set_evalutation.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | return result; [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] 184 - return result; [INFO] [stdout] 184 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/set_theory/set_evalutation.rs:178:23 [INFO] [stdout] | [INFO] [stdout] 178 | fn get_superset(sets: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 178 - fn get_superset(sets: &Vec>) -> Vec { [INFO] [stdout] 178 + fn get_superset(sets: &[Vec]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/adder.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | return adder(sum, carry); [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] 10 - return adder(sum, carry); [INFO] [stdout] 10 + adder(sum, carry) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | / return AstNode { [INFO] [stdout] 10 | | item: (item), [INFO] [stdout] 11 | | left_leaf: (None), [INFO] [stdout] 12 | | right_leaf: (None), [INFO] [stdout] 13 | | }; [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] 9 ~ AstNode { [INFO] [stdout] 10 + item: (item), [INFO] [stdout] 11 + left_leaf: (None), [INFO] [stdout] 12 + right_leaf: (None), [INFO] [stdout] 13 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if formula.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `formula.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:47:27 [INFO] [stdout] | [INFO] [stdout] 47 | '>' => return !(left_expr && !right_expr), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!left_expr || right_expr` [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: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | '&' => return left_expr & right_expr, [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] 44 - '&' => return left_expr & right_expr, [INFO] [stdout] 44 + '&' => left_expr & right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | '|' => return left_expr | right_expr, [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] 45 - '|' => return left_expr | right_expr, [INFO] [stdout] 45 + '|' => left_expr | right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | '^' => return left_expr ^ right_expr, [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 left_expr ^ right_expr, [INFO] [stdout] 46 + '^' => left_expr ^ right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | '>' => return !(left_expr && !right_expr), [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] 47 - '>' => return !(left_expr && !right_expr), [INFO] [stdout] 47 + '>' => !(left_expr && !right_expr), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | '=' => return left_expr == right_expr, [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 left_expr == right_expr, [INFO] [stdout] 48 + '=' => left_expr == right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | _ => return false, [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] 49 - _ => return false, [INFO] [stdout] 49 + _ => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/boolean_evaluation.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | return root.compute(); [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] 58 - return root.compute(); [INFO] [stdout] 58 + root.compute() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/introduction/multiplier.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | c = c << 1; [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `c <<= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/introduction/multiplier.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | d = d >> 1; [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `d >>= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | / return AstNode { [INFO] [stdout] 12 | | item: (item), [INFO] [stdout] 13 | | left_leaf: (None), [INFO] [stdout] 14 | | right_leaf: (None), [INFO] [stdout] 15 | | }; [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] 11 ~ AstNode { [INFO] [stdout] 12 + item: (item), [INFO] [stdout] 13 + left_leaf: (None), [INFO] [stdout] 14 + right_leaf: (None), [INFO] [stdout] 15 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/introduction/truth_table.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | if formula.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `formula.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/introduction/truth_table.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/introduction/truth_table.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | '>' => return !(left_expr && !right_expr), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!left_expr || right_expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | '&' => return left_expr & right_expr, [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 left_expr & right_expr, [INFO] [stdout] 46 + '&' => left_expr & right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | '|' => return left_expr | right_expr, [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] 47 - '|' => return left_expr | right_expr, [INFO] [stdout] 47 + '|' => left_expr | right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | '^' => return left_expr ^ right_expr, [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 left_expr ^ right_expr, [INFO] [stdout] 48 + '^' => left_expr ^ right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | '>' => return !(left_expr && !right_expr), [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] 49 - '>' => return !(left_expr && !right_expr), [INFO] [stdout] 49 + '>' => !(left_expr && !right_expr), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | '=' => return left_expr == right_expr, [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] 50 - '=' => return left_expr == right_expr, [INFO] [stdout] 50 + '=' => left_expr == right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | _ => return false, [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] 51 - _ => return false, [INFO] [stdout] 51 + _ => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/introduction/truth_table.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | return root.compute(); [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] 60 - return root.compute(); [INFO] [stdout] 60 + root.compute() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/introduction/truth_table.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | / return AstNode { [INFO] [stdout] 11 | | item: (item), [INFO] [stdout] 12 | | left_leaf: (None), [INFO] [stdout] 13 | | right_leaf: (None), [INFO] [stdout] 14 | | }; [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] 10 ~ AstNode { [INFO] [stdout] 11 + item: (item), [INFO] [stdout] 12 + left_leaf: (None), [INFO] [stdout] 13 + right_leaf: (None), [INFO] [stdout] 14 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 41 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 42 | self.left_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 45 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 46 | self.right_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 126 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 127 | expr.push_str(&self.left_leaf.as_mut().unwrap().stringify()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/negation_normal_form.rs:131:28 [INFO] [stdout] | [INFO] [stdout] 130 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 131 | expr.push_str(&self.right_leaf.as_mut().unwrap().stringify()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | / return AstNode { [INFO] [stdout] 11 | | item: (item), [INFO] [stdout] 12 | | left_leaf: (None), [INFO] [stdout] 13 | | right_leaf: (None), [INFO] [stdout] 14 | | }; [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] 10 ~ AstNode { [INFO] [stdout] 11 + item: (item), [INFO] [stdout] 12 + left_leaf: (None), [INFO] [stdout] 13 + right_leaf: (None), [INFO] [stdout] 14 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 41 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 42 | self.left_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 45 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 46 | self.right_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 126 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 127 | expr.push_str(&self.left_leaf.as_mut().unwrap().stringify()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:131:28 [INFO] [stdout] | [INFO] [stdout] 130 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 131 | expr.push_str(&self.right_leaf.as_mut().unwrap().stringify()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | / if self.item == '|' { [INFO] [stdout] 140 | | if (self.right_leaf.as_ref().unwrap().item == '&' [INFO] [stdout] 141 | | || self.left_leaf.as_ref().unwrap().item == '&') [INFO] [stdout] 142 | | && (self.right_leaf.as_ref().unwrap().is_in("&|") [INFO] [stdout] ... | [INFO] [stdout] 147 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 139 ~ if self.item == '|' [INFO] [stdout] 140 ~ && (self.right_leaf.as_ref().unwrap().item == '&' [INFO] [stdout] 141 | || self.left_leaf.as_ref().unwrap().item == '&') [INFO] [stdout] ... [INFO] [stdout] 145 | return false; [INFO] [stdout] 146 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 152 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 153 | self.left_leaf.as_mut().unwrap().conjunctive_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 156 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 157 | self.right_leaf.as_mut().unwrap().conjunctive_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | if self.is_conjunctive() == false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!self.is_conjunctive()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/rewrite_rule/conjuctive_normal_form.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | / if self.is_in("&|") { [INFO] [stdout] 176 | | if (self.left_leaf.is_some() && self.left_leaf.as_ref().unwrap().item == self.item) [INFO] [stdout] 177 | | && (self.right_leaf.as_ref().unwrap().is_in("!") [INFO] [stdout] 178 | | || self [INFO] [stdout] ... | [INFO] [stdout] 190 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 175 ~ if self.is_in("&|") [INFO] [stdout] 176 ~ && (self.left_leaf.is_some() && self.left_leaf.as_ref().unwrap().item == self.item) [INFO] [stdout] 177 | && (self.right_leaf.as_ref().unwrap().is_in("!") [INFO] [stdout] ... [INFO] [stdout] 188 | self.left_leaf = right_child_cpy; [INFO] [stdout] 189 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | / return AstNode { [INFO] [stdout] 10 | | item: (item), [INFO] [stdout] 11 | | left_leaf: (None), [INFO] [stdout] 12 | | right_leaf: (None), [INFO] [stdout] 13 | | }; [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] 9 ~ AstNode { [INFO] [stdout] 10 + item: (item), [INFO] [stdout] 11 + left_leaf: (None), [INFO] [stdout] 12 + right_leaf: (None), [INFO] [stdout] 13 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rewrite_rule/sat.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if formula.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `formula.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/rewrite_rule/sat.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rewrite_rule/sat.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | '>' => return !(left_expr && !right_expr), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!left_expr || right_expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | '&' => return left_expr & right_expr, [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] 44 - '&' => return left_expr & right_expr, [INFO] [stdout] 44 + '&' => left_expr & right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | '|' => return left_expr | right_expr, [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] 45 - '|' => return left_expr | right_expr, [INFO] [stdout] 45 + '|' => left_expr | right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | return left_expr ^ right_expr; [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] 47 - return left_expr ^ right_expr; [INFO] [stdout] 47 + left_expr ^ right_expr [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | '>' => return !(left_expr && !right_expr), [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] 49 - '>' => return !(left_expr && !right_expr), [INFO] [stdout] 49 + '>' => !(left_expr && !right_expr), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | '=' => return left_expr == right_expr, [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] 50 - '=' => return left_expr == right_expr, [INFO] [stdout] 50 + '=' => left_expr == right_expr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | _ => return false, [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] 51 - _ => return false, [INFO] [stdout] 51 + _ => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/rewrite_rule/sat.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | return root.compute(); [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] 60 - return root.compute(); [INFO] [stdout] 60 + root.compute() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/rewrite_rule/sat.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if eval_formula(&combination) == true { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `eval_formula(&combination)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `elt` is used to index `set` [INFO] [stdout] --> src/set_theory/powerset.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | for elt in 0..set.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 7 - for elt in 0..set.len() { [INFO] [stdout] 7 + for (elt, ) in set.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/set_theory/set_evalutation.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | / return AstNode { [INFO] [stdout] 15 | | item: (item), [INFO] [stdout] 16 | | left_leaf: (None), [INFO] [stdout] 17 | | right_leaf: (None), [INFO] [stdout] 18 | | }; [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] 14 ~ AstNode { [INFO] [stdout] 15 + item: (item), [INFO] [stdout] 16 + left_leaf: (None), [INFO] [stdout] 17 + right_leaf: (None), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/set_theory/set_evalutation.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if operand.iter().any(|&i| i == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `operand.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.left_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/set_theory/set_evalutation.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 45 | if self.left_leaf.is_some() { [INFO] [stdout] | --------------------------- help: try: `if let Some() = &mut self.left_leaf` [INFO] [stdout] 46 | self.left_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.right_leaf` after checking its variant with `is_some` [INFO] [stdout] --> src/set_theory/set_evalutation.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 49 | if self.right_leaf.is_some() { [INFO] [stdout] | ---------------------------- help: try: `if let Some() = &mut self.right_leaf` [INFO] [stdout] 50 | self.right_leaf.as_mut().unwrap().negation_normal_form(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/set_theory/set_evalutation.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | return result; [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] 184 - return result; [INFO] [stdout] 184 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/set_theory/set_evalutation.rs:178:23 [INFO] [stdout] | [INFO] [stdout] 178 | fn get_superset(sets: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 178 - fn get_superset(sets: &Vec>) -> Vec { [INFO] [stdout] 178 + fn get_superset(sets: &[Vec]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.57s [INFO] running `Command { std: "docker" "inspect" "71b370dea39ba211870cdc652d79fbeffcfbaba04d37c70028a0656d2a2f1b5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71b370dea39ba211870cdc652d79fbeffcfbaba04d37c70028a0656d2a2f1b5e", kill_on_drop: false }` [INFO] [stdout] 71b370dea39ba211870cdc652d79fbeffcfbaba04d37c70028a0656d2a2f1b5e