[INFO] cloning repository https://github.com/kolach/query2json [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kolach/query2json" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkolach%2Fquery2json", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkolach%2Fquery2json'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 139b9a4066f0a25f49689659ee3ac79590a373e2 [INFO] linting kolach/query2json against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkolach%2Fquery2json" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/kolach/query2json [INFO] finished tweaking git repo https://github.com/kolach/query2json [INFO] tweaked toml for git repo https://github.com/kolach/query2json written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kolach/query2json 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/kolach/query2json 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] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded byte-unit v4.0.19 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2ef377ca15c538251864e05d6dc756558ea77ebc7d10b579d61a6be59fcf41d0 [INFO] running `Command { std: "docker" "start" "-a" "2ef377ca15c538251864e05d6dc756558ea77ebc7d10b579d61a6be59fcf41d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2ef377ca15c538251864e05d6dc756558ea77ebc7d10b579d61a6be59fcf41d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ef377ca15c538251864e05d6dc756558ea77ebc7d10b579d61a6be59fcf41d0", kill_on_drop: false }` [INFO] [stdout] 2ef377ca15c538251864e05d6dc756558ea77ebc7d10b579d61a6be59fcf41d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 224cfde9289c01428770a5b4b0a77aa09e856555629290f6502975aa706daff7 [INFO] running `Command { std: "docker" "start" "-a" "224cfde9289c01428770a5b4b0a77aa09e856555629290f6502975aa706daff7", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.195 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Checking utf8-width v0.1.7 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling serde_derive v1.0.195 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Checking byte-unit v4.0.19 [INFO] [stderr] Checking query2json v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser/build.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | if !it.peek().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `it.peek().is_some()` [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: deref on an immutable reference [INFO] [stdout] --> src/parser/build.rs:46:35 [INFO] [stdout] | [INFO] [stdout] 46 | self.visit_expr_value(&*expr)?; [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser/build.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | if !it.peek().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `it.peek().is_some()` [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: deref on an immutable reference [INFO] [stdout] --> src/parser/build.rs:95:19 [INFO] [stdout] | [INFO] [stdout] 95 | visit(&*expr, self)?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 95 - visit(&*expr, self)?; [INFO] [stdout] 95 + visit(expr, self)?; [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 95 | visit(&**expr, self)?; [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn ident<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [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] 31 - pub fn ident<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [INFO] [stdout] 31 + pub fn ident(input: &str) -> IResult<&str, &str> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:49:19 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn ident_path<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 49 - pub fn ident_path<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [INFO] [stdout] 49 + pub fn ident_path(input: &str) -> IResult<&str, &str> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn string<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 64 - pub fn string<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [INFO] [stdout] 64 + pub fn string(input: &str) -> IResult<&str, &str> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:80:19 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn regexp_str<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 80 - pub fn regexp_str<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [INFO] [stdout] 80 + pub fn regexp_str(input: &str) -> IResult<&str, &str> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn int<'a>(input: &'a str) -> IResult<&'a str, i64> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 95 - pub fn int<'a>(input: &'a str) -> IResult<&'a str, i64> { [INFO] [stdout] 95 + pub fn int(input: &str) -> IResult<&str, i64> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> src/parser/parse.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | map_res(digit1, |digits: &str| i64::from_str_radix(digits, 10)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `digits.parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn decimal<'a>(input: &'a str) -> IResult<&'a str, f64> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 110 - pub fn decimal<'a>(input: &'a str) -> IResult<&'a str, f64> { [INFO] [stdout] 110 + pub fn decimal(input: &str) -> IResult<&str, f64> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:131:18 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn time_unit<'a>(input: &'a str) -> IResult<&'a str, TimeUnit> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 131 - pub fn time_unit<'a>(input: &'a str) -> IResult<&'a str, TimeUnit> { [INFO] [stdout] 131 + pub fn time_unit(input: &str) -> IResult<&str, TimeUnit> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn duration<'a>(input: &'a str) -> IResult<&'a str, (f64, TimeUnit)> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 153 - pub fn duration<'a>(input: &'a str) -> IResult<&'a str, (f64, TimeUnit)> { [INFO] [stdout] 153 + pub fn duration(input: &str) -> IResult<&str, (f64, TimeUnit)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn byte_unit<'a>(input: &'a str) -> IResult<&'a str, ByteUnit> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 181 - pub fn byte_unit<'a>(input: &'a str) -> IResult<&'a str, ByteUnit> { [INFO] [stdout] 181 + pub fn byte_unit(input: &str) -> IResult<&str, ByteUnit> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:214:14 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn bytes<'a>(input: &'a str) -> IResult<&'a str, (f64, ByteUnit)> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 214 - pub fn bytes<'a>(input: &'a str) -> IResult<&'a str, (f64, ByteUnit)> { [INFO] [stdout] 214 + pub fn bytes(input: &str) -> IResult<&str, (f64, ByteUnit)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | pub fn boolean<'a>(input: &'a str) -> IResult<&'a str, bool> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 236 - pub fn boolean<'a>(input: &'a str) -> IResult<&'a str, bool> { [INFO] [stdout] 236 + pub fn boolean(input: &str) -> IResult<&str, bool> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/parser/parse.rs:239:57 [INFO] [stdout] | [INFO] [stdout] 239 | map(alt((tag("true"), tag("false"))), |v: &str| match v { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 240 | | "true" => true, [INFO] [stdout] 241 | | _ => false, [INFO] [stdout] 242 | | }), [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] 239 - map(alt((tag("true"), tag("false"))), |v: &str| match v { [INFO] [stdout] 240 - "true" => true, [INFO] [stdout] 241 - _ => false, [INFO] [stdout] 242 - }), [INFO] [stdout] 239 + map(alt((tag("true"), tag("false"))), |v: &str| matches!(v, "true")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn null<'a>(input: &'a str) -> IResult<&'a str, ()> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 253 - pub fn null<'a>(input: &'a str) -> IResult<&'a str, ()> { [INFO] [stdout] 253 + pub fn null(input: &str) -> IResult<&str, ()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/parser/parse.rs:299:18 [INFO] [stdout] | [INFO] [stdout] 299 | map(int, |v| ExprValue::Int(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ExprValue::Int` [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: redundant closure [INFO] [stdout] --> src/parser/parse.rs:300:22 [INFO] [stdout] | [INFO] [stdout] 300 | map(boolean, |v| ExprValue::Bool(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ExprValue::Bool` [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/parser/parse.rs:301:20 [INFO] [stdout] | [INFO] [stdout] 301 | map(ident, |v| ExprValue::Word(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ExprValue::Word` [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/parser/parse.rs:302:21 [INFO] [stdout] | [INFO] [stdout] 302 | map(string, |v| ExprValue::Str(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ExprValue::Str` [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 all patterns [INFO] [stdout] --> src/parser/syn.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | / match self { [INFO] [stdout] 20 | | &TimeUnit::S => "s", [INFO] [stdout] 21 | | &TimeUnit::M => "m", [INFO] [stdout] 22 | | &TimeUnit::H => "h", [INFO] [stdout] 23 | | &TimeUnit::D => "d", [INFO] [stdout] 24 | | } [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: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 19 ~ match *self { [INFO] [stdout] 20 ~ TimeUnit::S => "s", [INFO] [stdout] 21 ~ TimeUnit::M => "m", [INFO] [stdout] 22 ~ TimeUnit::H => "h", [INFO] [stdout] 23 ~ TimeUnit::D => "d", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/where_filter.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | let value = match n.op { [INFO] [stdout] | _____________________^ [INFO] [stdout] 91 | | Some(BoolOp::Ne) => false, [INFO] [stdout] 92 | | _ => true, [INFO] [stdout] 93 | | }; [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] 90 - let value = match n.op { [INFO] [stdout] 91 - Some(BoolOp::Ne) => false, [INFO] [stdout] 92 - _ => true, [INFO] [stdout] 93 - }; [INFO] [stdout] 90 + let value = !matches!(n.op, Some(BoolOp::Ne)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser/build.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | if !it.peek().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `it.peek().is_some()` [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: deref on an immutable reference [INFO] [stdout] --> src/parser/build.rs:46:35 [INFO] [stdout] | [INFO] [stdout] 46 | self.visit_expr_value(&*expr)?; [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `expr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser/build.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | if !it.peek().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `it.peek().is_some()` [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: deref on an immutable reference [INFO] [stdout] --> src/parser/build.rs:95:19 [INFO] [stdout] | [INFO] [stdout] 95 | visit(&*expr, self)?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 95 - visit(&*expr, self)?; [INFO] [stdout] 95 + visit(expr, self)?; [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 95 | visit(&**expr, self)?; [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn ident<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [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] 31 - pub fn ident<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [INFO] [stdout] 31 + pub fn ident(input: &str) -> IResult<&str, &str> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:49:19 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn ident_path<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 49 - pub fn ident_path<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [INFO] [stdout] 49 + pub fn ident_path(input: &str) -> IResult<&str, &str> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn string<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 64 - pub fn string<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [INFO] [stdout] 64 + pub fn string(input: &str) -> IResult<&str, &str> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:80:19 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn regexp_str<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 80 - pub fn regexp_str<'a>(input: &'a str) -> IResult<&'a str, &'a str> { [INFO] [stdout] 80 + pub fn regexp_str(input: &str) -> IResult<&str, &str> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn int<'a>(input: &'a str) -> IResult<&'a str, i64> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 95 - pub fn int<'a>(input: &'a str) -> IResult<&'a str, i64> { [INFO] [stdout] 95 + pub fn int(input: &str) -> IResult<&str, i64> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> src/parser/parse.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | map_res(digit1, |digits: &str| i64::from_str_radix(digits, 10)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `digits.parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn decimal<'a>(input: &'a str) -> IResult<&'a str, f64> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 110 - pub fn decimal<'a>(input: &'a str) -> IResult<&'a str, f64> { [INFO] [stdout] 110 + pub fn decimal(input: &str) -> IResult<&str, f64> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:131:18 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn time_unit<'a>(input: &'a str) -> IResult<&'a str, TimeUnit> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 131 - pub fn time_unit<'a>(input: &'a str) -> IResult<&'a str, TimeUnit> { [INFO] [stdout] 131 + pub fn time_unit(input: &str) -> IResult<&str, TimeUnit> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn duration<'a>(input: &'a str) -> IResult<&'a str, (f64, TimeUnit)> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 153 - pub fn duration<'a>(input: &'a str) -> IResult<&'a str, (f64, TimeUnit)> { [INFO] [stdout] 153 + pub fn duration(input: &str) -> IResult<&str, (f64, TimeUnit)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn byte_unit<'a>(input: &'a str) -> IResult<&'a str, ByteUnit> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 181 - pub fn byte_unit<'a>(input: &'a str) -> IResult<&'a str, ByteUnit> { [INFO] [stdout] 181 + pub fn byte_unit(input: &str) -> IResult<&str, ByteUnit> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:214:14 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn bytes<'a>(input: &'a str) -> IResult<&'a str, (f64, ByteUnit)> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 214 - pub fn bytes<'a>(input: &'a str) -> IResult<&'a str, (f64, ByteUnit)> { [INFO] [stdout] 214 + pub fn bytes(input: &str) -> IResult<&str, (f64, ByteUnit)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | pub fn boolean<'a>(input: &'a str) -> IResult<&'a str, bool> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 236 - pub fn boolean<'a>(input: &'a str) -> IResult<&'a str, bool> { [INFO] [stdout] 236 + pub fn boolean(input: &str) -> IResult<&str, bool> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/parser/parse.rs:239:57 [INFO] [stdout] | [INFO] [stdout] 239 | map(alt((tag("true"), tag("false"))), |v: &str| match v { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 240 | | "true" => true, [INFO] [stdout] 241 | | _ => false, [INFO] [stdout] 242 | | }), [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] 239 - map(alt((tag("true"), tag("false"))), |v: &str| match v { [INFO] [stdout] 240 - "true" => true, [INFO] [stdout] 241 - _ => false, [INFO] [stdout] 242 - }), [INFO] [stdout] 239 + map(alt((tag("true"), tag("false"))), |v: &str| matches!(v, "true")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/parse.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn null<'a>(input: &'a str) -> IResult<&'a str, ()> { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 253 - pub fn null<'a>(input: &'a str) -> IResult<&'a str, ()> { [INFO] [stdout] 253 + pub fn null(input: &str) -> IResult<&str, ()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/parser/parse.rs:299:18 [INFO] [stdout] | [INFO] [stdout] 299 | map(int, |v| ExprValue::Int(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ExprValue::Int` [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: redundant closure [INFO] [stdout] --> src/parser/parse.rs:300:22 [INFO] [stdout] | [INFO] [stdout] 300 | map(boolean, |v| ExprValue::Bool(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ExprValue::Bool` [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/parser/parse.rs:301:20 [INFO] [stdout] | [INFO] [stdout] 301 | map(ident, |v| ExprValue::Word(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ExprValue::Word` [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/parser/parse.rs:302:21 [INFO] [stdout] | [INFO] [stdout] 302 | map(string, |v| ExprValue::Str(v)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ExprValue::Str` [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 all patterns [INFO] [stdout] --> src/parser/syn.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | / match self { [INFO] [stdout] 20 | | &TimeUnit::S => "s", [INFO] [stdout] 21 | | &TimeUnit::M => "m", [INFO] [stdout] 22 | | &TimeUnit::H => "h", [INFO] [stdout] 23 | | &TimeUnit::D => "d", [INFO] [stdout] 24 | | } [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: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 19 ~ match *self { [INFO] [stdout] 20 ~ TimeUnit::S => "s", [INFO] [stdout] 21 ~ TimeUnit::M => "m", [INFO] [stdout] 22 ~ TimeUnit::H => "h", [INFO] [stdout] 23 ~ TimeUnit::D => "d", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/where_filter.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | let value = match n.op { [INFO] [stdout] | _____________________^ [INFO] [stdout] 91 | | Some(BoolOp::Ne) => false, [INFO] [stdout] 92 | | _ => true, [INFO] [stdout] 93 | | }; [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] 90 - let value = match n.op { [INFO] [stdout] 91 - Some(BoolOp::Ne) => false, [INFO] [stdout] 92 - _ => true, [INFO] [stdout] 93 - }; [INFO] [stdout] 90 + let value = !matches!(n.op, Some(BoolOp::Ne)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.26s [INFO] running `Command { std: "docker" "inspect" "224cfde9289c01428770a5b4b0a77aa09e856555629290f6502975aa706daff7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "224cfde9289c01428770a5b4b0a77aa09e856555629290f6502975aa706daff7", kill_on_drop: false }` [INFO] [stdout] 224cfde9289c01428770a5b4b0a77aa09e856555629290f6502975aa706daff7