[INFO] cloning repository https://github.com/nick1udwig/test-ir [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nick1udwig/test-ir" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnick1udwig%2Ftest-ir", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnick1udwig%2Ftest-ir'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 735302bcdad667780967a2b79c47b6429cb59131 [INFO] linting nick1udwig/test-ir against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnick1udwig%2Ftest-ir" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/nick1udwig/test-ir [INFO] finished tweaking git repo https://github.com/nick1udwig/test-ir [INFO] tweaked toml for git repo https://github.com/nick1udwig/test-ir written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/nick1udwig/test-ir 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/nick1udwig/test-ir 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-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 7993b7d3cf2fe55bc675f610e00fda4614dee764d646d37387bca3d848bb0e76 [INFO] running `Command { std: "docker" "start" "-a" "7993b7d3cf2fe55bc675f610e00fda4614dee764d646d37387bca3d848bb0e76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7993b7d3cf2fe55bc675f610e00fda4614dee764d646d37387bca3d848bb0e76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7993b7d3cf2fe55bc675f610e00fda4614dee764d646d37387bca3d848bb0e76", kill_on_drop: false }` [INFO] [stdout] 7993b7d3cf2fe55bc675f610e00fda4614dee764d646d37387bca3d848bb0e76 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] e3689b5e5ebb1a728610e16f5fceea7ebabc2e170cfa69d8a29297ba444874c8 [INFO] running `Command { std: "docker" "start" "-a" "e3689b5e5ebb1a728610e16f5fceea7ebabc2e170cfa69d8a29297ba444874c8", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking rustix v1.1.4 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking clap_builder v4.5.60 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking getrandom v0.4.2 [INFO] [stderr] Checking tempfile v3.26.0 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Checking clap v4.5.60 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking test-ir-core v0.1.0 (/opt/rustwide/workdir/crates/test-ir-core) [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:630:32 [INFO] [stdout] | [INFO] [stdout] 630 | fn dedupe_canonical_predicates<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 631 | predicates: Vec<(PredicateAtom, &'a crate::ir::Predicate)>, [INFO] [stdout] | ^^ [INFO] [stdout] 632 | ) -> Vec<(PredicateAtom, &'a crate::ir::Predicate)> { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 630 ~ fn dedupe_canonical_predicates( [INFO] [stdout] 631 ~ predicates: Vec<(PredicateAtom, &crate::ir::Predicate)>, [INFO] [stdout] 632 ~ ) -> Vec<(PredicateAtom, &crate::ir::Predicate)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1181:12 [INFO] [stdout] | [INFO] [stdout] 1181 | if (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] | ____________^ [INFO] [stdout] 1182 | | || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] | |_____________________________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 1181 - if (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] 1182 - || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] 1181 + if !(atom.rhs != "0" || atom.kind != "neq" && atom.kind != "gt") [INFO] [stdout] | [INFO] [stdout] 1181 - if (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] 1182 - || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] 1181 + if (atom.kind == "gt" || atom.kind == "neq") && atom.rhs == "0" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:949:55 [INFO] [stdout] | [INFO] [stdout] 949 | } else if atom.kind == "eq" && rhs == "false" { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 950 | | atom.kind = "not_contains".to_string(); [INFO] [stdout] 951 | | atom.lhs = container; [INFO] [stdout] 952 | | atom.rhs = needle; [INFO] [stdout] 953 | | } else if atom.kind == "neq" && rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:953:55 [INFO] [stdout] | [INFO] [stdout] 953 | } else if atom.kind == "neq" && rhs == "true" { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 954 | | atom.kind = "not_contains".to_string(); [INFO] [stdout] 955 | | atom.lhs = container; [INFO] [stdout] 956 | | atom.rhs = needle; [INFO] [stdout] 957 | | } else if atom.kind == "neq" && rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:970:55 [INFO] [stdout] | [INFO] [stdout] 970 | } else if atom.kind == "eq" && rhs == "false" { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 971 | | atom.kind = "not_contains".to_string(); [INFO] [stdout] 972 | | atom.lhs = container; [INFO] [stdout] 973 | | atom.rhs = needle; [INFO] [stdout] 974 | | } else if atom.kind == "neq" && rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:974:55 [INFO] [stdout] | [INFO] [stdout] 974 | } else if atom.kind == "neq" && rhs == "true" { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 975 | | atom.kind = "not_contains".to_string(); [INFO] [stdout] 976 | | atom.lhs = container; [INFO] [stdout] 977 | | atom.rhs = needle; [INFO] [stdout] 978 | | } else if atom.kind == "neq" && rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:998:66 [INFO] [stdout] | [INFO] [stdout] 998 | } else if atom.kind == "neq" && is_absent_literal(&atom.rhs) { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 999 | | atom.kind = "is_present".to_string(); [INFO] [stdout] 1000 | | atom.rhs.clear(); [INFO] [stdout] 1001 | | } else if atom.kind == "eq" [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1003:5 [INFO] [stdout] | [INFO] [stdout] 1003 | / { [INFO] [stdout] 1004 | | atom.kind = "is_present".to_string(); [INFO] [stdout] 1005 | | atom.rhs.clear(); [INFO] [stdout] 1006 | | } else if atom.kind == "neq" [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1076:60 [INFO] [stdout] | [INFO] [stdout] 1076 | } else if atom.kind == "eq" && atom.rhs == "false" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1077 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1078 | | atom.lhs = prefix_target; [INFO] [stdout] 1079 | | atom.rhs = format!("/^{}/", prefix_literal); [INFO] [stdout] 1080 | | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1080:60 [INFO] [stdout] | [INFO] [stdout] 1080 | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1081 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1082 | | atom.lhs = prefix_target; [INFO] [stdout] 1083 | | atom.rhs = format!("/^{}/", prefix_literal); [INFO] [stdout] 1084 | | } else if atom.kind == "neq" && atom.rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1096:60 [INFO] [stdout] | [INFO] [stdout] 1096 | } else if atom.kind == "eq" && atom.rhs == "false" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1097 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1098 | | atom.lhs = target; [INFO] [stdout] 1099 | | atom.rhs = format!("/^{}/", prefix_literal); [INFO] [stdout] 1100 | | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1100:60 [INFO] [stdout] | [INFO] [stdout] 1100 | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1101 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1102 | | atom.lhs = target; [INFO] [stdout] 1103 | | atom.rhs = format!("/^{}/", prefix_literal); [INFO] [stdout] 1104 | | } else if atom.kind == "neq" && atom.rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1116:60 [INFO] [stdout] | [INFO] [stdout] 1116 | } else if atom.kind == "eq" && atom.rhs == "false" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1117 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1118 | | atom.lhs = target; [INFO] [stdout] 1119 | | atom.rhs = format!("/{suffix_literal}$/"); [INFO] [stdout] 1120 | | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1120:60 [INFO] [stdout] | [INFO] [stdout] 1120 | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1121 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1122 | | atom.lhs = target; [INFO] [stdout] 1123 | | atom.rhs = format!("/{suffix_literal}$/"); [INFO] [stdout] 1124 | | } else if atom.kind == "neq" && atom.rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1426:5 [INFO] [stdout] | [INFO] [stdout] 1426 | / if a.kind != b.kind || !rhs_equal { [INFO] [stdout] 1427 | | if !predicate_atoms_equivalent_nonzero_count_presence(a, b) { [INFO] [stdout] 1428 | | return false; [INFO] [stdout] 1429 | | } [INFO] [stdout] 1430 | | } [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] 1426 ~ if (a.kind != b.kind || !rhs_equal) { [INFO] [stdout] 1427 ~ && !predicate_atoms_equivalent_nonzero_count_presence(a, b) { [INFO] [stdout] 1428 | return false; [INFO] [stdout] 1429 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1497:19 [INFO] [stdout] | [INFO] [stdout] 1497 | let present = (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] | ___________________^ [INFO] [stdout] 1498 | | || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] | |_________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1497 - let present = (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] 1498 - || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] 1497 + let present = !(atom.rhs != "0" || atom.kind != "neq" && atom.kind != "gt") [INFO] [stdout] | [INFO] [stdout] 1497 - let present = (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] 1498 - || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] 1497 + let present = (atom.kind == "gt" || atom.kind == "neq") && atom.rhs == "0" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing text with itself [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1742:9 [INFO] [stdout] | [INFO] [stdout] 1742 | s = s.replace(".tolowercase()", ".tolowercase()"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_effect_replace [INFO] [stdout] = note: `#[warn(clippy::no_effect_replace)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2268:13 [INFO] [stdout] | [INFO] [stdout] 2268 | Regex::new(r#"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\.get\("([a-z0-9_]+)"\)\)"#) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2265:5 [INFO] [stdout] | [INFO] [stdout] 2265 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] = note: `#[warn(clippy::regex_creation_in_loops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2276:13 [INFO] [stdout] | [INFO] [stdout] 2276 | Regex::new(r#"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\.get\('([a-z0-9_]+)'\)\)"#) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2265:5 [INFO] [stdout] | [INFO] [stdout] 2265 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2284:13 [INFO] [stdout] | [INFO] [stdout] 2284 | Regex::new(r"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\.([a-z0-9_]+)\)").expect("regex"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2265:5 [INFO] [stdout] | [INFO] [stdout] 2265 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2296:26 [INFO] [stdout] | [INFO] [stdout] 2296 | let re_convert = Regex::new(r"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\.[a-z0-9_]+\(\)\)$") [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2295:5 [INFO] [stdout] | [INFO] [stdout] 2295 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2302:27 [INFO] [stdout] | [INFO] [stdout] 2302 | let re_identity = Regex::new(r"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\)$").expect("regex"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2295:5 [INFO] [stdout] | [INFO] [stdout] 2295 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2307:21 [INFO] [stdout] | [INFO] [stdout] 2307 | let re_fn = Regex::new(r"\.andthen\([a-z0-9_:]+\)$").expect("regex"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2295:5 [INFO] [stdout] | [INFO] [stdout] 2295 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> crates/test-ir-core/src/plugins/ts_vitest.rs:293:17 [INFO] [stdout] | [INFO] [stdout] 293 | / if (matcher == "toBe" || matcher == "toEqual") && !is_not { [INFO] [stdout] 294 | | if let Some(object_src) = extract_object_like_arg(arg).or_else(|| { [INFO] [stdout] 295 | | resolve_bound_object_literal(arg, &object_bindings, &call_object_bindings) [INFO] [stdout] 296 | | }) { [INFO] [stdout] ... | [INFO] [stdout] 331 | | } [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] 293 ~ if (matcher == "toBe" || matcher == "toEqual") && !is_not [INFO] [stdout] 294 ~ && let Some(object_src) = extract_object_like_arg(arg).or_else(|| { [INFO] [stdout] 295 | resolve_bound_object_literal(arg, &object_bindings, &call_object_bindings) [INFO] [stdout] ... [INFO] [stdout] 329 | } [INFO] [stdout] 330 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking test-ir-cli v0.1.0 (/opt/rustwide/workdir/crates/test-ir-cli) [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:630:32 [INFO] [stdout] | [INFO] [stdout] 630 | fn dedupe_canonical_predicates<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 631 | predicates: Vec<(PredicateAtom, &'a crate::ir::Predicate)>, [INFO] [stdout] | ^^ [INFO] [stdout] 632 | ) -> Vec<(PredicateAtom, &'a crate::ir::Predicate)> { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 630 ~ fn dedupe_canonical_predicates( [INFO] [stdout] 631 ~ predicates: Vec<(PredicateAtom, &crate::ir::Predicate)>, [INFO] [stdout] 632 ~ ) -> Vec<(PredicateAtom, &crate::ir::Predicate)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1181:12 [INFO] [stdout] | [INFO] [stdout] 1181 | if (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] | ____________^ [INFO] [stdout] 1182 | | || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] | |_____________________________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 1181 - if (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] 1182 - || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] 1181 + if !(atom.rhs != "0" || atom.kind != "neq" && atom.kind != "gt") [INFO] [stdout] | [INFO] [stdout] 1181 - if (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] 1182 - || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] 1181 + if (atom.kind == "gt" || atom.kind == "neq") && atom.rhs == "0" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:949:55 [INFO] [stdout] | [INFO] [stdout] 949 | } else if atom.kind == "eq" && rhs == "false" { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 950 | | atom.kind = "not_contains".to_string(); [INFO] [stdout] 951 | | atom.lhs = container; [INFO] [stdout] 952 | | atom.rhs = needle; [INFO] [stdout] 953 | | } else if atom.kind == "neq" && rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:953:55 [INFO] [stdout] | [INFO] [stdout] 953 | } else if atom.kind == "neq" && rhs == "true" { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 954 | | atom.kind = "not_contains".to_string(); [INFO] [stdout] 955 | | atom.lhs = container; [INFO] [stdout] 956 | | atom.rhs = needle; [INFO] [stdout] 957 | | } else if atom.kind == "neq" && rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:970:55 [INFO] [stdout] | [INFO] [stdout] 970 | } else if atom.kind == "eq" && rhs == "false" { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 971 | | atom.kind = "not_contains".to_string(); [INFO] [stdout] 972 | | atom.lhs = container; [INFO] [stdout] 973 | | atom.rhs = needle; [INFO] [stdout] 974 | | } else if atom.kind == "neq" && rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:974:55 [INFO] [stdout] | [INFO] [stdout] 974 | } else if atom.kind == "neq" && rhs == "true" { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 975 | | atom.kind = "not_contains".to_string(); [INFO] [stdout] 976 | | atom.lhs = container; [INFO] [stdout] 977 | | atom.rhs = needle; [INFO] [stdout] 978 | | } else if atom.kind == "neq" && rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:998:66 [INFO] [stdout] | [INFO] [stdout] 998 | } else if atom.kind == "neq" && is_absent_literal(&atom.rhs) { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 999 | | atom.kind = "is_present".to_string(); [INFO] [stdout] 1000 | | atom.rhs.clear(); [INFO] [stdout] 1001 | | } else if atom.kind == "eq" [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1003:5 [INFO] [stdout] | [INFO] [stdout] 1003 | / { [INFO] [stdout] 1004 | | atom.kind = "is_present".to_string(); [INFO] [stdout] 1005 | | atom.rhs.clear(); [INFO] [stdout] 1006 | | } else if atom.kind == "neq" [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1076:60 [INFO] [stdout] | [INFO] [stdout] 1076 | } else if atom.kind == "eq" && atom.rhs == "false" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1077 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1078 | | atom.lhs = prefix_target; [INFO] [stdout] 1079 | | atom.rhs = format!("/^{}/", prefix_literal); [INFO] [stdout] 1080 | | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1080:60 [INFO] [stdout] | [INFO] [stdout] 1080 | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1081 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1082 | | atom.lhs = prefix_target; [INFO] [stdout] 1083 | | atom.rhs = format!("/^{}/", prefix_literal); [INFO] [stdout] 1084 | | } else if atom.kind == "neq" && atom.rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1096:60 [INFO] [stdout] | [INFO] [stdout] 1096 | } else if atom.kind == "eq" && atom.rhs == "false" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1097 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1098 | | atom.lhs = target; [INFO] [stdout] 1099 | | atom.rhs = format!("/^{}/", prefix_literal); [INFO] [stdout] 1100 | | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1100:60 [INFO] [stdout] | [INFO] [stdout] 1100 | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1101 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1102 | | atom.lhs = target; [INFO] [stdout] 1103 | | atom.rhs = format!("/^{}/", prefix_literal); [INFO] [stdout] 1104 | | } else if atom.kind == "neq" && atom.rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1116:60 [INFO] [stdout] | [INFO] [stdout] 1116 | } else if atom.kind == "eq" && atom.rhs == "false" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1117 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1118 | | atom.lhs = target; [INFO] [stdout] 1119 | | atom.rhs = format!("/{suffix_literal}$/"); [INFO] [stdout] 1120 | | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1120:60 [INFO] [stdout] | [INFO] [stdout] 1120 | } else if atom.kind == "neq" && atom.rhs == "true" { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 1121 | | atom.kind = "not_matches".to_string(); [INFO] [stdout] 1122 | | atom.lhs = target; [INFO] [stdout] 1123 | | atom.rhs = format!("/{suffix_literal}$/"); [INFO] [stdout] 1124 | | } else if atom.kind == "neq" && atom.rhs == "false" { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1426:5 [INFO] [stdout] | [INFO] [stdout] 1426 | / if a.kind != b.kind || !rhs_equal { [INFO] [stdout] 1427 | | if !predicate_atoms_equivalent_nonzero_count_presence(a, b) { [INFO] [stdout] 1428 | | return false; [INFO] [stdout] 1429 | | } [INFO] [stdout] 1430 | | } [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] 1426 ~ if (a.kind != b.kind || !rhs_equal) { [INFO] [stdout] 1427 ~ && !predicate_atoms_equivalent_nonzero_count_presence(a, b) { [INFO] [stdout] 1428 | return false; [INFO] [stdout] 1429 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1497:19 [INFO] [stdout] | [INFO] [stdout] 1497 | let present = (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] | ___________________^ [INFO] [stdout] 1498 | | || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] | |_________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1497 - let present = (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] 1498 - || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] 1497 + let present = !(atom.rhs != "0" || atom.kind != "neq" && atom.kind != "gt") [INFO] [stdout] | [INFO] [stdout] 1497 - let present = (atom.kind == "neq" && atom.rhs == "0") [INFO] [stdout] 1498 - || (atom.kind == "gt" && atom.rhs == "0") [INFO] [stdout] 1497 + let present = (atom.kind == "gt" || atom.kind == "neq") && atom.rhs == "0" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing text with itself [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:1742:9 [INFO] [stdout] | [INFO] [stdout] 1742 | s = s.replace(".tolowercase()", ".tolowercase()"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_effect_replace [INFO] [stdout] = note: `#[warn(clippy::no_effect_replace)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2268:13 [INFO] [stdout] | [INFO] [stdout] 2268 | Regex::new(r#"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\.get\("([a-z0-9_]+)"\)\)"#) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2265:5 [INFO] [stdout] | [INFO] [stdout] 2265 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] = note: `#[warn(clippy::regex_creation_in_loops)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2276:13 [INFO] [stdout] | [INFO] [stdout] 2276 | Regex::new(r#"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\.get\('([a-z0-9_]+)'\)\)"#) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2265:5 [INFO] [stdout] | [INFO] [stdout] 2265 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2284:13 [INFO] [stdout] | [INFO] [stdout] 2284 | Regex::new(r"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\.([a-z0-9_]+)\)").expect("regex"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2265:5 [INFO] [stdout] | [INFO] [stdout] 2265 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2296:26 [INFO] [stdout] | [INFO] [stdout] 2296 | let re_convert = Regex::new(r"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\.[a-z0-9_]+\(\)\)$") [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2295:5 [INFO] [stdout] | [INFO] [stdout] 2295 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2302:27 [INFO] [stdout] | [INFO] [stdout] 2302 | let re_identity = Regex::new(r"\.andthen\(\|[a-z0-9_]+\|\s*[a-z0-9_]+\)$").expect("regex"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2295:5 [INFO] [stdout] | [INFO] [stdout] 2295 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: compiling a regex in a loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2307:21 [INFO] [stdout] | [INFO] [stdout] 2307 | let re_fn = Regex::new(r"\.andthen\([a-z0-9_:]+\)$").expect("regex"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: move the regex construction outside this loop [INFO] [stdout] --> crates/test-ir-core/src/compare.rs:2295:5 [INFO] [stdout] | [INFO] [stdout] 2295 | loop { [INFO] [stdout] | ^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#regex_creation_in_loops [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> crates/test-ir-core/src/plugins/ts_vitest.rs:293:17 [INFO] [stdout] | [INFO] [stdout] 293 | / if (matcher == "toBe" || matcher == "toEqual") && !is_not { [INFO] [stdout] 294 | | if let Some(object_src) = extract_object_like_arg(arg).or_else(|| { [INFO] [stdout] 295 | | resolve_bound_object_literal(arg, &object_bindings, &call_object_bindings) [INFO] [stdout] 296 | | }) { [INFO] [stdout] ... | [INFO] [stdout] 331 | | } [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] 293 ~ if (matcher == "toBe" || matcher == "toEqual") && !is_not [INFO] [stdout] 294 ~ && let Some(object_src) = extract_object_like_arg(arg).or_else(|| { [INFO] [stdout] 295 | resolve_bound_object_literal(arg, &object_bindings, &call_object_bindings) [INFO] [stdout] ... [INFO] [stdout] 329 | } [INFO] [stdout] 330 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.81s [INFO] running `Command { std: "docker" "inspect" "e3689b5e5ebb1a728610e16f5fceea7ebabc2e170cfa69d8a29297ba444874c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3689b5e5ebb1a728610e16f5fceea7ebabc2e170cfa69d8a29297ba444874c8", kill_on_drop: false }` [INFO] [stdout] e3689b5e5ebb1a728610e16f5fceea7ebabc2e170cfa69d8a29297ba444874c8