[INFO] cloning repository https://github.com/jammer312/uni_sat_solver [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jammer312/uni_sat_solver" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjammer312%2Funi_sat_solver", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjammer312%2Funi_sat_solver'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 963e974d02c667096a3694b91e7026de93d1baa0 [INFO] linting jammer312/uni_sat_solver against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjammer312%2Funi_sat_solver" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jammer312/uni_sat_solver [INFO] finished tweaking git repo https://github.com/jammer312/uni_sat_solver [INFO] tweaked toml for git repo https://github.com/jammer312/uni_sat_solver written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jammer312/uni_sat_solver 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/jammer312/uni_sat_solver already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bimap v0.6.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9448c81193cf14e5e788297565089c0d0e32f4bc563a726a0f377e9d36619e07 [INFO] running `Command { std: "docker" "start" "-a" "9448c81193cf14e5e788297565089c0d0e32f4bc563a726a0f377e9d36619e07", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9448c81193cf14e5e788297565089c0d0e32f4bc563a726a0f377e9d36619e07", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9448c81193cf14e5e788297565089c0d0e32f4bc563a726a0f377e9d36619e07", kill_on_drop: false }` [INFO] [stdout] 9448c81193cf14e5e788297565089c0d0e32f4bc563a726a0f377e9d36619e07 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5f42b037b0eda258ab2f492f7ba084750426994c8426714c00c3bab59f4f86c0 [INFO] running `Command { std: "docker" "start" "-a" "5f42b037b0eda258ab2f492f7ba084750426994c8426714c00c3bab59f4f86c0", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking bimap v0.6.2 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking nom v7.1.1 [INFO] [stderr] Checking sat_solver v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/cdcl/language.rs:84:39 [INFO] [stdout] | [INFO] [stdout] 84 | Value::Any => Ok(variables[index] = value.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] = note: `#[warn(clippy::unit_arg)]` on by default [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 84 ~ Value::Any => { [INFO] [stdout] 85 + let _: () = variables[index] = value.into(); [INFO] [stdout] 86 + Ok(()) [INFO] [stdout] 87 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/cdcl/language.rs:102:27 [INFO] [stdout] | [INFO] [stdout] 102 | Value::Any => Ok(self.variables[literal.index] = Value::Some(!literal.inverted)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 102 ~ Value::Any => { [INFO] [stdout] 103 + let _: () = self.variables[literal.index] = Value::Some(!literal.inverted); [INFO] [stdout] 104 + Ok(()) [INFO] [stdout] 105 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/language.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | return true; [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] 127 - return true; [INFO] [stdout] 127 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/cdcl/language.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | / match variable { [INFO] [stdout] 123 | | Value::Any => return false, [INFO] [stdout] 124 | | _ => (), [INFO] [stdout] 125 | | } [INFO] [stdout] | |_____________^ help: try: `if variable == &Value::Any { return false }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/language.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | / return Self { [INFO] [stdout] 181 | | inverted: !self.inverted, [INFO] [stdout] 182 | | ..*self [INFO] [stdout] 183 | | }; [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] 180 ~ Self { [INFO] [stdout] 181 + inverted: !self.inverted, [INFO] [stdout] 182 + ..*self [INFO] [stdout] 183 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/cdcl/language.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | representation.sort_by(|a, b| a.abs().cmp(&b.abs())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 205 - representation.sort_by(|a, b| a.abs().cmp(&b.abs())); [INFO] [stdout] 205 + representation.sort_by_key(|a| a.abs()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/cdcl/language.rs:210:22 [INFO] [stdout] | [INFO] [stdout] 210 | .map(|literal| Literal::new(literal)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Literal::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/cdcl/language.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | / Ok(self.literals.iter().try_for_each(|l| { [INFO] [stdout] 224 | | if l.index > *max_height { [INFO] [stdout] 225 | | return Err(Error::Validation(format!( [INFO] [stdout] 226 | | "found incorrect index for literal (got {}, must not be higher than {})", [INFO] [stdout] ... | [INFO] [stdout] 230 | | Ok(()) [INFO] [stdout] 231 | | })?) [INFO] [stdout] | |____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 223 ~ self.literals.iter().try_for_each(|l| { [INFO] [stdout] 224 | if l.index > *max_height { [INFO] [stdout] ... [INFO] [stdout] 230 | Ok(()) [INFO] [stdout] 231 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CNF` contains a capitalized acronym [INFO] [stdout] --> src/cdcl/language.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct CNF { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Cnf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/cdcl/language.rs:278:16 [INFO] [stdout] | [INFO] [stdout] 278 | if !(disjuncts.len() == clauses) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(disjuncts.len() != clauses)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stdout] --> src/cdcl/solver.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | / match &self { [INFO] [stdout] 106 | | &SolverVerdict::NotSatisfiable => write!(f, "UNSAT"), [INFO] [stdout] 107 | | &SolverVerdict::Satisfiable(theory) => { [INFO] [stdout] 108 | | write!(f, "SAT: {theory}") [INFO] [stdout] 109 | | } [INFO] [stdout] 110 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 105 ~ match self { [INFO] [stdout] 106 ~ SolverVerdict::NotSatisfiable => write!(f, "UNSAT"), [INFO] [stdout] 107 ~ SolverVerdict::Satisfiable(theory) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/solver.rs:130:21 [INFO] [stdout] | [INFO] [stdout] 130 | return None; [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] 130 - return None; [INFO] [stdout] 130 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/solver.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | return Some(x.clone()); [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] 132 - return Some(x.clone()); [INFO] [stdout] 132 + Some(x.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Literal` which implements the `Copy` trait [INFO] [stdout] --> src/cdcl/solver.rs:132:33 [INFO] [stdout] | [INFO] [stdout] 132 | return Some(x.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Literal` which implements the `Copy` trait [INFO] [stdout] --> src/cdcl/solver.rs:170:61 [INFO] [stdout] | [INFO] [stdout] 170 | ... implications_in_order.push((implication.clone(), disjunct.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*implication` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cdcl/solver.rs:192:78 [INFO] [stdout] | [INFO] [stdout] 192 | ... || learned.literals.contains(&literal) [INFO] [stdout] | ^^^^^^^^ help: change this to: `literal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cdcl/solver.rs:202:74 [INFO] [stdout] | [INFO] [stdout] 202 | ... || learned.literals.contains(&literal) [INFO] [stdout] | ^^^^^^^^ help: change this to: `literal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/solver.rs:228:45 [INFO] [stdout] | [INFO] [stdout] 228 | ... (None, None) => return (Some(*next), None), [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] 228 - (None, None) => return (Some(*next), None), [INFO] [stdout] 228 + (None, None) => (Some(*next), None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/cdcl/language.rs:84:39 [INFO] [stdout] | [INFO] [stdout] 84 | Value::Any => Ok(variables[index] = value.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] = note: `#[warn(clippy::unit_arg)]` on by default [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 84 ~ Value::Any => { [INFO] [stdout] 85 + let _: () = variables[index] = value.into(); [INFO] [stdout] 86 + Ok(()) [INFO] [stdout] 87 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/cdcl/language.rs:102:27 [INFO] [stdout] | [INFO] [stdout] 102 | Value::Any => Ok(self.variables[literal.index] = Value::Some(!literal.inverted)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 102 ~ Value::Any => { [INFO] [stdout] 103 + let _: () = self.variables[literal.index] = Value::Some(!literal.inverted); [INFO] [stdout] 104 + Ok(()) [INFO] [stdout] 105 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/language.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | return true; [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] 127 - return true; [INFO] [stdout] 127 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/cdcl/language.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | / match variable { [INFO] [stdout] 123 | | Value::Any => return false, [INFO] [stdout] 124 | | _ => (), [INFO] [stdout] 125 | | } [INFO] [stdout] | |_____________^ help: try: `if variable == &Value::Any { return false }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `nom::error::VerboseError<&str>` [INFO] [stdout] --> src/cdcl/mod.rs:75:84 [INFO] [stdout] | [INFO] [stdout] 75 | .map_err(|e| e.map(|e| Error::ParseVerbose(nom::error::convert_error(data, e.into())))) [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/cdcl/mod.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | Ok(println!("{}", cnf.solve()?)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 79 ~ println!("{}", cnf.solve()?); [INFO] [stdout] 80 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/language.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | / return Self { [INFO] [stdout] 181 | | inverted: !self.inverted, [INFO] [stdout] 182 | | ..*self [INFO] [stdout] 183 | | }; [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] 180 ~ Self { [INFO] [stdout] 181 + inverted: !self.inverted, [INFO] [stdout] 182 + ..*self [INFO] [stdout] 183 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/cdcl/language.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | representation.sort_by(|a, b| a.abs().cmp(&b.abs())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 205 - representation.sort_by(|a, b| a.abs().cmp(&b.abs())); [INFO] [stdout] 205 + representation.sort_by_key(|a| a.abs()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/cdcl/language.rs:210:22 [INFO] [stdout] | [INFO] [stdout] 210 | .map(|literal| Literal::new(literal)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Literal::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/cdcl/language.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | / Ok(self.literals.iter().try_for_each(|l| { [INFO] [stdout] 224 | | if l.index > *max_height { [INFO] [stdout] 225 | | return Err(Error::Validation(format!( [INFO] [stdout] 226 | | "found incorrect index for literal (got {}, must not be higher than {})", [INFO] [stdout] ... | [INFO] [stdout] 230 | | Ok(()) [INFO] [stdout] 231 | | })?) [INFO] [stdout] | |____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 223 ~ self.literals.iter().try_for_each(|l| { [INFO] [stdout] 224 | if l.index > *max_height { [INFO] [stdout] ... [INFO] [stdout] 230 | Ok(()) [INFO] [stdout] 231 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CNF` contains a capitalized acronym [INFO] [stdout] --> src/cdcl/language.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct CNF { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Cnf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/cdcl/language.rs:278:16 [INFO] [stdout] | [INFO] [stdout] 278 | if !(disjuncts.len() == clauses) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(disjuncts.len() != clauses)` [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/smt_euf.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | 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] 148 - return false; [INFO] [stdout] 148 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | return true; [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] 150 - return true; [INFO] [stdout] 150 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/smt_euf.rs:110:33 [INFO] [stdout] | [INFO] [stdout] 110 | .partition(|(k, v)| match (k, v) { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 111 | | (Atom::Eq(..), true) | (Atom::Neq(..), false) => true, [INFO] [stdout] 112 | | _ => false, [INFO] [stdout] 113 | | }); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 110 - .partition(|(k, v)| match (k, v) { [INFO] [stdout] 111 - (Atom::Eq(..), true) | (Atom::Neq(..), false) => true, [INFO] [stdout] 112 - _ => false, [INFO] [stdout] 113 - }); [INFO] [stdout] 110 + .partition(|(k, v)| matches!((k, v), (Atom::Eq(..), true) | (Atom::Neq(..), false))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stdout] --> src/cdcl/solver.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | / match &self { [INFO] [stdout] 106 | | &SolverVerdict::NotSatisfiable => write!(f, "UNSAT"), [INFO] [stdout] 107 | | &SolverVerdict::Satisfiable(theory) => { [INFO] [stdout] 108 | | write!(f, "SAT: {theory}") [INFO] [stdout] 109 | | } [INFO] [stdout] 110 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 105 ~ match self { [INFO] [stdout] 106 ~ SolverVerdict::NotSatisfiable => write!(f, "UNSAT"), [INFO] [stdout] 107 ~ SolverVerdict::Satisfiable(theory) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/smt_euf.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | eq.sort_by(|(a, _), (b, _)| a.cmp(&b)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 114 - eq.sort_by(|(a, _), (b, _)| a.cmp(&b)); [INFO] [stdout] 114 + eq.sort_by_key(|(a, _)| *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/smt_euf.rs:114:43 [INFO] [stdout] | [INFO] [stdout] 114 | eq.sort_by(|(a, _), (b, _)| a.cmp(&b)); [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/smt_euf.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | eq.sort_by(|(a, _), (b, _)| a.order().cmp(&b.order())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 115 - eq.sort_by(|(a, _), (b, _)| a.order().cmp(&b.order())); [INFO] [stdout] 115 + eq.sort_by_key(|(a, _)| a.order()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smt_euf.rs:126:39 [INFO] [stdout] | [INFO] [stdout] 126 | eq.iter().for_each(|(rel, _)| match rel { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 127 | | Atom::Eq(a, b) => classes.add_eq(a, b), [INFO] [stdout] 128 | | _ => (), [INFO] [stdout] 129 | | }); [INFO] [stdout] | |_________^ help: try: `if let Atom::Eq(a, b) = rel { classes.add_eq(a, b) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/solver.rs:130:21 [INFO] [stdout] | [INFO] [stdout] 130 | return None; [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] 130 - return None; [INFO] [stdout] 130 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/solver.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | return Some(x.clone()); [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] 132 - return Some(x.clone()); [INFO] [stdout] 132 + Some(x.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/smt_euf.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | .filter(|v| match v.0 { [INFO] [stdout] | _________________________^ [INFO] [stdout] 158 | | Atom::Eq(..) => true, [INFO] [stdout] 159 | | _ => false, [INFO] [stdout] 160 | | }) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 157 - .filter(|v| match v.0 { [INFO] [stdout] 158 - Atom::Eq(..) => true, [INFO] [stdout] 159 - _ => false, [INFO] [stdout] 160 - }) [INFO] [stdout] 157 + .filter(|v| matches!(v.0, Atom::Eq(..))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | return ret; [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] 256 - return ret; [INFO] [stdout] 256 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smt_euf.rs:241:21 [INFO] [stdout] | [INFO] [stdout] 241 | / match l { [INFO] [stdout] 242 | | Both(l, r) => ret.push(self.get_eq((*r, *l))), [INFO] [stdout] 243 | | _ => (), [INFO] [stdout] 244 | | }; [INFO] [stdout] | |_____________________^ help: try: `if let Both(l, r) = l { ret.push(self.get_eq((*r, *l))) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smt_euf.rs:245:21 [INFO] [stdout] | [INFO] [stdout] 245 | / match r { [INFO] [stdout] 246 | | Both(l, r) => ret.push(self.get_eq((*r, *l))), [INFO] [stdout] 247 | | _ => (), [INFO] [stdout] 248 | | }; [INFO] [stdout] | |_____________________^ help: try: `if let Both(l, r) = r { ret.push(self.get_eq((*r, *l))) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smt_euf.rs:251:35 [INFO] [stdout] | [INFO] [stdout] 251 | Left(x) | Right(x) => match x { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 252 | | Both(l, r) => ret.push(self.get_eq((*r, *l))), [INFO] [stdout] 253 | | _ => (), [INFO] [stdout] 254 | | }, [INFO] [stdout] | |_____________^ help: try: `if let Both(l, r) = x { ret.push(self.get_eq((*r, *l))) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | return class; [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] 339 - return class; [INFO] [stdout] 339 + class [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Literal` which implements the `Copy` trait [INFO] [stdout] --> src/cdcl/solver.rs:132:33 [INFO] [stdout] | [INFO] [stdout] 132 | return Some(x.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | return vec![node]; [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] 361 - return vec![node]; [INFO] [stdout] 361 + vec![node] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:365:13 [INFO] [stdout] | [INFO] [stdout] 365 | return prefix; [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] 365 - return prefix; [INFO] [stdout] 365 + prefix [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/smt_euf.rs:390:32 [INFO] [stdout] | [INFO] [stdout] 390 | .sorted_by_key(|x| x.1.clone()) [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*x.1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Literal` which implements the `Copy` trait [INFO] [stdout] --> src/cdcl/solver.rs:170:61 [INFO] [stdout] | [INFO] [stdout] 170 | ... implications_in_order.push((implication.clone(), disjunct.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*implication` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cdcl/solver.rs:192:78 [INFO] [stdout] | [INFO] [stdout] 192 | ... || learned.literals.contains(&literal) [INFO] [stdout] | ^^^^^^^^ help: change this to: `literal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cdcl/solver.rs:202:74 [INFO] [stdout] | [INFO] [stdout] 202 | ... || learned.literals.contains(&literal) [INFO] [stdout] | ^^^^^^^^ help: change this to: `literal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cdcl/solver.rs:228:45 [INFO] [stdout] | [INFO] [stdout] 228 | ... (None, None) => return (Some(*next), None), [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] 228 - (None, None) => return (Some(*next), None), [INFO] [stdout] 228 + (None, None) => (Some(*next), None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/smt_euf.rs:492:25 [INFO] [stdout] | [INFO] [stdout] 492 | |disjuncts| Conjunct::new(disjuncts), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Conjunct::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/smt_euf.rs:514:25 [INFO] [stdout] | [INFO] [stdout] 514 | |atoms| Disjunct::new(atoms), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Disjunct::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/smt_euf.rs:559:33 [INFO] [stdout] | [INFO] [stdout] 559 | map(identifier, |name| Term::Identifier(name)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Term::Identifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/smt_euf.rs:563:31 [INFO] [stdout] | [INFO] [stdout] 563 | map(constant, |name| Term::Identifier(name)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Term::Identifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `nom::error::VerboseError<&str>` [INFO] [stdout] --> src/cdcl/mod.rs:75:84 [INFO] [stdout] | [INFO] [stdout] 75 | .map_err(|e| e.map(|e| Error::ParseVerbose(nom::error::convert_error(data, e.into())))) [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/cdcl/mod.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | Ok(println!("{}", cnf.solve()?)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 79 ~ println!("{}", cnf.solve()?); [INFO] [stdout] 80 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stdout] --> src/smt_euf.rs:716:13 [INFO] [stdout] | [INFO] [stdout] 716 | / match &self { [INFO] [stdout] 717 | | &SolverVerdict::NotSatisfiable => write!(f, "UNSAT"), [INFO] [stdout] 718 | | &SolverVerdict::Satisfiable(theory) => { [INFO] [stdout] 719 | | write!(f, "SAT: {theory}") [INFO] [stdout] 720 | | } [INFO] [stdout] 721 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 716 ~ match self { [INFO] [stdout] 717 ~ SolverVerdict::NotSatisfiable => write!(f, "UNSAT"), [INFO] [stdout] 718 ~ SolverVerdict::Satisfiable(theory) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:730:21 [INFO] [stdout] | [INFO] [stdout] 730 | return None; [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] 730 - return None; [INFO] [stdout] 730 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:732:21 [INFO] [stdout] | [INFO] [stdout] 732 | return Some(x.clone()); [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] 732 - return Some(x.clone()); [INFO] [stdout] 732 + Some(x.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/smt_euf.rs:792:75 [INFO] [stdout] | [INFO] [stdout] 792 | ... || learned.atoms.contains(&literal) [INFO] [stdout] | ^^^^^^^^ help: change this to: `literal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/smt_euf.rs:802:71 [INFO] [stdout] | [INFO] [stdout] 802 | ... || learned.atoms.contains(&literal) [INFO] [stdout] | ^^^^^^^^ help: change this to: `literal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:831:53 [INFO] [stdout] | [INFO] [stdout] 831 | ... (None, None) => return (Some(*next), None), [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] 831 - (None, None) => return (Some(*next), None), [INFO] [stdout] 831 + (None, None) => (Some(*next), None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | 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] 148 - return false; [INFO] [stdout] 148 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | return true; [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] 150 - return true; [INFO] [stdout] 150 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/smt_euf.rs:110:33 [INFO] [stdout] | [INFO] [stdout] 110 | .partition(|(k, v)| match (k, v) { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 111 | | (Atom::Eq(..), true) | (Atom::Neq(..), false) => true, [INFO] [stdout] 112 | | _ => false, [INFO] [stdout] 113 | | }); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 110 - .partition(|(k, v)| match (k, v) { [INFO] [stdout] 111 - (Atom::Eq(..), true) | (Atom::Neq(..), false) => true, [INFO] [stdout] 112 - _ => false, [INFO] [stdout] 113 - }); [INFO] [stdout] 110 + .partition(|(k, v)| matches!((k, v), (Atom::Eq(..), true) | (Atom::Neq(..), false))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/smt_euf.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | eq.sort_by(|(a, _), (b, _)| a.cmp(&b)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 114 - eq.sort_by(|(a, _), (b, _)| a.cmp(&b)); [INFO] [stdout] 114 + eq.sort_by_key(|(a, _)| *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/smt_euf.rs:114:43 [INFO] [stdout] | [INFO] [stdout] 114 | eq.sort_by(|(a, _), (b, _)| a.cmp(&b)); [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/smt_euf.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | eq.sort_by(|(a, _), (b, _)| a.order().cmp(&b.order())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 115 - eq.sort_by(|(a, _), (b, _)| a.order().cmp(&b.order())); [INFO] [stdout] 115 + eq.sort_by_key(|(a, _)| a.order()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smt_euf.rs:126:39 [INFO] [stdout] | [INFO] [stdout] 126 | eq.iter().for_each(|(rel, _)| match rel { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 127 | | Atom::Eq(a, b) => classes.add_eq(a, b), [INFO] [stdout] 128 | | _ => (), [INFO] [stdout] 129 | | }); [INFO] [stdout] | |_________^ help: try: `if let Atom::Eq(a, b) = rel { classes.add_eq(a, b) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/smt_euf.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | .filter(|v| match v.0 { [INFO] [stdout] | _________________________^ [INFO] [stdout] 158 | | Atom::Eq(..) => true, [INFO] [stdout] 159 | | _ => false, [INFO] [stdout] 160 | | }) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 157 - .filter(|v| match v.0 { [INFO] [stdout] 158 - Atom::Eq(..) => true, [INFO] [stdout] 159 - _ => false, [INFO] [stdout] 160 - }) [INFO] [stdout] 157 + .filter(|v| matches!(v.0, Atom::Eq(..))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/main.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | Err(err) => Ok(println!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 86 | | "`Parse error: {}", [INFO] [stdout] 87 | | nom::error::convert_error(data, err) [INFO] [stdout] 88 | | )), [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 85 ~ Err(err) => { [INFO] [stdout] 86 + println!( [INFO] [stdout] 87 + "`Parse error: {}", [INFO] [stdout] 88 + nom::error::convert_error(data, err) [INFO] [stdout] 89 + ); [INFO] [stdout] 90 + Ok(()) [INFO] [stdout] 91 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | return ret; [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] 256 - return ret; [INFO] [stdout] 256 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smt_euf.rs:241:21 [INFO] [stdout] | [INFO] [stdout] 241 | / match l { [INFO] [stdout] 242 | | Both(l, r) => ret.push(self.get_eq((*r, *l))), [INFO] [stdout] 243 | | _ => (), [INFO] [stdout] 244 | | }; [INFO] [stdout] | |_____________________^ help: try: `if let Both(l, r) = l { ret.push(self.get_eq((*r, *l))) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smt_euf.rs:245:21 [INFO] [stdout] | [INFO] [stdout] 245 | / match r { [INFO] [stdout] 246 | | Both(l, r) => ret.push(self.get_eq((*r, *l))), [INFO] [stdout] 247 | | _ => (), [INFO] [stdout] 248 | | }; [INFO] [stdout] | |_____________________^ help: try: `if let Both(l, r) = r { ret.push(self.get_eq((*r, *l))) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smt_euf.rs:251:35 [INFO] [stdout] | [INFO] [stdout] 251 | Left(x) | Right(x) => match x { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 252 | | Both(l, r) => ret.push(self.get_eq((*r, *l))), [INFO] [stdout] 253 | | _ => (), [INFO] [stdout] 254 | | }, [INFO] [stdout] | |_____________^ help: try: `if let Both(l, r) = x { ret.push(self.get_eq((*r, *l))) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | return class; [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] 339 - return class; [INFO] [stdout] 339 + class [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | return vec![node]; [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] 361 - return vec![node]; [INFO] [stdout] 361 + vec![node] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:365:13 [INFO] [stdout] | [INFO] [stdout] 365 | return prefix; [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] 365 - return prefix; [INFO] [stdout] 365 + prefix [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/smt_euf.rs:390:32 [INFO] [stdout] | [INFO] [stdout] 390 | .sorted_by_key(|x| x.1.clone()) [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*x.1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/smt_euf.rs:492:25 [INFO] [stdout] | [INFO] [stdout] 492 | |disjuncts| Conjunct::new(disjuncts), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Conjunct::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/smt_euf.rs:514:25 [INFO] [stdout] | [INFO] [stdout] 514 | |atoms| Disjunct::new(atoms), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Disjunct::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/smt_euf.rs:559:33 [INFO] [stdout] | [INFO] [stdout] 559 | map(identifier, |name| Term::Identifier(name)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Term::Identifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/smt_euf.rs:563:31 [INFO] [stdout] | [INFO] [stdout] 563 | map(constant, |name| Term::Identifier(name)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Term::Identifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stdout] --> src/smt_euf.rs:716:13 [INFO] [stdout] | [INFO] [stdout] 716 | / match &self { [INFO] [stdout] 717 | | &SolverVerdict::NotSatisfiable => write!(f, "UNSAT"), [INFO] [stdout] 718 | | &SolverVerdict::Satisfiable(theory) => { [INFO] [stdout] 719 | | write!(f, "SAT: {theory}") [INFO] [stdout] 720 | | } [INFO] [stdout] 721 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 716 ~ match self { [INFO] [stdout] 717 ~ SolverVerdict::NotSatisfiable => write!(f, "UNSAT"), [INFO] [stdout] 718 ~ SolverVerdict::Satisfiable(theory) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:730:21 [INFO] [stdout] | [INFO] [stdout] 730 | return None; [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] 730 - return None; [INFO] [stdout] 730 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:732:21 [INFO] [stdout] | [INFO] [stdout] 732 | return Some(x.clone()); [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] 732 - return Some(x.clone()); [INFO] [stdout] 732 + Some(x.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/smt_euf.rs:792:75 [INFO] [stdout] | [INFO] [stdout] 792 | ... || learned.atoms.contains(&literal) [INFO] [stdout] | ^^^^^^^^ help: change this to: `literal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/smt_euf.rs:802:71 [INFO] [stdout] | [INFO] [stdout] 802 | ... || learned.atoms.contains(&literal) [INFO] [stdout] | ^^^^^^^^ help: change this to: `literal` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smt_euf.rs:831:53 [INFO] [stdout] | [INFO] [stdout] 831 | ... (None, None) => return (Some(*next), None), [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] 831 - (None, None) => return (Some(*next), None), [INFO] [stdout] 831 + (None, None) => (Some(*next), None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/main.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | Err(err) => Ok(println!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 86 | | "`Parse error: {}", [INFO] [stdout] 87 | | nom::error::convert_error(data, err) [INFO] [stdout] 88 | | )), [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 85 ~ Err(err) => { [INFO] [stdout] 86 + println!( [INFO] [stdout] 87 + "`Parse error: {}", [INFO] [stdout] 88 + nom::error::convert_error(data, err) [INFO] [stdout] 89 + ); [INFO] [stdout] 90 + Ok(()) [INFO] [stdout] 91 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.30s [INFO] running `Command { std: "docker" "inspect" "5f42b037b0eda258ab2f492f7ba084750426994c8426714c00c3bab59f4f86c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f42b037b0eda258ab2f492f7ba084750426994c8426714c00c3bab59f4f86c0", kill_on_drop: false }` [INFO] [stdout] 5f42b037b0eda258ab2f492f7ba084750426994c8426714c00c3bab59f4f86c0