[INFO] cloning repository https://github.com/importcjj/gjson2 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/importcjj/gjson2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fimportcjj%2Fgjson2", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fimportcjj%2Fgjson2'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9c60f2d195ea806cee15e336e666814e9ec3d563 [INFO] linting importcjj/gjson2 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fimportcjj%2Fgjson2" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/importcjj/gjson2 [INFO] finished tweaking git repo https://github.com/importcjj/gjson2 [INFO] tweaked toml for git repo https://github.com/importcjj/gjson2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/importcjj/gjson2 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 66 packages to latest compatible versions [INFO] [stderr] Adding criterion v0.2.11 (available: v0.8.2) [INFO] [stderr] Adding json v0.11.15 (available: v0.12.4) [INFO] [stderr] Adding nom v5.1.3 (available: v8.0.0) [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] Downloading crates ... [INFO] [stderr] Downloaded rand_core v0.3.1 [INFO] [stderr] Downloaded json v0.11.15 [INFO] [stderr] Downloaded fuchsia-cprng v0.1.1 [INFO] [stderr] Downloaded rand_core v0.4.2 [INFO] [stderr] Downloaded rand_xoshiro v0.1.0 [INFO] [stderr] Downloaded cast v0.2.7 [INFO] [stderr] Downloaded rand_os v0.1.3 [INFO] [stderr] Downloaded cloudabi v0.0.3 [INFO] [stderr] Downloaded rdrand v0.4.0 [INFO] [stderr] Downloaded criterion-plot v0.3.1 [INFO] [stderr] Downloaded criterion v0.2.11 [INFO] [stderr] Downloaded itertools v0.8.2 [INFO] [stderr] Downloaded gjson v0.8.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 90bf1bacfc3d14a315cf9904b553cdc5523ea0311ac07e643ebf4048e9f2a3ab [INFO] running `Command { std: "docker" "start" "-a" "90bf1bacfc3d14a315cf9904b553cdc5523ea0311ac07e643ebf4048e9f2a3ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "90bf1bacfc3d14a315cf9904b553cdc5523ea0311ac07e643ebf4048e9f2a3ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90bf1bacfc3d14a315cf9904b553cdc5523ea0311ac07e643ebf4048e9f2a3ab", kill_on_drop: false }` [INFO] [stdout] 90bf1bacfc3d14a315cf9904b553cdc5523ea0311ac07e643ebf4048e9f2a3ab [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 5a0e3efa54f907e7e001f4ef0ba36c7f7cde318743fa314b15ffd05e527da7f8 [INFO] running `Command { std: "docker" "start" "-a" "5a0e3efa54f907e7e001f4ef0ba36c7f7cde318743fa314b15ffd05e527da7f8", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling nom v5.1.3 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking json v0.11.15 [INFO] [stderr] Checking gjson v0.8.1 [INFO] [stderr] Checking ajson v0.3.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/unescape.rs:96:24 [INFO] [stdout] | [INFO] [stdout] 96 | b'0'..=b'9' => (b - b'0'), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 96 - b'0'..=b'9' => (b - b'0'), [INFO] [stdout] 96 + b'0'..=b'9' => b - b'0' , [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/unescape.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | b'a'..=b'f' => (b + 10 - b'a'), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - b'a'..=b'f' => (b + 10 - b'a'), [INFO] [stdout] 97 + b'a'..=b'f' => b + 10 - b'a' , [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/unescape.rs:98:24 [INFO] [stdout] | [INFO] [stdout] 98 | b'A'..=b'F' => (b + 10 - b'A'), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 98 - b'A'..=b'F' => (b + 10 - b'A'), [INFO] [stdout] 98 + b'A'..=b'F' => b + 10 - b'A' , [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking csv-core v0.1.13 [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/element.rs:278:5 [INFO] [stdout] | [INFO] [stdout] 278 | return Ok(split_at_u8(bytes, i)); [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] 278 - return Ok(split_at_u8(bytes, i)); [INFO] [stdout] 278 + Ok(split_at_u8(bytes, i)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/parser.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | / if depth > 0 { [INFO] [stdout] 29 | | depth -= 0; [INFO] [stdout] 30 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 27 ~ b']' | b')' | b'}' [INFO] [stdout] 28 ~ if depth > 0 => { [INFO] [stdout] 29 | depth -= 0; [INFO] [stdout] 30 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/parser.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | / if depth == 0 && i > 0 { [INFO] [stdout] 34 | | current_path = current_path.ident(&v[..i]); [INFO] [stdout] 35 | | current_path = current_path.ok(true); [INFO] [stdout] 36 | | current_path = current_path.more(true); [INFO] [stdout] ... | [INFO] [stdout] 41 | | return current_path.build(); [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 32 ~ b'.' [INFO] [stdout] 33 ~ if depth == 0 && i > 0 => { [INFO] [stdout] 34 | current_path = current_path.ident(&v[..i]); [INFO] [stdout] ... [INFO] [stdout] 41 | return current_path.build(); [INFO] [stdout] 42 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/parser.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | / if depth == 0 { [INFO] [stdout] 48 | | current_path = current_path.arrch(true); [INFO] [stdout] 49 | | arrch = true; [INFO] [stdout] 50 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ b'#' [INFO] [stdout] 47 ~ if depth == 0 => { [INFO] [stdout] 48 | current_path = current_path.arrch(true); [INFO] [stdout] 49 | arrch = true; [INFO] [stdout] 50 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stdout] warning: called `unwrap` on `self.key` after checking its variant with `is_some` [INFO] [stdout] --> src/path/query.rs:52:38 [INFO] [stdout] | [INFO] [stdout] 51 | if self.key.is_some() { [INFO] [stdout] | --------------------- help: try: `if let Some() = &self.key` [INFO] [stdout] 52 | write!(f, " key=`{:?}`", self.key.as_ref().unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.op` after checking its variant with `is_some` [INFO] [stdout] --> src/path/query.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 54 | if self.op.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &self.op` [INFO] [stdout] 55 | write!(f, " op=`{}`", self.op.as_ref().unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.value` after checking its variant with `is_some` [INFO] [stdout] --> src/path/query.rs:58:40 [INFO] [stdout] | [INFO] [stdout] 57 | if self.value.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = &self.value` [INFO] [stdout] 58 | write!(f, " value=`{:?}`", self.value.as_ref().unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/sub_selector.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | / if depth == 1 { [INFO] [stdout] 92 | | colon = i; [INFO] [stdout] 93 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 90 ~ b':' [INFO] [stdout] 91 ~ if depth == 1 => { [INFO] [stdout] 92 | colon = i; [INFO] [stdout] 93 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/sub_selector.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | / if depth == 1 { [INFO] [stdout] 97 | | push_sel!(); [INFO] [stdout] 98 | | colon = 0; [INFO] [stdout] 99 | | start = i; [INFO] [stdout] 100 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 95 ~ b',' [INFO] [stdout] 96 ~ if depth == 1 => { [INFO] [stdout] 97 | push_sel!(); [INFO] [stdout] 98 | colon = 0; [INFO] [stdout] 99 | start = i; [INFO] [stdout] 100 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/unescape.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u32::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | value.as_f64().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 163 - value.as_f64().map_or(false, |i| i == other) [INFO] [stdout] 163 + value.as_f64() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | value.as_i64().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 167 - value.as_i64().map_or(false, |i| i == other) [INFO] [stdout] 167 + value.as_i64() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | value.as_u64().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 171 - value.as_u64().map_or(false, |i| i == other) [INFO] [stdout] 171 + value.as_u64() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | value.as_bool().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 175 - value.as_bool().map_or(false, |i| i == other) [INFO] [stdout] 175 + value.as_bool() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | value.as_str().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 179 - value.as_str().map_or(false, |i| i == other) [INFO] [stdout] 179 + value.as_str() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/value.rs:190:22 [INFO] [stdout] | [INFO] [stdout] 190 | eq_str(self, *other) [INFO] [stdout] | ^^^^^^ help: try: `other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/value.rs:202:23 [INFO] [stdout] | [INFO] [stdout] 202 | eq_str(other, *self) [INFO] [stdout] | ^^^^^ help: try: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn parse(json: &str) -> Result> { [INFO] [stdout] | ^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 175 | pub fn parse(json: &str) -> Result>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:318:23 [INFO] [stdout] | [INFO] [stdout] 318 | fn make_string(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 318 | fn make_string(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 322 | fn make_true(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 322 | fn make_true(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:326:22 [INFO] [stdout] | [INFO] [stdout] 326 | fn make_false(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 326 | fn make_false(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | fn make_null(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 330 | fn make_null(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:334:23 [INFO] [stdout] | [INFO] [stdout] 334 | fn make_number(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 334 | fn make_number(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:338:22 [INFO] [stdout] | [INFO] [stdout] 338 | fn make_array(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 338 | fn make_array(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:342:23 [INFO] [stdout] | [INFO] [stdout] 342 | fn make_object(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 342 | fn make_object(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:346:24 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn read_one(input: &[u8]) -> Result<(Option, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 346 | pub fn read_one(input: &[u8]) -> Result<(Option>, &[u8])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/number.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | fn from(v: &[u8]) -> Number { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | fn from(v: &[u8]) -> Number<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn bytes_to_vec(mut bytes: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 11 | pub fn bytes_to_vec(mut bytes: &[u8]) -> Result>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:43:32 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn bytes_to_map(mut bytes: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 43 | pub fn bytes_to_map(mut bytes: &[u8]) -> Result>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/parser.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | pub(super) fn parse(v: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 7 | pub(super) fn parse(v: &[u8]) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/parser.rs:86:19 [INFO] [stdout] | [INFO] [stdout] 86 | fn parse_query(v: &[u8]) -> Result<(Query, usize)> { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 86 | fn parse_query(v: &[u8]) -> Result<(Query<'_>, usize)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/parser.rs:166:30 [INFO] [stdout] | [INFO] [stdout] 166 | fn parser_query_value(bytes: &[u8]) -> Result<(QueryValue, usize)> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 166 | fn parser_query_value(bytes: &[u8]) -> Result<(QueryValue<'_>, usize)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/query.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn get_path(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 80 | pub fn get_path(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/query.rs:91:20 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn get_key(&self) -> &Path { [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] | | || [INFO] [stdout] | | |the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 91 | pub fn get_key(&self) -> &Path<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/sub_selector.rs:54:27 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn parse_selectors(v: &[u8]) -> (Vec, usize, bool) { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 54 | pub fn parse_selectors(v: &[u8]) -> (Vec>, usize, bool) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/value.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn get(&self, path: &'a str) -> Result> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 50 | pub fn get(&self, path: &'a str) -> Result>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/value.rs:147:19 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn as_vec(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | pub fn as_vec(&self) -> Option>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/value.rs:154:22 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn as_object(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 154 | pub fn as_object(&self) -> Option>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Checking csv v1.4.0 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> tests/test_ajson.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 79 | static BASIC_JSON: &'static str = r#" [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> tests/test_ajson.rs:117:22 [INFO] [stdout] | [INFO] [stdout] 117 | static BASIC_JSON2: &'static str = r#" [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Err`, `ErrorKind`, `VerboseError`, and `convert_error` [INFO] [stdout] --> benches/nom_json.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | error::{context, convert_error, ErrorKind, ParseError, VerboseError}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | Err, IResult, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> benches/traversing.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chunk_traversing` is never used [INFO] [stdout] --> benches/traversing.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn chunk_traversing(bytes: &[u8]) -> ajson::Result<(&[u8], &[u8])> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> benches/traversing.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | return Ok(split_at(bytes, i)); [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] 148 - return Ok(split_at(bytes, i)); [INFO] [stdout] 148 + Ok(split_at(bytes, i)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> tests/test_ajson.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | let t = ajson::parse(BASIC_JSON)?.unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> benches/traversing.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | return Ok(split_at(bytes, i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 214 - return Ok(split_at(bytes, i)); [INFO] [stdout] 214 + Ok(split_at(bytes, i)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/unescape.rs:96:24 [INFO] [stdout] | [INFO] [stdout] 96 | b'0'..=b'9' => (b - b'0'), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 96 - b'0'..=b'9' => (b - b'0'), [INFO] [stdout] 96 + b'0'..=b'9' => b - b'0' , [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/unescape.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | b'a'..=b'f' => (b + 10 - b'a'), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - b'a'..=b'f' => (b + 10 - b'a'), [INFO] [stdout] 97 + b'a'..=b'f' => b + 10 - b'a' , [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/unescape.rs:98:24 [INFO] [stdout] | [INFO] [stdout] 98 | b'A'..=b'F' => (b + 10 - b'A'), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 98 - b'A'..=b'F' => (b + 10 - b'A'), [INFO] [stdout] 98 + b'A'..=b'F' => b + 10 - b'A' , [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:150:47 [INFO] [stdout] | [INFO] [stdout] 150 | assert_eq!(r.get("children.#")?.unwrap(), 3 as u64); [INFO] [stdout] | ^^^^^^^^ help: try: `3_u64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tests/test_ajson.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | assert!(!get(&BASIC_JSON, "name.last")?.is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `get(&BASIC_JSON, "name.last")?.is_none()` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:307:20 [INFO] [stdout] | [INFO] [stdout] 307 | assert_eq!(get(&BASIC_JSON, "items.3.tags.#")?.unwrap(), 3 as f64); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [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: casting integer literal to `f64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:307:62 [INFO] [stdout] | [INFO] [stdout] 307 | assert_eq!(get(&BASIC_JSON, "items.3.tags.#")?.unwrap(), 3 as f64); [INFO] [stdout] | ^^^^^^^^ help: try: `3_f64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | assert_eq!(get(&BASIC_JSON, "items.3.points.1.#")?.unwrap(), 2 as f64); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [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: casting integer literal to `f64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:308:66 [INFO] [stdout] | [INFO] [stdout] 308 | assert_eq!(get(&BASIC_JSON, "items.3.points.1.#")?.unwrap(), 2 as f64); [INFO] [stdout] | ^^^^^^^^ help: try: `2_f64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:309:20 [INFO] [stdout] | [INFO] [stdout] 309 | assert_eq!(get(&BASIC_JSON, "items.#")?.unwrap(), 8 as f64); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [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: casting integer literal to `f64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:309:55 [INFO] [stdout] | [INFO] [stdout] 309 | assert_eq!(get(&BASIC_JSON, "items.#")?.unwrap(), 8 as f64); [INFO] [stdout] | ^^^^^^^^ help: try: `8_f64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:310:20 [INFO] [stdout] | [INFO] [stdout] 310 | assert_eq!(get(&BASIC_JSON, "vals.#")?.unwrap(), 4 as f64); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [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: casting integer literal to `f64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:310:54 [INFO] [stdout] | [INFO] [stdout] 310 | assert_eq!(get(&BASIC_JSON, "vals.#")?.unwrap(), 4 as f64); [INFO] [stdout] | ^^^^^^^^ help: try: `4_f64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:311:18 [INFO] [stdout] | [INFO] [stdout] 311 | assert!(!get(&BASIC_JSON, "name.last")?.is_some()); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:312:20 [INFO] [stdout] | [INFO] [stdout] 312 | assert_eq!(get(&BASIC_JSON, "name.here")?.unwrap(), "B\\\"R"); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:314:20 [INFO] [stdout] | [INFO] [stdout] 314 | assert_eq!(get(&BASIC_JSON, "arr.#")?.unwrap(), 6 as f64); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [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: casting integer literal to `f64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:314:53 [INFO] [stdout] | [INFO] [stdout] 314 | assert_eq!(get(&BASIC_JSON, "arr.#")?.unwrap(), 6 as f64); [INFO] [stdout] | ^^^^^^^^ help: try: `6_f64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:315:20 [INFO] [stdout] | [INFO] [stdout] 315 | assert_eq!(get(&BASIC_JSON, "arr.3.hello")?.unwrap(), "world"); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:326:20 [INFO] [stdout] | [INFO] [stdout] 326 | assert_eq!(get(&BASIC_JSON, "age")?.unwrap(), 100); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | assert_eq!(get(&BASIC_JSON, "happy")?.unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:328:20 [INFO] [stdout] | [INFO] [stdout] 328 | assert_eq!(get(&BASIC_JSON, "immortal")?.unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:330:17 [INFO] [stdout] | [INFO] [stdout] 330 | let t = get(&BASIC_JSON, "noop")?.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:335:19 [INFO] [stdout] | [INFO] [stdout] 335 | let r = parse(&BASIC_JSON)?.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `BASIC_JSON` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:373:17 [INFO] [stdout] | [INFO] [stdout] 373 | let v = get(&json, "IdentityData.GameInstanceId")?.unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `u64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:374:19 [INFO] [stdout] | [INFO] [stdout] 374 | assert_eq!(v, 634866135153775564 as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `634866135153775564_u64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:375:19 [INFO] [stdout] | [INFO] [stdout] 375 | assert_eq!(v, 634866135153775564 as i64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `634866135153775564_i64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting float literal to `f64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:376:19 [INFO] [stdout] | [INFO] [stdout] 376 | assert_eq!(v, 634866135153775616.0 as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `634866135153775616.0_f64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:379:17 [INFO] [stdout] | [INFO] [stdout] 379 | let v = get(&json, "IdentityData.GameInstanceId")?.unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `u64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:380:19 [INFO] [stdout] | [INFO] [stdout] 380 | assert_eq!(v, 634866135153775564 as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `634866135153775564_u64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:381:19 [INFO] [stdout] | [INFO] [stdout] 381 | assert_eq!(v, 634866135153775564 as i64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `634866135153775564_i64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting float literal to `f64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:382:19 [INFO] [stdout] | [INFO] [stdout] 382 | assert_eq!(v, 634866135153775616.88172 as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `634866135153775616.88172_f64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:402:20 [INFO] [stdout] | [INFO] [stdout] 402 | assert_eq!(get(&json, "max_uint53")?.unwrap(), 4503599627370495 as u64); [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `u64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:402:52 [INFO] [stdout] | [INFO] [stdout] 402 | assert_eq!(get(&json, "max_uint53")?.unwrap(), 4503599627370495 as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `4503599627370495_u64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:404:13 [INFO] [stdout] | [INFO] [stdout] 404 | get(&json, "overflow_uint53")?.unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:405:9 [INFO] [stdout] | [INFO] [stdout] 405 | 4503599627370496 as i64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `4503599627370496_i64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:407:20 [INFO] [stdout] | [INFO] [stdout] 407 | assert_eq!(get(&json, "min_int53")?.unwrap(), -2251799813685248 as i64); [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:407:51 [INFO] [stdout] | [INFO] [stdout] 407 | assert_eq!(get(&json, "min_int53")?.unwrap(), -2251799813685248 as i64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `-2251799813685248_i64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:408:20 [INFO] [stdout] | [INFO] [stdout] 408 | assert_eq!(get(&json, "max_int53")?.unwrap(), 2251799813685247 as i64); [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:408:51 [INFO] [stdout] | [INFO] [stdout] 408 | assert_eq!(get(&json, "max_int53")?.unwrap(), 2251799813685247 as i64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `2251799813685247_i64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:410:13 [INFO] [stdout] | [INFO] [stdout] 410 | get(&json, "overflow_int53")?.unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:411:9 [INFO] [stdout] | [INFO] [stdout] 411 | 2251799813685248 as i64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `2251799813685248_i64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:413:20 [INFO] [stdout] | [INFO] [stdout] 413 | assert_eq!(get(&json, "min_uint64")?.unwrap(), 0); [INFO] [stdout] | ^^^^^ help: change this to: `json` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:415:13 [INFO] [stdout] | [INFO] [stdout] 415 | get(&json, "max_uint64")?.unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `u64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:416:9 [INFO] [stdout] | [INFO] [stdout] 416 | 18446744073709551615 as u64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `18446744073709551615_u64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:419:20 [INFO] [stdout] | [INFO] [stdout] 419 | assert_eq!(get(&json, "overflow_uint64")?.unwrap(), 0); [INFO] [stdout] | ^^^^^ help: change this to: `json` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | get(&json, "min_int64")?.unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:422:9 [INFO] [stdout] | [INFO] [stdout] 422 | -9223372036854775808 as i64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `-9223372036854775808_i64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:425:13 [INFO] [stdout] | [INFO] [stdout] 425 | get(&json, "max_int64")?.unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `i64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:426:9 [INFO] [stdout] | [INFO] [stdout] 426 | 9223372036854775807 as i64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `9223372036854775807_i64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:429:20 [INFO] [stdout] | [INFO] [stdout] 429 | assert_eq!(get(&json, "overflow_int64")?.unwrap(), 0); [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: casting integer literal to `f64` is unnecessary [INFO] [stdout] --> tests/test_ajson.rs:461:40 [INFO] [stdout] | [INFO] [stdout] 461 | assert_eq!(parse("100")?.unwrap(), 100 as f64); [INFO] [stdout] | ^^^^^^^^^^ help: try: `100_f64` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/test_ajson.rs:464:5 [INFO] [stdout] | [INFO] [stdout] 464 | assert_eq!(parse("yikes")?.is_some(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 464 - assert_eq!(parse("yikes")?.is_some(), false); [INFO] [stdout] 464 + assert!(!parse("yikes")?.is_some()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:675:33 [INFO] [stdout] | [INFO] [stdout] 675 | let array: Vec = get(&json, "key")?.into_iter().collect(); [INFO] [stdout] | ^^^^^ help: change this to: `json` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:680:33 [INFO] [stdout] | [INFO] [stdout] 680 | let array: Vec = get(&json, "key2.#")?.into_iter().collect(); [INFO] [stdout] | ^^^^^ help: change this to: `json` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/test_ajson.rs:683:17 [INFO] [stdout] | [INFO] [stdout] 683 | let r = get(&json, "key3")?; [INFO] [stdout] | ^^^^^ help: change this to: `json` [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: unused variable: `v` [INFO] [stdout] --> benches/ajson_benchmark.rs:308:17 [INFO] [stdout] | [INFO] [stdout] 308 | let v: Vec<&nom_json::JsonValue> = black_box( [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ajson_path_bench` is never used [INFO] [stdout] --> benches/ajson_benchmark.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn ajson_path_bench() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gjson_selector` is never used [INFO] [stdout] --> benches/ajson_benchmark.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn gjson_selector(json: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gjson_multi_query` is never used [INFO] [stdout] --> benches/ajson_benchmark.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn gjson_multi_query(json: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gjson_bench` is never used [INFO] [stdout] --> benches/ajson_benchmark.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn gjson_bench(json: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NULL` contains a capitalized acronym [INFO] [stdout] --> benches/nom_json.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | NULL, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Null` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> benches/nom_json.rs:57:6 [INFO] [stdout] | [INFO] [stdout] 57 | impl<'a> Index<&'a str> for JsonValue { [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] 57 - impl<'a> Index<&'a str> for JsonValue { [INFO] [stdout] 57 + impl Index<&str> for JsonValue { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> benches/nom_json.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | /// combinators like `alt` that they should not try other parsers. We were in the [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 116 | /// combinators like `alt` that they should not try other parsers. We were in the [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> benches/nom_json.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | /// right branch (since we found the `"` character) but encountered an error when [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 117 | /// right branch (since we found the `"` character) but encountered an error when [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> benches/nom_json.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | /// parsing the string [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 118 | /// parsing the string [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> benches/nom_json.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | /// error chain (to indicate which parser had an error) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 120 | /// error chain (to indicate which parser had an error) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> benches/ajson_benchmark.rs:281:5 [INFO] [stdout] | [INFO] [stdout] 281 | / black_box({ [INFO] [stdout] 282 | | nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 283 | | value["widget"]["window"]["name"].as_str(); [INFO] [stdout] 284 | | }); [INFO] [stdout] 285 | | }); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] = note: `#[warn(clippy::unit_arg)]` on by default [INFO] [stdout] help: remove the semicolon from the last statement in the block [INFO] [stdout] | [INFO] [stdout] 282 ~ nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 283 + value["widget"]["window"]["name"].as_str(); [INFO] [stdout] 284 + }) [INFO] [stdout] | [INFO] [stdout] help: or move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 281 ~ { [INFO] [stdout] 282 + nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 283 + value["widget"]["window"]["name"].as_str(); [INFO] [stdout] 284 + }); [INFO] [stdout] 285 + }; [INFO] [stdout] 286 ~ black_box(()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on a `Result` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> benches/ajson_benchmark.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | / nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 283 | | value["widget"]["window"]["name"].as_str(); [INFO] [stdout] 284 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::result_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 282 - nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 283 - value["widget"]["window"]["name"].as_str(); [INFO] [stdout] 284 - }); [INFO] [stdout] 282 + if let Ok((_, value)) = nom_json::root::<(&str, ErrorKind)>(json) { value["widget"]["window"]["name"].as_str(); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> benches/ajson_benchmark.rs:287:5 [INFO] [stdout] | [INFO] [stdout] 287 | / black_box({ [INFO] [stdout] 288 | | nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 289 | | &value["widget"]["image"]["hOffset"]; [INFO] [stdout] 290 | | }); [INFO] [stdout] 291 | | }); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: remove the semicolon from the last statement in the block [INFO] [stdout] | [INFO] [stdout] 288 ~ nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 289 + &value["widget"]["image"]["hOffset"]; [INFO] [stdout] 290 + }) [INFO] [stdout] | [INFO] [stdout] help: or move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 287 ~ { [INFO] [stdout] 288 + nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 289 + &value["widget"]["image"]["hOffset"]; [INFO] [stdout] 290 + }); [INFO] [stdout] 291 + }; [INFO] [stdout] 292 ~ black_box(()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on a `Result` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> benches/ajson_benchmark.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | / nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 289 | | &value["widget"]["image"]["hOffset"]; [INFO] [stdout] 290 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 288 - nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 289 - &value["widget"]["image"]["hOffset"]; [INFO] [stdout] 290 - }); [INFO] [stdout] 288 + if let Ok((_, value)) = nom_json::root::<(&str, ErrorKind)>(json) { &value["widget"]["image"]["hOffset"]; } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statement with no effect [INFO] [stdout] --> benches/ajson_benchmark.rs:289:13 [INFO] [stdout] | [INFO] [stdout] 289 | &value["widget"]["image"]["hOffset"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_effect [INFO] [stdout] = note: `#[warn(clippy::no_effect)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> benches/ajson_benchmark.rs:293:5 [INFO] [stdout] | [INFO] [stdout] 293 | / black_box({ [INFO] [stdout] 294 | | nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 295 | | value["widget"]["text"]["onMouseUp"].as_str(); [INFO] [stdout] 296 | | }); [INFO] [stdout] 297 | | }); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: remove the semicolon from the last statement in the block [INFO] [stdout] | [INFO] [stdout] 294 ~ nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 295 + value["widget"]["text"]["onMouseUp"].as_str(); [INFO] [stdout] 296 + }) [INFO] [stdout] | [INFO] [stdout] help: or move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 293 ~ { [INFO] [stdout] 294 + nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 295 + value["widget"]["text"]["onMouseUp"].as_str(); [INFO] [stdout] 296 + }); [INFO] [stdout] 297 + }; [INFO] [stdout] 298 ~ black_box(()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on a `Result` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> benches/ajson_benchmark.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | / nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 295 | | value["widget"]["text"]["onMouseUp"].as_str(); [INFO] [stdout] 296 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 294 - nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 295 - value["widget"]["text"]["onMouseUp"].as_str(); [INFO] [stdout] 296 - }); [INFO] [stdout] 294 + if let Ok((_, value)) = nom_json::root::<(&str, ErrorKind)>(json) { value["widget"]["text"]["onMouseUp"].as_str(); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> benches/ajson_benchmark.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | / black_box({ [INFO] [stdout] 300 | | nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 301 | | value["widget"]["debug"].as_str(); [INFO] [stdout] 302 | | }); [INFO] [stdout] 303 | | }); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: remove the semicolon from the last statement in the block [INFO] [stdout] | [INFO] [stdout] 300 ~ nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 301 + value["widget"]["debug"].as_str(); [INFO] [stdout] 302 + }) [INFO] [stdout] | [INFO] [stdout] help: or move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 299 ~ { [INFO] [stdout] 300 + nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 301 + value["widget"]["debug"].as_str(); [INFO] [stdout] 302 + }); [INFO] [stdout] 303 + }; [INFO] [stdout] 304 ~ black_box(()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on a `Result` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> benches/ajson_benchmark.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | / nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 301 | | value["widget"]["debug"].as_str(); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 300 - nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 301 - value["widget"]["debug"].as_str(); [INFO] [stdout] 302 - }); [INFO] [stdout] 300 + if let Ok((_, value)) = nom_json::root::<(&str, ErrorKind)>(json) { value["widget"]["debug"].as_str(); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused array of `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | / black_box([ [INFO] [stdout] 73 | | ajson::get(json, "widget.image.src"), [INFO] [stdout] 74 | | ajson::get(json, "widget.text.data"), [INFO] [stdout] 75 | | ]); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | black_box(ajson::Path::from_slice("widget.window.name".as_bytes())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = black_box(ajson::Path::from_slice("widget.window.name".as_bytes())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | black_box(ajson::Path::from_slice("widget.image.hOffset".as_bytes())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 80 | let _ = black_box(ajson::Path::from_slice("widget.image.hOffset".as_bytes())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | black_box(ajson::Path::from_slice("widget.text.onMouseUp".as_bytes())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 81 | let _ = black_box(ajson::Path::from_slice("widget.text.onMouseUp".as_bytes())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | black_box(ajson::Path::from_slice("widget.debug".as_bytes())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 82 | let _ = black_box(ajson::Path::from_slice("widget.debug".as_bytes())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | / black_box(ajson::Path::from_slice( [INFO] [stdout] 84 | | "widget.menu.#(sub_item>7)#.title".as_bytes(), [INFO] [stdout] 85 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 83 | let _ = black_box(ajson::Path::from_slice( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | / nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 283 | | value["widget"]["window"]["name"].as_str(); [INFO] [stdout] 284 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 282 | let _ = nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | / nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 289 | | &value["widget"]["image"]["hOffset"]; [INFO] [stdout] 290 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 288 | let _ = nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:289:13 [INFO] [stdout] | [INFO] [stdout] 289 | &value["widget"]["image"]["hOffset"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 289 | let _ = &value["widget"]["image"]["hOffset"]; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | / nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 295 | | value["widget"]["text"]["onMouseUp"].as_str(); [INFO] [stdout] 296 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 294 | let _ = nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | / nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 301 | | value["widget"]["debug"].as_str(); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 300 | let _ = nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/ajson_benchmark.rs:305:5 [INFO] [stdout] | [INFO] [stdout] 305 | / black_box({ [INFO] [stdout] 306 | | nom_json::root::<(&str, ErrorKind)>(json).map(|(_, value)| { [INFO] [stdout] 307 | | let menu = &value["widget"]["menu"]; [INFO] [stdout] 308 | | let v: Vec<&nom_json::JsonValue> = black_box( [INFO] [stdout] ... | [INFO] [stdout] 315 | | }) [INFO] [stdout] 316 | | }); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 305 | let _ = black_box({ [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> benches/nom_json.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn members(&self) -> Members { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 49 | pub fn members(&self) -> Members<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/element.rs:278:5 [INFO] [stdout] | [INFO] [stdout] 278 | return Ok(split_at_u8(bytes, i)); [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] 278 - return Ok(split_at_u8(bytes, i)); [INFO] [stdout] 278 + Ok(split_at_u8(bytes, i)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/parser.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | / if depth > 0 { [INFO] [stdout] 29 | | depth -= 0; [INFO] [stdout] 30 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 27 ~ b']' | b')' | b'}' [INFO] [stdout] 28 ~ if depth > 0 => { [INFO] [stdout] 29 | depth -= 0; [INFO] [stdout] 30 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/parser.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | / if depth == 0 && i > 0 { [INFO] [stdout] 34 | | current_path = current_path.ident(&v[..i]); [INFO] [stdout] 35 | | current_path = current_path.ok(true); [INFO] [stdout] 36 | | current_path = current_path.more(true); [INFO] [stdout] ... | [INFO] [stdout] 41 | | return current_path.build(); [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 32 ~ b'.' [INFO] [stdout] 33 ~ if depth == 0 && i > 0 => { [INFO] [stdout] 34 | current_path = current_path.ident(&v[..i]); [INFO] [stdout] ... [INFO] [stdout] 41 | return current_path.build(); [INFO] [stdout] 42 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/parser.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | / if depth == 0 { [INFO] [stdout] 48 | | current_path = current_path.arrch(true); [INFO] [stdout] 49 | | arrch = true; [INFO] [stdout] 50 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ b'#' [INFO] [stdout] 47 ~ if depth == 0 => { [INFO] [stdout] 48 | current_path = current_path.arrch(true); [INFO] [stdout] 49 | arrch = true; [INFO] [stdout] 50 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.key` after checking its variant with `is_some` [INFO] [stdout] --> src/path/query.rs:52:38 [INFO] [stdout] | [INFO] [stdout] 51 | if self.key.is_some() { [INFO] [stdout] | --------------------- help: try: `if let Some() = &self.key` [INFO] [stdout] 52 | write!(f, " key=`{:?}`", self.key.as_ref().unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.op` after checking its variant with `is_some` [INFO] [stdout] --> src/path/query.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 54 | if self.op.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &self.op` [INFO] [stdout] 55 | write!(f, " op=`{}`", self.op.as_ref().unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.value` after checking its variant with `is_some` [INFO] [stdout] --> src/path/query.rs:58:40 [INFO] [stdout] | [INFO] [stdout] 57 | if self.value.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = &self.value` [INFO] [stdout] 58 | write!(f, " value=`{:?}`", self.value.as_ref().unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/sub_selector.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | / if depth == 1 { [INFO] [stdout] 92 | | colon = i; [INFO] [stdout] 93 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 90 ~ b':' [INFO] [stdout] 91 ~ if depth == 1 => { [INFO] [stdout] 92 | colon = i; [INFO] [stdout] 93 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/path/sub_selector.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | / if depth == 1 { [INFO] [stdout] 97 | | push_sel!(); [INFO] [stdout] 98 | | colon = 0; [INFO] [stdout] 99 | | start = i; [INFO] [stdout] 100 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 95 ~ b',' [INFO] [stdout] 96 ~ if depth == 1 => { [INFO] [stdout] 97 | push_sel!(); [INFO] [stdout] 98 | colon = 0; [INFO] [stdout] 99 | start = i; [INFO] [stdout] 100 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/unescape.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u32::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | value.as_f64().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 163 - value.as_f64().map_or(false, |i| i == other) [INFO] [stdout] 163 + value.as_f64() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | value.as_i64().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 167 - value.as_i64().map_or(false, |i| i == other) [INFO] [stdout] 167 + value.as_i64() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | value.as_u64().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 171 - value.as_u64().map_or(false, |i| i == other) [INFO] [stdout] 171 + value.as_u64() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | value.as_bool().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 175 - value.as_bool().map_or(false, |i| i == other) [INFO] [stdout] 175 + value.as_bool() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/value.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | value.as_str().map_or(false, |i| i == other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 179 - value.as_str().map_or(false, |i| i == other) [INFO] [stdout] 179 + value.as_str() == Some(other) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/value.rs:190:22 [INFO] [stdout] | [INFO] [stdout] 190 | eq_str(self, *other) [INFO] [stdout] | ^^^^^^ help: try: `other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/value.rs:202:23 [INFO] [stdout] | [INFO] [stdout] 202 | eq_str(other, *self) [INFO] [stdout] | ^^^^^ help: try: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn parse(json: &str) -> Result> { [INFO] [stdout] | ^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 175 | pub fn parse(json: &str) -> Result>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:318:23 [INFO] [stdout] | [INFO] [stdout] 318 | fn make_string(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 318 | fn make_string(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 322 | fn make_true(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 322 | fn make_true(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:326:22 [INFO] [stdout] | [INFO] [stdout] 326 | fn make_false(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 326 | fn make_false(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | fn make_null(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 330 | fn make_null(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:334:23 [INFO] [stdout] | [INFO] [stdout] 334 | fn make_number(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 334 | fn make_number(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:338:22 [INFO] [stdout] | [INFO] [stdout] 338 | fn make_array(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 338 | fn make_array(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:342:23 [INFO] [stdout] | [INFO] [stdout] 342 | fn make_object(input: &[u8]) -> MakeResult { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 342 | fn make_object(input: &[u8]) -> MakeResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/element.rs:346:24 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn read_one(input: &[u8]) -> Result<(Option, &[u8])> { [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 346 | pub fn read_one(input: &[u8]) -> Result<(Option>, &[u8])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/number.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | fn from(v: &[u8]) -> Number { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | fn from(v: &[u8]) -> Number<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn bytes_to_vec(mut bytes: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 11 | pub fn bytes_to_vec(mut bytes: &[u8]) -> Result>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:43:32 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn bytes_to_map(mut bytes: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 43 | pub fn bytes_to_map(mut bytes: &[u8]) -> Result>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/parser.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | pub(super) fn parse(v: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 7 | pub(super) fn parse(v: &[u8]) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/parser.rs:86:19 [INFO] [stdout] | [INFO] [stdout] 86 | fn parse_query(v: &[u8]) -> Result<(Query, usize)> { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 86 | fn parse_query(v: &[u8]) -> Result<(Query<'_>, usize)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/parser.rs:166:30 [INFO] [stdout] | [INFO] [stdout] 166 | fn parser_query_value(bytes: &[u8]) -> Result<(QueryValue, usize)> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 166 | fn parser_query_value(bytes: &[u8]) -> Result<(QueryValue<'_>, usize)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/query.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn get_path(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 80 | pub fn get_path(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/query.rs:91:20 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn get_key(&self) -> &Path { [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] | | || [INFO] [stdout] | | |the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 91 | pub fn get_key(&self) -> &Path<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/path/sub_selector.rs:54:27 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn parse_selectors(v: &[u8]) -> (Vec, usize, bool) { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 54 | pub fn parse_selectors(v: &[u8]) -> (Vec>, usize, bool) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/value.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn get(&self, path: &'a str) -> Result> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 50 | pub fn get(&self, path: &'a str) -> Result>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/value.rs:147:19 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn as_vec(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | pub fn as_vec(&self) -> Option>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/value.rs:154:22 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn as_object(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 154 | pub fn as_object(&self) -> Option>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.12s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.2.11 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "5a0e3efa54f907e7e001f4ef0ba36c7f7cde318743fa314b15ffd05e527da7f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a0e3efa54f907e7e001f4ef0ba36c7f7cde318743fa314b15ffd05e527da7f8", kill_on_drop: false }` [INFO] [stdout] 5a0e3efa54f907e7e001f4ef0ba36c7f7cde318743fa314b15ffd05e527da7f8