[INFO] fetching crate fancy-regex 0.17.0... [INFO] linting fancy-regex-0.17.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate fancy-regex 0.17.0 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate fancy-regex 0.17.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate fancy-regex 0.17.0 [INFO] tweaked toml for crates.io crate fancy-regex 0.17.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fancy-regex 0.17.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate fancy-regex 0.17.0 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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 7d96b425ead7b16c7adc70290e7b075f05e5b157d6f354bdf6107d955330f0d9 [INFO] running `Command { std: "docker" "start" "-a" "7d96b425ead7b16c7adc70290e7b075f05e5b157d6f354bdf6107d955330f0d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7d96b425ead7b16c7adc70290e7b075f05e5b157d6f354bdf6107d955330f0d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d96b425ead7b16c7adc70290e7b075f05e5b157d6f354bdf6107d955330f0d9", kill_on_drop: false }` [INFO] [stdout] 7d96b425ead7b16c7adc70290e7b075f05e5b157d6f354bdf6107d955330f0d9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 12f21721bcb7c61bd4287ce52470da05ee560158582db4fc13c71dae1a51b637 [INFO] running `Command { std: "docker" "start" "-a" "12f21721bcb7c61bd4287ce52470da05ee560158582db4fc13c71dae1a51b637", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.167 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling serde v1.0.215 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking clap_builder v4.5.23 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking clap v4.5.23 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking fancy-regex v0.17.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking env_logger v0.8.4 [INFO] [stderr] Checking quickcheck v1.0.3 [INFO] [stderr] Compiling serde_derive v1.0.215 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> examples/toy.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> examples/toy.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | write!(writer, "digraph G {{\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 106 - write!(writer, "digraph G {{\n")?; [INFO] [stdout] 106 + writeln!(writer, "digraph G {{")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> examples/toy.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | write!(writer, "{:3} -> {};\n", i, a)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 114 - write!(writer, "{:3} -> {};\n", i, a)?; [INFO] [stdout] 114 + writeln!(writer, "{:3} -> {};", i, a)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> examples/toy.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | write!(writer, "{:3} -> {};\n", i, b)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 115 - write!(writer, "{:3} -> {};\n", i, b)?; [INFO] [stdout] 115 + writeln!(writer, "{:3} -> {};", i, b)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> examples/toy.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | write!(writer, "{:3} -> {};\n", i, target)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 118 - write!(writer, "{:3} -> {};\n", i, target)?; [INFO] [stdout] 118 + writeln!(writer, "{:3} -> {};", i, target)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> examples/toy.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | write!(writer, "{:3} -> {};\n", i, i + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 122 - write!(writer, "{:3} -> {};\n", i, i + 1)?; [INFO] [stdout] 122 + writeln!(writer, "{:3} -> {};", i, i + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> examples/toy.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | write!(writer, "}}\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 126 - write!(writer, "}}\n")?; [INFO] [stdout] 126 + writeln!(writer, "}}")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> examples/toy.rs:131:37 [INFO] [stdout] | [INFO] [stdout] 131 | let mut tree = Expr::parse_tree(&re).unwrap(); [INFO] [stdout] | ^^^ help: change this to: `re` [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: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/matching.rs:261:5 [INFO] [stdout] | [INFO] [stdout] 261 | / assert_eq!( [INFO] [stdout] 262 | | result, true, [INFO] [stdout] 263 | | "Expected regex '{}' to match text '{}'", [INFO] [stdout] 264 | | re, text [INFO] [stdout] 265 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 261 ~ assert!( [INFO] [stdout] 262 ~ result, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/matching.rs:271:5 [INFO] [stdout] | [INFO] [stdout] 271 | / assert_eq!( [INFO] [stdout] 272 | | result, false, [INFO] [stdout] 273 | | "Expected regex '{}' to not match text '{}'", [INFO] [stdout] 274 | | re, text [INFO] [stdout] 275 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 271 ~ assert!( [INFO] [stdout] 272 ~ !result, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> benches/bench.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return result; [INFO] [stdout] 71 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> benches/bench.rs:96:35 [INFO] [stdout] | [INFO] [stdout] 96 | b.iter(|| run_default(&p, &s, 0).unwrap_err()) [INFO] [stdout] | ^^ help: change this to: `s` [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: the loop variable `i` is used to index `matches` [INFO] [stdout] --> tests/finding.rs:389:18 [INFO] [stdout] | [INFO] [stdout] 389 | for i in 0..matches.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 389 - for i in 0..matches.len() { [INFO] [stdout] 389 + for (i, ) in matches.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `matches` [INFO] [stdout] --> tests/finding.rs:416:18 [INFO] [stdout] | [INFO] [stdout] 416 | for i in 0..matches.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 416 - for i in 0..matches.len() { [INFO] [stdout] 416 + for (i, ) in matches.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `matches` [INFO] [stdout] --> tests/finding.rs:444:18 [INFO] [stdout] | [INFO] [stdout] 444 | for i in 0..matches.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 444 - for i in 0..matches.len() { [INFO] [stdout] 444 + for (i, ) in matches.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/oniguruma.rs:165:50 [INFO] [stdout] | [INFO] [stdout] 165 | let captures_result = regex.captures(&text).unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `text` [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] --> tests/oniguruma.rs:187:37 [INFO] [stdout] | [INFO] [stdout] 187 | let result = regex.find(&text).unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `text` [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 assertion is always `false` [INFO] [stdout] --> tests/oniguruma.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | assert!(false, "Test {} failed: {}", &test.source, failure); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | assert!(!analyze(&Expr::parse_tree(r"(.\1)").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(.\1)").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:461:17 [INFO] [stdout] | [INFO] [stdout] 461 | assert!(!analyze(&Expr::parse_tree(r"((.\1))").unwrap(), true).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"((.\1))").unwrap(), true).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:462:17 [INFO] [stdout] | [INFO] [stdout] 462 | assert!(!analyze(&Expr::parse_tree(r"(([ab]+)\1b)").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(([ab]+)\1b)").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:464:17 [INFO] [stdout] | [INFO] [stdout] 464 | assert!(!analyze(&Expr::parse_tree(r"(([ab]+?)(?(1)\1| )c)+").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(([ab]+?)(?(1)\1| )c)+").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:469:17 [INFO] [stdout] | [INFO] [stdout] 469 | assert!(!analyze(&Expr::parse_tree(r"\1(.)").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"\1(.)").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:470:17 [INFO] [stdout] | [INFO] [stdout] 470 | assert!(!analyze(&Expr::parse_tree(r"(\1(.))").unwrap(), true).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(\1(.))").unwrap(), true).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:475:17 [INFO] [stdout] | [INFO] [stdout] 475 | assert!(!analyze(&Expr::parse_tree(r"(.)\1").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(.)\1").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | assert!(!analyze(&Expr::parse_tree(r"((.)\1)").unwrap(), true).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"((.)\1)").unwrap(), true).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:478:17 [INFO] [stdout] | [INFO] [stdout] 478 | assert!(!analyze(&Expr::parse_tree(r"((.)\2\2)\1").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"((.)\2\2)\1").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:479:17 [INFO] [stdout] | [INFO] [stdout] 479 | assert!(!analyze(&Expr::parse_tree(r"(.)\1(.)\2").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(.)\1(.)\2").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:480:17 [INFO] [stdout] | [INFO] [stdout] 480 | assert!(!analyze(&Expr::parse_tree(r"(.)foo(.)\2").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(.)foo(.)\2").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:481:17 [INFO] [stdout] | [INFO] [stdout] 481 | assert!(!analyze(&Expr::parse_tree(r"(.)(foo)(.)\3\2\1").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(.)(foo)(.)\3\2\1").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:482:17 [INFO] [stdout] | [INFO] [stdout] 482 | assert!(!analyze(&Expr::parse_tree(r"(.)(foo)(.)\3\1").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(.)(foo)(.)\3\1").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:483:17 [INFO] [stdout] | [INFO] [stdout] 483 | assert!(!analyze(&Expr::parse_tree(r"(.)(foo)(.)\2\1").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(.)(foo)(.)\2\1").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/analyze.rs:520:9 [INFO] [stdout] | [INFO] [stdout] 520 | assert_eq!(info.is_literal(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 520 - assert_eq!(info.is_literal(), true); [INFO] [stdout] 520 + assert!(info.is_literal()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/analyze.rs:527:9 [INFO] [stdout] | [INFO] [stdout] 527 | assert_eq!(info.is_literal(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 527 - assert_eq!(info.is_literal(), false); [INFO] [stdout] 527 + assert!(!info.is_literal()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/analyze.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 533 | assert_eq!(can_compile_as_anchored(&tree.expr), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 533 - assert_eq!(can_compile_as_anchored(&tree.expr), true); [INFO] [stdout] 533 + assert!(can_compile_as_anchored(&tree.expr)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/analyze.rs:536:9 [INFO] [stdout] | [INFO] [stdout] 536 | assert_eq!(can_compile_as_anchored(&tree.expr), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 536 - assert_eq!(can_compile_as_anchored(&tree.expr), true); [INFO] [stdout] 536 + assert!(can_compile_as_anchored(&tree.expr)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:578:17 [INFO] [stdout] | [INFO] [stdout] 578 | assert!(!analyze(&Expr::parse_tree(r"(hello)(?<=\b\1)").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(hello)(?<=\b\1)").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:579:17 [INFO] [stdout] | [INFO] [stdout] 579 | assert!(!analyze(&Expr::parse_tree(r"(..)(?<=\1\1)").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(..)(?<=\1\1)").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analyze.rs:580:17 [INFO] [stdout] | [INFO] [stdout] 580 | assert!(!analyze(&Expr::parse_tree(r"(abc)(?<=\1)def").unwrap(), false).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `analyze(&Expr::parse_tree(r"(abc)(?<=\1)def").unwrap(), false).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/analyze.rs:586:9 [INFO] [stdout] | [INFO] [stdout] 586 | assert_eq!(can_compile_as_anchored(&tree.expr), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 586 - assert_eq!(can_compile_as_anchored(&tree.expr), false); [INFO] [stdout] 586 + assert!(!can_compile_as_anchored(&tree.expr)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | assert_eq!(requires_capture_group_fixup, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 95 - assert_eq!(requires_capture_group_fixup, true); [INFO] [stdout] 95 + assert!(requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | assert_eq!(requires_capture_group_fixup, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 105 - assert_eq!(requires_capture_group_fixup, true); [INFO] [stdout] 105 + assert!(requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | assert_eq!(requires_capture_group_fixup, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 115 - assert_eq!(requires_capture_group_fixup, true); [INFO] [stdout] 115 + assert!(requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | assert_eq!(requires_capture_group_fixup, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 125 - assert_eq!(requires_capture_group_fixup, true); [INFO] [stdout] 125 + assert!(requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 146 - assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] 146 + assert!(!requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 155 - assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] 155 + assert!(!requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 164 - assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] 164 + assert!(!requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 173 - assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] 173 + assert!(!requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/optimize.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 179 - assert_eq!(requires_capture_group_fixup, false); [INFO] [stdout] 179 + assert!(!requires_capture_group_fixup); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/parse.rs:1263:9 [INFO] [stdout] | [INFO] [stdout] 1263 | options.oniguruma_mode = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `RegexOptions { oniguruma_mode: true, pattern: String::from(s), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/parse.rs:1262:9 [INFO] [stdout] | [INFO] [stdout] 1262 | let mut options = RegexOptions::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.63s [INFO] running `Command { std: "docker" "inspect" "12f21721bcb7c61bd4287ce52470da05ee560158582db4fc13c71dae1a51b637", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12f21721bcb7c61bd4287ce52470da05ee560158582db4fc13c71dae1a51b637", kill_on_drop: false }` [INFO] [stdout] 12f21721bcb7c61bd4287ce52470da05ee560158582db4fc13c71dae1a51b637