[INFO] cloning repository https://github.com/RolfAdolf/analysis-project [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RolfAdolf/analysis-project" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRolfAdolf%2Fanalysis-project", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRolfAdolf%2Fanalysis-project'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3c2f607a97c76877f12e522bb7b1501e8081bfcf [INFO] checking RolfAdolf/analysis-project against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRolfAdolf%2Fanalysis-project" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/RolfAdolf/analysis-project [INFO] finished tweaking git repo https://github.com/RolfAdolf/analysis-project [INFO] tweaked toml for git repo https://github.com/RolfAdolf/analysis-project written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/RolfAdolf/analysis-project on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/RolfAdolf/analysis-project already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad [INFO] running `Command { std: "docker" "start" "38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Checking analysis v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait `parse::Parsable` is more private than the item `parse::just_parse` [INFO] [stdout] --> src/parse.rs:779:1 [INFO] [stdout] | [INFO] [stdout] 779 | pub fn just_parse(input: &str) -> Result<(&str, P), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `parse::just_parse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `parse::Parsable` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | trait Parsable : Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_bounds)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AsIs` is never constructed [INFO] [stdout] --> src/parse.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | struct AsIs; [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 `all3` is never used [INFO] [stdout] --> src/parse.rs:307:4 [INFO] [stdout] | [INFO] [stdout] 307 | fn all3(a0: A0, a1: A1, a2: A2) -> All<(A0,A1,A2)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `all4` is never used [INFO] [stdout] --> src/parse.rs:328:4 [INFO] [stdout] | [INFO] [stdout] 328 | fn all4(a0: A0, a1: A1, a2: A2, a3: A3) -> All<(A0,A1,A2,A3)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/parse.rs:624:6 [INFO] [stdout] | [INFO] [stdout] 624 | enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Status` is never used [INFO] [stdout] --> src/parse.rs:630:6 [INFO] [stdout] | [INFO] [stdout] 630 | enum Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1108:48 [INFO] [stdout] | [INFO] [stdout] 1108 | assert_eq!(stdp::U32.parse("411"), Ok(("".into(), 411))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1108 - assert_eq!(stdp::U32.parse("411"), Ok(("".into(), 411))); [INFO] [stdout] 1108 + assert_eq!(stdp::U32.parse("411"), Ok(("", 411))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1108 - assert_eq!(stdp::U32.parse("411"), Ok(("".into(), 411))); [INFO] [stdout] 1108 + assert_eq!(stdp::U32.parse("411"), Ok((<&str as Into<_>>::into(""), 411))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1109:50 [INFO] [stdout] | [INFO] [stdout] 1109 | assert_eq!(stdp::U32.parse("411ab"), Ok(("ab".into(), 411))); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1109 - assert_eq!(stdp::U32.parse("411ab"), Ok(("ab".into(), 411))); [INFO] [stdout] 1109 + assert_eq!(stdp::U32.parse("411ab"), Ok(("ab", 411))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1109 - assert_eq!(stdp::U32.parse("411ab"), Ok(("ab".into(), 411))); [INFO] [stdout] 1109 + assert_eq!(stdp::U32.parse("411ab"), Ok((<&str as Into<_>>::into("ab"), 411))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1112:49 [INFO] [stdout] | [INFO] [stdout] 1112 | assert_eq!(stdp::U32.parse("0x03"), Ok(("".into(), 0x3))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1112 - assert_eq!(stdp::U32.parse("0x03"), Ok(("".into(), 0x3))); [INFO] [stdout] 1112 + assert_eq!(stdp::U32.parse("0x03"), Ok(("", 0x3))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1112 - assert_eq!(stdp::U32.parse("0x03"), Ok(("".into(), 0x3))); [INFO] [stdout] 1112 + assert_eq!(stdp::U32.parse("0x03"), Ok((<&str as Into<_>>::into(""), 0x3))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1113:52 [INFO] [stdout] | [INFO] [stdout] 1113 | assert_eq!(stdp::U32.parse("0x03abg"), Ok(("g".into(), 0x3ab))); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1113 - assert_eq!(stdp::U32.parse("0x03abg"), Ok(("g".into(), 0x3ab))); [INFO] [stdout] 1113 + assert_eq!(stdp::U32.parse("0x03abg"), Ok(("g", 0x3ab))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1113 - assert_eq!(stdp::U32.parse("0x03abg"), Ok(("g".into(), 0x3ab))); [INFO] [stdout] 1113 + assert_eq!(stdp::U32.parse("0x03abg"), Ok((<&str as Into<_>>::into("g"), 0x3ab))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1119:48 [INFO] [stdout] | [INFO] [stdout] 1119 | assert_eq!(stdp::I32.parse("411"), Ok(("".into(), 411))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1119 - assert_eq!(stdp::I32.parse("411"), Ok(("".into(), 411))); [INFO] [stdout] 1119 + assert_eq!(stdp::I32.parse("411"), Ok(("", 411))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1119 - assert_eq!(stdp::I32.parse("411"), Ok(("".into(), 411))); [INFO] [stdout] 1119 + assert_eq!(stdp::I32.parse("411"), Ok((<&str as Into<_>>::into(""), 411))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1120:50 [INFO] [stdout] | [INFO] [stdout] 1120 | assert_eq!(stdp::I32.parse("411ab"), Ok(("ab".into(), 411))); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1120 - assert_eq!(stdp::I32.parse("411ab"), Ok(("ab".into(), 411))); [INFO] [stdout] 1120 + assert_eq!(stdp::I32.parse("411ab"), Ok(("ab", 411))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1120 - assert_eq!(stdp::I32.parse("411ab"), Ok(("ab".into(), 411))); [INFO] [stdout] 1120 + assert_eq!(stdp::I32.parse("411ab"), Ok((<&str as Into<_>>::into("ab"), 411))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1122:47 [INFO] [stdout] | [INFO] [stdout] 1122 | assert_eq!(stdp::I32.parse("-3"), Ok(("".into(), -3))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1122 - assert_eq!(stdp::I32.parse("-3"), Ok(("".into(), -3))); [INFO] [stdout] 1122 + assert_eq!(stdp::I32.parse("-3"), Ok(("", -3))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1122 - assert_eq!(stdp::I32.parse("-3"), Ok(("".into(), -3))); [INFO] [stdout] 1122 + assert_eq!(stdp::I32.parse("-3"), Ok((<&str as Into<_>>::into(""), -3))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1135:43 [INFO] [stdout] | [INFO] [stdout] 1135 | assert_eq!(do_unquote_non_escaped(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1135 - assert_eq!(do_unquote_non_escaped(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] 1135 + assert_eq!(do_unquote_non_escaped(r#""411""#), Ok(("".into(), "411".into()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1135 - assert_eq!(do_unquote_non_escaped(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] 1135 + assert_eq!(do_unquote_non_escaped(<&str as Into<_>>::into(r#""411""#)), Ok(("".into(), "411".into()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1135:67 [INFO] [stdout] | [INFO] [stdout] 1135 | assert_eq!(do_unquote_non_escaped(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1135 - assert_eq!(do_unquote_non_escaped(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] 1135 + assert_eq!(do_unquote_non_escaped(r#""411""#.into()), Ok(("", "411".into()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1135 - assert_eq!(do_unquote_non_escaped(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] 1135 + assert_eq!(do_unquote_non_escaped(r#""411""#.into()), Ok((<&str as Into<_>>::into(""), "411".into()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1136:43 [INFO] [stdout] | [INFO] [stdout] 1136 | assert_eq!(do_unquote_non_escaped(r#" "411""#.into()), Err(())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1136 - assert_eq!(do_unquote_non_escaped(r#" "411""#.into()), Err(())); [INFO] [stdout] 1136 + assert_eq!(do_unquote_non_escaped(r#" "411""#), Err(())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1136 - assert_eq!(do_unquote_non_escaped(r#" "411""#.into()), Err(())); [INFO] [stdout] 1136 + assert_eq!(do_unquote_non_escaped(<&str as Into<_>>::into(r#" "411""#)), Err(())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1142:34 [INFO] [stdout] | [INFO] [stdout] 1142 | assert_eq!(Unquote.parse(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1142 - assert_eq!(Unquote.parse(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] 1142 + assert_eq!(Unquote.parse(r#""411""#), Ok(("".into(), "411".into()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1142 - assert_eq!(Unquote.parse(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] 1142 + assert_eq!(Unquote.parse(<&str as Into<_>>::into(r#""411""#)), Ok(("".into(), "411".into()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1142:58 [INFO] [stdout] | [INFO] [stdout] 1142 | assert_eq!(Unquote.parse(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1142 - assert_eq!(Unquote.parse(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] 1142 + assert_eq!(Unquote.parse(r#""411""#.into()), Ok(("", "411".into()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1142 - assert_eq!(Unquote.parse(r#""411""#.into()), Ok(("".into(), "411".into()))); [INFO] [stdout] 1142 + assert_eq!(Unquote.parse(r#""411""#.into()), Ok((<&str as Into<_>>::into(""), "411".into()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1143:34 [INFO] [stdout] | [INFO] [stdout] 1143 | assert_eq!(Unquote.parse(r#" "411""#.into()), Err(())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1143 - assert_eq!(Unquote.parse(r#" "411""#.into()), Err(())); [INFO] [stdout] 1143 + assert_eq!(Unquote.parse(r#" "411""#), Err(())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1143 - assert_eq!(Unquote.parse(r#" "411""#.into()), Err(())); [INFO] [stdout] 1143 + assert_eq!(Unquote.parse(<&str as Into<_>>::into(r#" "411""#)), Err(())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Parsable` is more private than the item `parse::just_parse` [INFO] [stdout] --> src/parse.rs:779:1 [INFO] [stdout] | [INFO] [stdout] 779 | pub fn just_parse(input: &str) -> Result<(&str, P), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `parse::just_parse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `Parsable` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | trait Parsable : Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_bounds)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1146:34 [INFO] [stdout] | [INFO] [stdout] 1146 | assert_eq!(Unquote.parse(r#""ni\\c\"e""#.into()), Ok(("".into(), r#"ni\c"e"#.into()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1146 - assert_eq!(Unquote.parse(r#""ni\\c\"e""#.into()), Ok(("".into(), r#"ni\c"e"#.into()))); [INFO] [stdout] 1146 + assert_eq!(Unquote.parse(r#""ni\\c\"e""#), Ok(("".into(), r#"ni\c"e"#.into()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1146 - assert_eq!(Unquote.parse(r#""ni\\c\"e""#.into()), Ok(("".into(), r#"ni\c"e"#.into()))); [INFO] [stdout] 1146 + assert_eq!(Unquote.parse(<&str as Into<_>>::into(r#""ni\\c\"e""#)), Ok(("".into(), r#"ni\c"e"#.into()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1146:63 [INFO] [stdout] | [INFO] [stdout] 1146 | assert_eq!(Unquote.parse(r#""ni\\c\"e""#.into()), Ok(("".into(), r#"ni\c"e"#.into()))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1146 - assert_eq!(Unquote.parse(r#""ni\\c\"e""#.into()), Ok(("".into(), r#"ni\c"e"#.into()))); [INFO] [stdout] 1146 + assert_eq!(Unquote.parse(r#""ni\\c\"e""#.into()), Ok(("", r#"ni\c"e"#.into()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1146 - assert_eq!(Unquote.parse(r#""ni\\c\"e""#.into()), Ok(("".into(), r#"ni\c"e"#.into()))); [INFO] [stdout] 1146 + assert_eq!(Unquote.parse(r#""ni\\c\"e""#.into()), Ok((<&str as Into<_>>::into(""), r#"ni\c"e"#.into()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1151:56 [INFO] [stdout] | [INFO] [stdout] 1151 | assert_eq!(tag("key=").parse("key=value"), Ok(("value".into(), ()))); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1151 - assert_eq!(tag("key=").parse("key=value"), Ok(("value".into(), ()))); [INFO] [stdout] 1151 + assert_eq!(tag("key=").parse("key=value"), Ok(("value", ()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1151 - assert_eq!(tag("key=").parse("key=value"), Ok(("value".into(), ()))); [INFO] [stdout] 1151 + assert_eq!(tag("key=").parse("key=value"), Ok((<&str as Into<_>>::into("value"), ()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quote` is never used [INFO] [stdout] --> src/parse.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn quote (input: &str) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1157:44 [INFO] [stdout] | [INFO] [stdout] 1157 | assert_eq!(quoted_tag("key").parse(r#""key"=value"#.into()), Ok(("=value".into(), ()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1157 - assert_eq!(quoted_tag("key").parse(r#""key"=value"#.into()), Ok(("=value".into(), ()))); [INFO] [stdout] 1157 + assert_eq!(quoted_tag("key").parse(r#""key"=value"#), Ok(("=value".into(), ()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1157 - assert_eq!(quoted_tag("key").parse(r#""key"=value"#.into()), Ok(("=value".into(), ()))); [INFO] [stdout] 1157 + assert_eq!(quoted_tag("key").parse(<&str as Into<_>>::into(r#""key"=value"#)), Ok(("=value".into(), ()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1157:74 [INFO] [stdout] | [INFO] [stdout] 1157 | assert_eq!(quoted_tag("key").parse(r#""key"=value"#.into()), Ok(("=value".into(), ()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1157 - assert_eq!(quoted_tag("key").parse(r#""key"=value"#.into()), Ok(("=value".into(), ()))); [INFO] [stdout] 1157 + assert_eq!(quoted_tag("key").parse(r#""key"=value"#.into()), Ok(("=value", ()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1157 - assert_eq!(quoted_tag("key").parse(r#""key"=value"#.into()), Ok(("=value".into(), ()))); [INFO] [stdout] 1157 + assert_eq!(quoted_tag("key").parse(r#""key"=value"#.into()), Ok((<&str as Into<_>>::into("=value"), ()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1158:44 [INFO] [stdout] | [INFO] [stdout] 1158 | assert_eq!(quoted_tag("key").parse(r#""key:"value"#.into()), Err(())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1158 - assert_eq!(quoted_tag("key").parse(r#""key:"value"#.into()), Err(())); [INFO] [stdout] 1158 + assert_eq!(quoted_tag("key").parse(r#""key:"value"#), Err(())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1158 - assert_eq!(quoted_tag("key").parse(r#""key:"value"#.into()), Err(())); [INFO] [stdout] 1158 + assert_eq!(quoted_tag("key").parse(<&str as Into<_>>::into(r#""key:"value"#)), Err(())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AsIs` is never constructed [INFO] [stdout] --> src/parse.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | struct AsIs; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1164:78 [INFO] [stdout] | [INFO] [stdout] 1164 | assert_eq!(strip_whitespace(tag("hello")).parse(" hello world"), Ok(("world".into(), ()))); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1164 - assert_eq!(strip_whitespace(tag("hello")).parse(" hello world"), Ok(("world".into(), ()))); [INFO] [stdout] 1164 + assert_eq!(strip_whitespace(tag("hello")).parse(" hello world"), Ok(("world", ()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1164 - assert_eq!(strip_whitespace(tag("hello")).parse(" hello world"), Ok(("world".into(), ()))); [INFO] [stdout] 1164 + assert_eq!(strip_whitespace(tag("hello")).parse(" hello world"), Ok((<&str as Into<_>>::into("world"), ()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `all3` is never used [INFO] [stdout] --> src/parse.rs:307:4 [INFO] [stdout] | [INFO] [stdout] 307 | fn all3(a0: A0, a1: A1, a2: A2) -> All<(A0,A1,A2)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `all4` is never used [INFO] [stdout] --> src/parse.rs:328:4 [INFO] [stdout] | [INFO] [stdout] 328 | fn all4(a0: A0, a1: A1, a2: A2, a3: A3) -> All<(A0,A1,A2,A3)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/parse.rs:624:6 [INFO] [stdout] | [INFO] [stdout] 624 | enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Status` is never used [INFO] [stdout] --> src/parse.rs:630:6 [INFO] [stdout] | [INFO] [stdout] 630 | enum Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `I32` is never constructed [INFO] [stdout] --> src/parse.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct I32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1165:71 [INFO] [stdout] | [INFO] [stdout] 1165 | assert_eq!(strip_whitespace(tag("hello")).parse("hello"), Ok(("".into(), ()))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1165 - assert_eq!(strip_whitespace(tag("hello")).parse("hello"), Ok(("".into(), ()))); [INFO] [stdout] 1165 + assert_eq!(strip_whitespace(tag("hello")).parse("hello"), Ok(("", ()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1165 - assert_eq!(strip_whitespace(tag("hello")).parse("hello"), Ok(("".into(), ()))); [INFO] [stdout] 1165 + assert_eq!(strip_whitespace(tag("hello")).parse("hello"), Ok((<&str as Into<_>>::into(""), ()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1166:73 [INFO] [stdout] | [INFO] [stdout] 1166 | assert_eq!(strip_whitespace(stdp::U32).parse(" 42 answer"), Ok(("answer".into(), 42))); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1166 - assert_eq!(strip_whitespace(stdp::U32).parse(" 42 answer"), Ok(("answer".into(), 42))); [INFO] [stdout] 1166 + assert_eq!(strip_whitespace(stdp::U32).parse(" 42 answer"), Ok(("answer", 42))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1166 - assert_eq!(strip_whitespace(stdp::U32).parse(" 42 answer"), Ok(("answer".into(), 42))); [INFO] [stdout] 1166 + assert_eq!(strip_whitespace(stdp::U32).parse(" 42 answer"), Ok((<&str as Into<_>>::into("answer"), 42))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1171:82 [INFO] [stdout] | [INFO] [stdout] 1171 | assert_eq!(delimited(tag("["), stdp::U32, tag("]")).parse("[0x32]"), Ok(("".into(), 0x32))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1171 - assert_eq!(delimited(tag("["), stdp::U32, tag("]")).parse("[0x32]"), Ok(("".into(), 0x32))); [INFO] [stdout] 1171 + assert_eq!(delimited(tag("["), stdp::U32, tag("]")).parse("[0x32]"), Ok(("", 0x32))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1171 - assert_eq!(delimited(tag("["), stdp::U32, tag("]")).parse("[0x32]"), Ok(("".into(), 0x32))); [INFO] [stdout] 1171 + assert_eq!(delimited(tag("["), stdp::U32, tag("]")).parse("[0x32]"), Ok((<&str as Into<_>>::into(""), 0x32))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1172:34 [INFO] [stdout] | [INFO] [stdout] 1172 | assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice".into(), 0x32))); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1172 - assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice".into(), 0x32))); [INFO] [stdout] 1172 + assert_eq!(delimited(tag("["), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice".into(), 0x32))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1172 - assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice".into(), 0x32))); [INFO] [stdout] 1172 + assert_eq!(delimited(tag(<&str as Into<_>>::into("[")), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice".into(), 0x32))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1172:94 [INFO] [stdout] | [INFO] [stdout] 1172 | assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice".into(), 0x32))); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1172 - assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice".into(), 0x32))); [INFO] [stdout] 1172 + assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice", 0x32))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1172 - assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((" nice".into(), 0x32))); [INFO] [stdout] 1172 + assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32] nice"), Ok((<&str as Into<_>>::into(" nice"), 0x32))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1173:34 [INFO] [stdout] | [INFO] [stdout] 1173 | assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("0x32]"), Err(())); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1173 - assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("0x32]"), Err(())); [INFO] [stdout] 1173 + assert_eq!(delimited(tag("["), stdp::U32, tag("]")).parse("0x32]"), Err(())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1173 - assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("0x32]"), Err(())); [INFO] [stdout] 1173 + assert_eq!(delimited(tag(<&str as Into<_>>::into("[")), stdp::U32, tag("]")).parse("0x32]"), Err(())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1174:34 [INFO] [stdout] | [INFO] [stdout] 1174 | assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32"), Err(())); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1174 - assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32"), Err(())); [INFO] [stdout] 1174 + assert_eq!(delimited(tag("["), stdp::U32, tag("]")).parse("[0x32"), Err(())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1174 - assert_eq!(delimited(tag("[".into()), stdp::U32, tag("]")).parse("[0x32"), Err(())); [INFO] [stdout] 1174 + assert_eq!(delimited(tag(<&str as Into<_>>::into("[")), stdp::U32, tag("]")).parse("[0x32"), Err(())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1179:54 [INFO] [stdout] | [INFO] [stdout] 1179 | assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#.into()), Ok(("".into(), 32))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1179 - assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#.into()), Ok(("".into(), 32))); [INFO] [stdout] 1179 + assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#), Ok(("".into(), 32))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1179 - assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#.into()), Ok(("".into(), 32))); [INFO] [stdout] 1179 + assert_eq!(key_value("key", stdp::U32).parse(<&str as Into<_>>::into(r#""key":32,"#)), Ok(("".into(), 32))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1179:82 [INFO] [stdout] | [INFO] [stdout] 1179 | assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#.into()), Ok(("".into(), 32))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1179 - assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#.into()), Ok(("".into(), 32))); [INFO] [stdout] 1179 + assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#.into()), Ok(("", 32))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1179 - assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#.into()), Ok(("".into(), 32))); [INFO] [stdout] 1179 + assert_eq!(key_value("key", stdp::U32).parse(r#""key":32,"#.into()), Ok((<&str as Into<_>>::into(""), 32))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1181:54 [INFO] [stdout] | [INFO] [stdout] 1181 | assert_eq!(key_value("key", stdp::U32).parse(r#""key":32"#.into()), Err(())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1181 - assert_eq!(key_value("key", stdp::U32).parse(r#""key":32"#.into()), Err(())); [INFO] [stdout] 1181 + assert_eq!(key_value("key", stdp::U32).parse(r#""key":32"#), Err(())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1181 - assert_eq!(key_value("key", stdp::U32).parse(r#""key":32"#.into()), Err(())); [INFO] [stdout] 1181 + assert_eq!(key_value("key", stdp::U32).parse(<&str as Into<_>>::into(r#""key":32"#)), Err(())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1182:54 [INFO] [stdout] | [INFO] [stdout] 1182 | assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#.into()), Ok(("nice".into(), 32))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1182 - assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#.into()), Ok(("nice".into(), 32))); [INFO] [stdout] 1182 + assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#), Ok(("nice".into(), 32))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1182 - assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#.into()), Ok(("nice".into(), 32))); [INFO] [stdout] 1182 + assert_eq!(key_value("key", stdp::U32).parse(<&str as Into<_>>::into(r#" "key" : 32 , nice"#)), Ok(("nice".into(), 32))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1182:91 [INFO] [stdout] | [INFO] [stdout] 1182 | assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#.into()), Ok(("nice".into(), 32))); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1182 - assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#.into()), Ok(("nice".into(), 32))); [INFO] [stdout] 1182 + assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#.into()), Ok(("nice", 32))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1182 - assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#.into()), Ok(("nice".into(), 32))); [INFO] [stdout] 1182 + assert_eq!(key_value("key", stdp::U32).parse(r#" "key" : 32 , nice"#.into()), Ok((<&str as Into<_>>::into("nice"), 32))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1187:61 [INFO] [stdout] | [INFO] [stdout] 1187 | assert_eq!(list(stdp::U32).parse("[1,2,3,4,]"), Ok(("".into(), vec![1, 2, 3, 4,]))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1187 - assert_eq!(list(stdp::U32).parse("[1,2,3,4,]"), Ok(("".into(), vec![1, 2, 3, 4,]))); [INFO] [stdout] 1187 + assert_eq!(list(stdp::U32).parse("[1,2,3,4,]"), Ok(("", vec![1, 2, 3, 4,]))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1187 - assert_eq!(list(stdp::U32).parse("[1,2,3,4,]"), Ok(("".into(), vec![1, 2, 3, 4,]))); [INFO] [stdout] 1187 + assert_eq!(list(stdp::U32).parse("[1,2,3,4,]"), Ok((<&str as Into<_>>::into(""), vec![1, 2, 3, 4,]))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1188:76 [INFO] [stdout] | [INFO] [stdout] 1188 | assert_eq!(list(stdp::U32).parse(" [ 1 , 2 , 3 , 4 , ] nice"), Ok(("nice".into(), vec![1, 2, 3,4,]))); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1188 - assert_eq!(list(stdp::U32).parse(" [ 1 , 2 , 3 , 4 , ] nice"), Ok(("nice".into(), vec![1, 2, 3,4,]))); [INFO] [stdout] 1188 + assert_eq!(list(stdp::U32).parse(" [ 1 , 2 , 3 , 4 , ] nice"), Ok(("nice", vec![1, 2, 3,4,]))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1188 - assert_eq!(list(stdp::U32).parse(" [ 1 , 2 , 3 , 4 , ] nice"), Ok(("nice".into(), vec![1, 2, 3,4,]))); [INFO] [stdout] 1188 + assert_eq!(list(stdp::U32).parse(" [ 1 , 2 , 3 , 4 , ] nice"), Ok((<&str as Into<_>>::into("nice"), vec![1, 2, 3,4,]))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1190:53 [INFO] [stdout] | [INFO] [stdout] 1190 | assert_eq!(list(stdp::U32).parse("[]"), Ok(("".into(), vec![]))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1190 - assert_eq!(list(stdp::U32).parse("[]"), Ok(("".into(), vec![]))); [INFO] [stdout] 1190 + assert_eq!(list(stdp::U32).parse("[]"), Ok(("", vec![]))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1190 - assert_eq!(list(stdp::U32).parse("[]"), Ok(("".into(), vec![]))); [INFO] [stdout] 1190 + assert_eq!(list(stdp::U32).parse("[]"), Ok((<&str as Into<_>>::into(""), vec![]))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1203:114 [INFO] [stdout] | [INFO] [stdout] 1203 | ... assert_eq!(all2(strip_whitespace(tag("AssetDsc")),strip_whitespace(tag("{"))).parse(" AssetDsc { "), Ok(("".into(), ((),())))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1203 - assert_eq!(all2(strip_whitespace(tag("AssetDsc")),strip_whitespace(tag("{"))).parse(" AssetDsc { "), Ok(("".into(), ((),())))); [INFO] [stdout] 1203 + assert_eq!(all2(strip_whitespace(tag("AssetDsc")),strip_whitespace(tag("{"))).parse(" AssetDsc { "), Ok(("", ((),())))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1203 - assert_eq!(all2(strip_whitespace(tag("AssetDsc")),strip_whitespace(tag("{"))).parse(" AssetDsc { "), Ok(("".into(), ((),())))); [INFO] [stdout] 1203 + assert_eq!(all2(strip_whitespace(tag("AssetDsc")),strip_whitespace(tag("{"))).parse(" AssetDsc { "), Ok((<&str as Into<_>>::into(""), ((),())))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1205:45 [INFO] [stdout] | [INFO] [stdout] 1205 | ... assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#.into()), Ok(("".into(), AssetDsc{id: "usd"... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1205 - assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1205 + assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1205 - assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1205 + assert_eq!(AssetDsc::parser().parse(<&str as Into<_>>::into(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#)), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1205:104 [INFO] [stdout] | [INFO] [stdout] 1205 | ... assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#.into()), Ok(("".into(), AssetDsc{id: "usd"... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1205 - assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1205 + assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#.into()), Ok(("", AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1205 - assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1205 + assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"id":"usd","dsc":"USA dollar",}"#.into()), Ok((<&str as Into<_>>::into(""), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1206:45 [INFO] [stdout] | [INFO] [stdout] 1206 | ... assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#.into()), Ok(("".into(), AssetD... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1206 - assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1206 + assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1206 - assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1206 + assert_eq!(AssetDsc::parser().parse(<&str as Into<_>>::into(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#)), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1206:116 [INFO] [stdout] | [INFO] [stdout] 1206 | ... assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#.into()), Ok(("".into(), AssetD... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1206 - assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1206 + assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#.into()), Ok(("", AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1206 - assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1206 + assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } "#.into()), Ok((<&str as Into<_>>::into(""), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1207:45 [INFO] [stdout] | [INFO] [stdout] 1207 | ... assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#.into()), Ok(("nice ".into... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1207 - assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#.into()), Ok(("nice ".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1207 + assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#), Ok(("nice ".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1207 - assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#.into()), Ok(("nice ".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1207 + assert_eq!(AssetDsc::parser().parse(<&str as Into<_>>::into(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#)), Ok(("nice ".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1207:121 [INFO] [stdout] | [INFO] [stdout] 1207 | ...: "usd" , "dsc" : "USA dollar" , } nice "#.into()), Ok(("nice ".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1207 - assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#.into()), Ok(("nice ".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1207 + assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#.into()), Ok(("nice ", AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1207 - assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#.into()), Ok(("nice ".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1207 + assert_eq!(AssetDsc::parser().parse(r#" AssetDsc { "id" : "usd" , "dsc" : "USA dollar" , } nice "#.into()), Ok((<&str as Into<_>>::into("nice "), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1209:45 [INFO] [stdout] | [INFO] [stdout] 1209 | ... assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#.into()), Ok(("".into(), AssetDsc{id: "usd"... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1209 - assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1209 + assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1209 - assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1209 + assert_eq!(AssetDsc::parser().parse(<&str as Into<_>>::into(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#)), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1209:104 [INFO] [stdout] | [INFO] [stdout] 1209 | ... assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#.into()), Ok(("".into(), AssetDsc{id: "usd"... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1209 - assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1209 + assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#.into()), Ok(("", AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1209 - assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#.into()), Ok(("".into(), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] 1209 + assert_eq!(AssetDsc::parser().parse(r#"AssetDsc{"dsc":"USA dollar","id":"usd",}"#.into()), Ok((<&str as Into<_>>::into(""), AssetDsc{id: "usd".into(), dsc: "USA dollar".into()}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1214:43 [INFO] [stdout] | [INFO] [stdout] 1214 | ... assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#.into()), Ok(("".into(), Backet{asset_id: "usd".i... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1214 - assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#.into()), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] 1214 + assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1214 - assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#.into()), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] 1214 + assert_eq!(Backet::parser().parse(<&str as Into<_>>::into(r#"Backet{"asset_id":"usd","count":42,}"#)), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1214:98 [INFO] [stdout] | [INFO] [stdout] 1214 | ... assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#.into()), Ok(("".into(), Backet{asset_id: "usd".i... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1214 - assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#.into()), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] 1214 + assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#.into()), Ok(("", Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1214 - assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#.into()), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] 1214 + assert_eq!(Backet::parser().parse(r#"Backet{"asset_id":"usd","count":42,}"#.into()), Ok((<&str as Into<_>>::into(""), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1215:43 [INFO] [stdout] | [INFO] [stdout] 1215 | ... assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#.into()), Ok(("".into(), Backet{asset_id: "usd".i... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1215 - assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#.into()), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] 1215 + assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1215 - assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#.into()), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] 1215 + assert_eq!(Backet::parser().parse(<&str as Into<_>>::into(r#"Backet{"count":42,"asset_id":"usd",}"#)), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1215:98 [INFO] [stdout] | [INFO] [stdout] 1215 | ... assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#.into()), Ok(("".into(), Backet{asset_id: "usd".i... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1215 - assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#.into()), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] 1215 + assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#.into()), Ok(("", Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1215 - assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#.into()), Ok(("".into(), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] 1215 + assert_eq!(Backet::parser().parse(r#"Backet{"count":42,"asset_id":"usd",}"#.into()), Ok((<&str as Into<_>>::into(""), Backet{asset_id: "usd".into(), count: 42}))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1220:103 [INFO] [stdout] | [INFO] [stdout] 1220 | ...rror")), strip_whitespace(unquote())).parse(r#"NetworkError "url unknown""#.into()), Ok(("".into(), "url unknown".into()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1220 - assert_eq!(preceded(strip_whitespace(tag("NetworkError")), strip_whitespace(unquote())).parse(r#"NetworkError "url unknown""#.into()), Ok(("".into(), "url unknown".into()))); [INFO] [stdout] 1220 + assert_eq!(preceded(strip_whitespace(tag("NetworkError")), strip_whitespace(unquote())).parse(r#"NetworkError "url unknown""#), Ok(("".into(), "url unknown".into()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1220 - assert_eq!(preceded(strip_whitespace(tag("NetworkError")), strip_whitespace(unquote())).parse(r#"NetworkError "url unknown""#.into()), Ok(("".into(), "url unknown".into()))); [INFO] [stdout] 1220 + assert_eq!(preceded(strip_whitespace(tag("NetworkError")), strip_whitespace(unquote())).parse(<&str as Into<_>>::into(r#"NetworkError "url unknown""#)), Ok(("".into(), "url unknown".into()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1220:148 [INFO] [stdout] | [INFO] [stdout] 1220 | ...ote())).parse(r#"NetworkError "url unknown""#.into()), Ok(("".into(), "url unknown".into()))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1220 - assert_eq!(preceded(strip_whitespace(tag("NetworkError")), strip_whitespace(unquote())).parse(r#"NetworkError "url unknown""#.into()), Ok(("".into(), "url unknown".into()))); [INFO] [stdout] 1220 + assert_eq!(preceded(strip_whitespace(tag("NetworkError")), strip_whitespace(unquote())).parse(r#"NetworkError "url unknown""#.into()), Ok(("", "url unknown".into()))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1220 - assert_eq!(preceded(strip_whitespace(tag("NetworkError")), strip_whitespace(unquote())).parse(r#"NetworkError "url unknown""#.into()), Ok(("".into(), "url unknown".into()))); [INFO] [stdout] 1220 + assert_eq!(preceded(strip_whitespace(tag("NetworkError")), strip_whitespace(unquote())).parse(r#"NetworkError "url unknown""#.into()), Ok((<&str as Into<_>>::into(""), "url unknown".into()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1222:44 [INFO] [stdout] | [INFO] [stdout] 1222 | ... assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#.into()), Ok(("".into(), LogKind::System(Sys... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1222 - assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#.into()), Ok(("".into(), LogKind::System(SystemLogKind::Error(SystemLogErrorKind::NetworkError("url unknown".into())))))); [INFO] [stdout] 1222 + assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#), Ok(("".into(), LogKind::System(SystemLogKind::Error(SystemLogErrorKind::NetworkError("url unknown".into())))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1222 - assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#.into()), Ok(("".into(), LogKind::System(SystemLogKind::Error(SystemLogErrorKind::NetworkError("url unknown".into())))))); [INFO] [stdout] 1222 + assert_eq!(LogKind::parser().parse(<&str as Into<_>>::into(r#"System::Error NetworkError "url unknown""#)), Ok(("".into(), LogKind::System(SystemLogKind::Error(SystemLogErrorKind::NetworkError("url unknown".into())))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1222:103 [INFO] [stdout] | [INFO] [stdout] 1222 | ... assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#.into()), Ok(("".into(), LogKind::System(Sys... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1222 - assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#.into()), Ok(("".into(), LogKind::System(SystemLogKind::Error(SystemLogErrorKind::NetworkError("url unknown".into())))))); [INFO] [stdout] 1222 + assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#.into()), Ok(("", LogKind::System(SystemLogKind::Error(SystemLogErrorKind::NetworkError("url unknown".into())))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1222 - assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#.into()), Ok(("".into(), LogKind::System(SystemLogKind::Error(SystemLogErrorKind::NetworkError("url unknown".into())))))); [INFO] [stdout] 1222 + assert_eq!(LogKind::parser().parse(r#"System::Error NetworkError "url unknown""#.into()), Ok((<&str as Into<_>>::into(""), LogKind::System(SystemLogKind::Error(SystemLogErrorKind::NetworkError("url unknown".into())))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1223:2123 [INFO] [stdout] | [INFO] [stdout] 1223 | ...c4dfad0de0cfe27d50d656456ea6c361b76508357714079424"#), Ok(("".into(), LogKind::App(AppLogKind::Trace(AppLogTraceKind::Connect(B... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1223 - assert_eq!(LogKind::parser().parse(r#"App::Trace Connect 30c305825b900077ae7f8259c1c328aa3e124a07f3bfbbf216dfc6e308beea6e474b9a7ea6c24d003a6ae4fcf04a9e6ef7c7f17cdaa0296f66a88036badcf01f053da806fad356546349deceff24621b895440d05a715b221af8e9e068073d6dec04f148175717d3c2d1b6af84e2375718ab4a1eba7e037c1c1d43b4cf422d6f2aa9194266f0a7544eaeff8167f0e993d0ea6a8ddb98bfeb8805635d5ea9f6592fd5297e6f83b6834190f99449722cd0de87a4c122f08bbe836fd3092e5f0d37a3057e90f3dd41048da66cad3e8fd3ef72a9d86ecd9009c2db996af29dc62af5ef5eb04d0e16ce8fcecba92a4a9888f52d5d575e7dbc302ed97dbf69df15bb4f5c5601d38fbe3bd89d88768a6aed11ce2f95a6ad30bb72e787bfb734701cea1f38168be44ea19d3e98dd3c953fdb9951ac9c6e221bb0f980d8f0952ac8127da5bda7077dd25ffc8e1515c529f29516dacec6be9c084e6c91698267b2aed9038eca5ebafad479c5fb17652e25bb5b85586fae645bd7c3253d9916c0af65a20253412d5484ac15d288c6ca8823469090ded5ce0975dada63653797129f0e926af6247b457b067db683e37d848e0acf30e5602b78f1848e8da4b640ed08b75f3519a40ec96b2be964234beab37759504376c6e5ebfacdc57e4c7a22cf1e879d7bde29a2dca5fe20420215b59d102fd016606c533e8e36f7da114910664bade9b295d9043a01bc0dc4d8abbc16b1cec7789d89e699ad99dae597c7f10d6f047efc011d67444695cb8e6e8b3dba17ccc693729d01312d0f12a3fc76e12c2e4984af5cb3049b9d8a13124a1f770e96bae1fb153ba4c91bea4fae6f03010275d5a9b14012bdd678e037934dc6762005de54b32a7684e03060d5cc80378e9bef05b8f0692202944401bd06e4553e4490a0e57c5a72fc8abb1f714e22ea950fb2f1de284d6ff3da435954de355c677f60db4252a510919cbe7dadfed0441cf125fd8894753af8114f2ddacb75c3daa460920fc47d285e59fe9110e4151fcef03fa246cd2dd9a4d573e1dbbda1c6968cf4f546289b95ce1bf0a55eea6531382826d4002bc46bf441ce16056d42b5a2079e299e3191c23a7604cde03de6081e06f93cfe632c9a6088cd328662d47a4954934832df5b5f3765dbe136114c73c55cb7ce639e5d40d1d1d8f540d3c8e1bc7423f032c0da5264353468f009c973eec0448e41f9289e8d9dadc68da77d3c3ab3a6477d44024f21fba0bd4477d81c6027657527aa0413b45f417cb7b3beea835a1d5d795414d38156324cb5c1303e9924dbe40cd497c4c23c221cb912058c939bea8b79b3fea360fecaa83375a9a84e338d9e863e8021ad2df4430b8dea0c1714e1bdc478f559705549ad738453ab65c0ffcc8cf0e3bafaf4afad75ecc4dfad0de0cfe27d50d656456ea6c361b76508357714079424"#), Ok(("".into(), LogKind::App(AppLogKind::Trace(AppLogTraceKind::Connect(Box::new(AuthData(Box::new([0x30,0xc3,0x05,0x82,0x5b,0x90,0x00,0x77,0xae,0x7f,0x82,0x59,0xc1,0xc3,0x28,0xaa,0x3e,0x12,0x4a,0x07,0xf3,0xbf,0xbb,0xf2,0x16,0xdf,0xc6,0xe3,0x08,0xbe,0xea,0x6e,0x47,0x4b,0x9a,0x7e,0xa6,0xc2,0x4d,0x00,0x3a,0x6a,0xe4,0xfc,0xf0,0x4a,0x9e,0x6e,0xf7,0xc7,0xf1,0x7c,0xda,0xa0,0x29,0x6f,0x66,0xa8,0x80,0x36,0xba,0xdc,0xf0,0x1f,0x05,0x3d,0xa8,0x06,0xfa,0xd3,0x56,0x54,0x63,0x49,0xde,0xce,0xff,0x24,0x62,0x1b,0x89,0x54,0x40,0xd0,0x5a,0x71,0x5b,0x22,0x1a,0xf8,0xe9,0xe0,0x68,0x07,0x3d,0x6d,0xec,0x04,0xf1,0x48,0x17,0x57,0x17,0xd3,0xc2,0xd1,0xb6,0xaf,0x84,0xe2,0x37,0x57,0x18,0xab,0x4a,0x1e,0xba,0x7e,0x03,0x7c,0x1c,0x1d,0x43,0xb4,0xcf,0x42,0x2d,0x6f,0x2a,0xa9,0x19,0x42,0x66,0xf0,0xa7,0x54,0x4e,0xae,0xff,0x81,0x67,0xf0,0xe9,0x93,0xd0,0xea,0x6a,0x8d,0xdb,0x98,0xbf,0xeb,0x88,0x05,0x63,0x5d,0x5e,0xa9,0xf6,0x59,0x2f,0xd5,0x29,0x7e,0x6f,0x83,0xb6,0x83,0x41,0x90,0xf9,0x94,0x49,0x72,0x2c,0xd0,0xde,0x87,0xa4,0xc1,0x22,0xf0,0x8b,0xbe,0x83,0x6f,0xd3,0x09,0x2e,0x5f,0x0d,0x37,0xa3,0x05,0x7e,0x90,0xf3,0xdd,0x41,0x04,0x8d,0xa6,0x6c,0xad,0x3e,0x8f,0xd3,0xef,0x72,0xa9,0xd8,0x6e,0xcd,0x90,0x09,0xc2,0xdb,0x99,0x6a,0xf2,0x9d,0xc6,0x2a,0xf5,0xef,0x5e,0xb0,0x4d,0x0e,0x16,0xce,0x8f,0xce,0xcb,0xa9,0x2a,0x4a,0x98,0x88,0xf5,0x2d,0x5d,0x57,0x5e,0x7d,0xbc,0x30,0x2e,0xd9,0x7d,0xbf,0x69,0xdf,0x15,0xbb,0x4f,0x5c,0x56,0x01,0xd3,0x8f,0xbe,0x3b,0xd8,0x9d,0x88,0x76,0x8a,0x6a,0xed,0x11,0xce,0x2f,0x95,0xa6,0xad,0x30,0xbb,0x72,0xe7,0x87,0xbf,0xb7,0x34,0x70,0x1c,0xea,0x1f,0x38,0x16,0x8b,0xe4,0x4e,0xa1,0x9d,0x3e,0x98,0xdd,0x3c,0x95,0x3f,0xdb,0x99,0x51,0xac,0x9c,0x6e,0x22,0x1b,0xb0,0xf9,0x80,0xd8,0xf0,0x95,0x2a,0xc8,0x12,0x7d,0xa5,0xbd,0xa7,0x07,0x7d,0xd2,0x5f,0xfc,0x8e,0x15,0x15,0xc5,0x29,0xf2,0x95,0x16,0xda,0xce,0xc6,0xbe,0x9c,0x08,0x4e,0x6c,0x91,0x69,0x82,0x67,0xb2,0xae,0xd9,0x03,0x8e,0xca,0x5e,0xba,0xfa,0xd4,0x79,0xc5,0xfb,0x17,0x65,0x2e,0x25,0xbb,0x5b,0x85,0x58,0x6f,0xae,0x64,0x5b,0xd7,0xc3,0x25,0x3d,0x99,0x16,0xc0,0xaf,0x65,0xa2,0x02,0x53,0x41,0x2d,0x54,0x84,0xac,0x15,0xd2,0x88,0xc6,0xca,0x88,0x23,0x46,0x90,0x90,0xde,0xd5,0xce,0x09,0x75,0xda,0xda,0x63,0x65,0x37,0x97,0x12,0x9f,0x0e,0x92,0x6a,0xf6,0x24,0x7b,0x45,0x7b,0x06,0x7d,0xb6,0x83,0xe3,0x7d,0x84,0x8e,0x0a,0xcf,0x30,0xe5,0x60,0x2b,0x78,0xf1,0x84,0x8e,0x8d,0xa4,0xb6,0x40,0xed,0x08,0xb7,0x5f,0x35,0x19,0xa4,0x0e,0xc9,0x6b,0x2b,0xe9,0x64,0x23,0x4b,0xea,0xb3,0x77,0x59,0x50,0x43,0x76,0xc6,0xe5,0xeb,0xfa,0xcd,0xc5,0x7e,0x4c,0x7a,0x22,0xcf,0x1e,0x87,0x9d,0x7b,0xde,0x29,0xa2,0xdc,0xa5,0xfe,0x20,0x42,0x02,0x15,0xb5,0x9d,0x10,0x2f,0xd0,0x16,0x60,0x6c,0x53,0x3e,0x8e,0x36,0xf7,0xda,0x11,0x49,0x10,0x66,0x4b,0xad,0xe9,0xb2,0x95,0xd9,0x04,0x3a,0x01,0xbc,0x0d,0xc4,0xd8,0xab,0xbc,0x16,0xb1,0xce,0xc7,0x78,0x9d,0x89,0xe6,0x99,0xad,0x99,0xda,0xe5,0x97,0xc7,0xf1,0x0d,0x6f,0x04,0x7e,0xfc,0x01,0x1d,0x67,0x44,0x46,0x95,0xcb,0x8e,0x6e,0x8b,0x3d,0xba,0x17,0xcc,0xc6,0x93,0x72,0x9d,0x01,0x31,0x2d,0x0f,0x12,0xa3,0xfc,0x76,0xe1,0x2c,0x2e,0x49,0x84,0xaf,0x5c,0xb3,0x04,0x9b,0x9d,0x8a,0x13,0x12,0x4a,0x1f,0x77,0x0e,0x96,0xba,0xe1,0xfb,0x15,0x3b,0xa4,0xc9,0x1b,0xea,0x4f,0xae,0x6f,0x03,0x01,0x02,0x75,0xd5,0xa9,0xb1,0x40,0x12,0xbd,0xd6,0x78,0xe0,0x37,0x93,0x4d,0xc6,0x76,0x20,0x05,0xde,0x54,0xb3,0x2a,0x76,0x84,0xe0,0x30,0x60,0xd5,0xcc,0x80,0x37,0x8e,0x9b,0xef,0x05,0xb8,0xf0,0x69,0x22,0x02,0x94,0x44,0x01,0xbd,0x06,0xe4,0x55,0x3e,0x44,0x90,0xa0,0xe5,0x7c,0x5a,0x72,0xfc,0x8a,0xbb,0x1f,0x71,0x4e,0x22,0xea,0x95,0x0f,0xb2,0xf1,0xde,0x28,0x4d,0x6f,0xf3,0xda,0x43,0x59,0x54,0xde,0x35,0x5c,0x67,0x7f,0x60,0xdb,0x42,0x52,0xa5,0x10,0x91,0x9c,0xbe,0x7d,0xad,0xfe,0xd0,0x44,0x1c,0xf1,0x25,0xfd,0x88,0x94,0x75,0x3a,0xf8,0x11,0x4f,0x2d,0xda,0xcb,0x75,0xc3,0xda,0xa4,0x60,0x92,0x0f,0xc4,0x7d,0x28,0x5e,0x59,0xfe,0x91,0x10,0xe4,0x15,0x1f,0xce,0xf0,0x3f,0xa2,0x46,0xcd,0x2d,0xd9,0xa4,0xd5,0x73,0xe1,0xdb,0xbd,0xa1,0xc6,0x96,0x8c,0xf4,0xf5,0x46,0x28,0x9b,0x95,0xce,0x1b,0xf0,0xa5,0x5e,0xea,0x65,0x31,0x38,0x28,0x26,0xd4,0x00,0x2b,0xc4,0x6b,0xf4,0x41,0xce,0x16,0x05,0x6d,0x42,0xb5,0xa2,0x07,0x9e,0x29,0x9e,0x31,0x91,0xc2,0x3a,0x76,0x04,0xcd,0xe0,0x3d,0xe6,0x08,0x1e,0x06,0xf9,0x3c,0xfe,0x63,0x2c,0x9a,0x60,0x88,0xcd,0x32,0x86,0x62,0xd4,0x7a,0x49,0x54,0x93,0x48,0x32,0xdf,0x5b,0x5f,0x37,0x65,0xdb,0xe1,0x36,0x11,0x4c,0x73,0xc5,0x5c,0xb7,0xce,0x63,0x9e,0x5d,0x40,0xd1,0xd1,0xd8,0xf5,0x40,0xd3,0xc8,0xe1,0xbc,0x74,0x23,0xf0,0x32,0xc0,0xda,0x52,0x64,0x35,0x34,0x68,0xf0,0x09,0xc9,0x73,0xee,0xc0,0x44,0x8e,0x41,0xf9,0x28,0x9e,0x8d,0x9d,0xad,0xc6,0x8d,0xa7,0x7d,0x3c,0x3a,0xb3,0xa6,0x47,0x7d,0x44,0x02,0x4f,0x21,0xfb,0xa0,0xbd,0x44,0x77,0xd8,0x1c,0x60,0x27,0x65,0x75,0x27,0xaa,0x04,0x13,0xb4,0x5f,0x41,0x7c,0xb7,0xb3,0xbe,0xea,0x83,0x5a,0x1d,0x5d,0x79,0x54,0x14,0xd3,0x81,0x56,0x32,0x4c,0xb5,0xc1,0x30,0x3e,0x99,0x24,0xdb,0xe4,0x0c,0xd4,0x97,0xc4,0xc2,0x3c,0x22,0x1c,0xb9,0x12,0x05,0x8c,0x93,0x9b,0xea,0x8b,0x79,0xb3,0xfe,0xa3,0x60,0xfe,0xca,0xa8,0x33,0x75,0xa9,0xa8,0x4e,0x33,0x8d,0x9e,0x86,0x3e,0x80,0x21,0xad,0x2d,0xf4,0x43,0x0b,0x8d,0xea,0x0c,0x17,0x14,0xe1,0xbd,0xc4,0x78,0xf5,0x59,0x70,0x55,0x49,0xad,0x73,0x84,0x53,0xab,0x65,0xc0,0xff,0xcc,0x8c,0xf0,0xe3,0xba,0xfa,0xf4,0xaf,0xad,0x75,0xec,0xc4,0xdf,0xad,0x0d,0xe0,0xcf,0xe2,0x7d,0x50,0xd6,0x56,0x45,0x6e,0xa6,0xc3,0x61,0xb7,0x65,0x08,0x35,0x77,0x14,0x07,0x94,0x24]))))))))); [INFO] [stdout] 1223 + assert_eq!(LogKind::parser().parse(r#"App::Trace Connect 30c305825b900077ae7f8259c1c328aa3e124a07f3bfbbf216dfc6e308beea6e474b9a7ea6c24d003a6ae4fcf04a9e6ef7c7f17cdaa0296f66a88036badcf01f053da806fad356546349deceff24621b895440d05a715b221af8e9e068073d6dec04f148175717d3c2d1b6af84e2375718ab4a1eba7e037c1c1d43b4cf422d6f2aa9194266f0a7544eaeff8167f0e993d0ea6a8ddb98bfeb8805635d5ea9f6592fd5297e6f83b6834190f99449722cd0de87a4c122f08bbe836fd3092e5f0d37a3057e90f3dd41048da66cad3e8fd3ef72a9d86ecd9009c2db996af29dc62af5ef5eb04d0e16ce8fcecba92a4a9888f52d5d575e7dbc302ed97dbf69df15bb4f5c5601d38fbe3bd89d88768a6aed11ce2f95a6ad30bb72e787bfb734701cea1f38168be44ea19d3e98dd3c953fdb9951ac9c6e221bb0f980d8f0952ac8127da5bda7077dd25ffc8e1515c529f29516dacec6be9c084e6c91698267b2aed9038eca5ebafad479c5fb17652e25bb5b85586fae645bd7c3253d9916c0af65a20253412d5484ac15d288c6ca8823469090ded5ce0975dada63653797129f0e926af6247b457b067db683e37d848e0acf30e5602b78f1848e8da4b640ed08b75f3519a40ec96b2be964234beab37759504376c6e5ebfacdc57e4c7a22cf1e879d7bde29a2dca5fe20420215b59d102fd016606c533e8e36f7da114910664bade9b295d9043a01bc0dc4d8abbc16b1cec7789d89e699ad99dae597c7f10d6f047efc011d67444695cb8e6e8b3dba17ccc693729d01312d0f12a3fc76e12c2e4984af5cb3049b9d8a13124a1f770e96bae1fb153ba4c91bea4fae6f03010275d5a9b14012bdd678e037934dc6762005de54b32a7684e03060d5cc80378e9bef05b8f0692202944401bd06e4553e4490a0e57c5a72fc8abb1f714e22ea950fb2f1de284d6ff3da435954de355c677f60db4252a510919cbe7dadfed0441cf125fd8894753af8114f2ddacb75c3daa460920fc47d285e59fe9110e4151fcef03fa246cd2dd9a4d573e1dbbda1c6968cf4f546289b95ce1bf0a55eea6531382826d4002bc46bf441ce16056d42b5a2079e299e3191c23a7604cde03de6081e06f93cfe632c9a6088cd328662d47a4954934832df5b5f3765dbe136114c73c55cb7ce639e5d40d1d1d8f540d3c8e1bc7423f032c0da5264353468f009c973eec0448e41f9289e8d9dadc68da77d3c3ab3a6477d44024f21fba0bd4477d81c6027657527aa0413b45f417cb7b3beea835a1d5d795414d38156324cb5c1303e9924dbe40cd497c4c23c221cb912058c939bea8b79b3fea360fecaa83375a9a84e338d9e863e8021ad2df4430b8dea0c1714e1bdc478f559705549ad738453ab65c0ffcc8cf0e3bafaf4afad75ecc4dfad0de0cfe27d50d656456ea6c361b76508357714079424"#), Ok(("", LogKind::App(AppLogKind::Trace(AppLogTraceKind::Connect(Box::new(AuthData(Box::new([0x30,0xc3,0x05,0x82,0x5b,0x90,0x00,0x77,0xae,0x7f,0x82,0x59,0xc1,0xc3,0x28,0xaa,0x3e,0x12,0x4a,0x07,0xf3,0xbf,0xbb,0xf2,0x16,0xdf,0xc6,0xe3,0x08,0xbe,0xea,0x6e,0x47,0x4b,0x9a,0x7e,0xa6,0xc2,0x4d,0x00,0x3a,0x6a,0xe4,0xfc,0xf0,0x4a,0x9e,0x6e,0xf7,0xc7,0xf1,0x7c,0xda,0xa0,0x29,0x6f,0x66,0xa8,0x80,0x36,0xba,0xdc,0xf0,0x1f,0x05,0x3d,0xa8,0x06,0xfa,0xd3,0x56,0x54,0x63,0x49,0xde,0xce,0xff,0x24,0x62,0x1b,0x89,0x54,0x40,0xd0,0x5a,0x71,0x5b,0x22,0x1a,0xf8,0xe9,0xe0,0x68,0x07,0x3d,0x6d,0xec,0x04,0xf1,0x48,0x17,0x57,0x17,0xd3,0xc2,0xd1,0xb6,0xaf,0x84,0xe2,0x37,0x57,0x18,0xab,0x4a,0x1e,0xba,0x7e,0x03,0x7c,0x1c,0x1d,0x43,0xb4,0xcf,0x42,0x2d,0x6f,0x2a,0xa9,0x19,0x42,0x66,0xf0,0xa7,0x54,0x4e,0xae,0xff,0x81,0x67,0xf0,0xe9,0x93,0xd0,0xea,0x6a,0x8d,0xdb,0x98,0xbf,0xeb,0x88,0x05,0x63,0x5d,0x5e,0xa9,0xf6,0x59,0x2f,0xd5,0x29,0x7e,0x6f,0x83,0xb6,0x83,0x41,0x90,0xf9,0x94,0x49,0x72,0x2c,0xd0,0xde,0x87,0xa4,0xc1,0x22,0xf0,0x8b,0xbe,0x83,0x6f,0xd3,0x09,0x2e,0x5f,0x0d,0x37,0xa3,0x05,0x7e,0x90,0xf3,0xdd,0x41,0x04,0x8d,0xa6,0x6c,0xad,0x3e,0x8f,0xd3,0xef,0x72,0xa9,0xd8,0x6e,0xcd,0x90,0x09,0xc2,0xdb,0x99,0x6a,0xf2,0x9d,0xc6,0x2a,0xf5,0xef,0x5e,0xb0,0x4d,0x0e,0x16,0xce,0x8f,0xce,0xcb,0xa9,0x2a,0x4a,0x98,0x88,0xf5,0x2d,0x5d,0x57,0x5e,0x7d,0xbc,0x30,0x2e,0xd9,0x7d,0xbf,0x69,0xdf,0x15,0xbb,0x4f,0x5c,0x56,0x01,0xd3,0x8f,0xbe,0x3b,0xd8,0x9d,0x88,0x76,0x8a,0x6a,0xed,0x11,0xce,0x2f,0x95,0xa6,0xad,0x30,0xbb,0x72,0xe7,0x87,0xbf,0xb7,0x34,0x70,0x1c,0xea,0x1f,0x38,0x16,0x8b,0xe4,0x4e,0xa1,0x9d,0x3e,0x98,0xdd,0x3c,0x95,0x3f,0xdb,0x99,0x51,0xac,0x9c,0x6e,0x22,0x1b,0xb0,0xf9,0x80,0xd8,0xf0,0x95,0x2a,0xc8,0x12,0x7d,0xa5,0xbd,0xa7,0x07,0x7d,0xd2,0x5f,0xfc,0x8e,0x15,0x15,0xc5,0x29,0xf2,0x95,0x16,0xda,0xce,0xc6,0xbe,0x9c,0x08,0x4e,0x6c,0x91,0x69,0x82,0x67,0xb2,0xae,0xd9,0x03,0x8e,0xca,0x5e,0xba,0xfa,0xd4,0x79,0xc5,0xfb,0x17,0x65,0x2e,0x25,0xbb,0x5b,0x85,0x58,0x6f,0xae,0x64,0x5b,0xd7,0xc3,0x25,0x3d,0x99,0x16,0xc0,0xaf,0x65,0xa2,0x02,0x53,0x41,0x2d,0x54,0x84,0xac,0x15,0xd2,0x88,0xc6,0xca,0x88,0x23,0x46,0x90,0x90,0xde,0xd5,0xce,0x09,0x75,0xda,0xda,0x63,0x65,0x37,0x97,0x12,0x9f,0x0e,0x92,0x6a,0xf6,0x24,0x7b,0x45,0x7b,0x06,0x7d,0xb6,0x83,0xe3,0x7d,0x84,0x8e,0x0a,0xcf,0x30,0xe5,0x60,0x2b,0x78,0xf1,0x84,0x8e,0x8d,0xa4,0xb6,0x40,0xed,0x08,0xb7,0x5f,0x35,0x19,0xa4,0x0e,0xc9,0x6b,0x2b,0xe9,0x64,0x23,0x4b,0xea,0xb3,0x77,0x59,0x50,0x43,0x76,0xc6,0xe5,0xeb,0xfa,0xcd,0xc5,0x7e,0x4c,0x7a,0x22,0xcf,0x1e,0x87,0x9d,0x7b,0xde,0x29,0xa2,0xdc,0xa5,0xfe,0x20,0x42,0x02,0x15,0xb5,0x9d,0x10,0x2f,0xd0,0x16,0x60,0x6c,0x53,0x3e,0x8e,0x36,0xf7,0xda,0x11,0x49,0x10,0x66,0x4b,0xad,0xe9,0xb2,0x95,0xd9,0x04,0x3a,0x01,0xbc,0x0d,0xc4,0xd8,0xab,0xbc,0x16,0xb1,0xce,0xc7,0x78,0x9d,0x89,0xe6,0x99,0xad,0x99,0xda,0xe5,0x97,0xc7,0xf1,0x0d,0x6f,0x04,0x7e,0xfc,0x01,0x1d,0x67,0x44,0x46,0x95,0xcb,0x8e,0x6e,0x8b,0x3d,0xba,0x17,0xcc,0xc6,0x93,0x72,0x9d,0x01,0x31,0x2d,0x0f,0x12,0xa3,0xfc,0x76,0xe1,0x2c,0x2e,0x49,0x84,0xaf,0x5c,0xb3,0x04,0x9b,0x9d,0x8a,0x13,0x12,0x4a,0x1f,0x77,0x0e,0x96,0xba,0xe1,0xfb,0x15,0x3b,0xa4,0xc9,0x1b,0xea,0x4f,0xae,0x6f,0x03,0x01,0x02,0x75,0xd5,0xa9,0xb1,0x40,0x12,0xbd,0xd6,0x78,0xe0,0x37,0x93,0x4d,0xc6,0x76,0x20,0x05,0xde,0x54,0xb3,0x2a,0x76,0x84,0xe0,0x30,0x60,0xd5,0xcc,0x80,0x37,0x8e,0x9b,0xef,0x05,0xb8,0xf0,0x69,0x22,0x02,0x94,0x44,0x01,0xbd,0x06,0xe4,0x55,0x3e,0x44,0x90,0xa0,0xe5,0x7c,0x5a,0x72,0xfc,0x8a,0xbb,0x1f,0x71,0x4e,0x22,0xea,0x95,0x0f,0xb2,0xf1,0xde,0x28,0x4d,0x6f,0xf3,0xda,0x43,0x59,0x54,0xde,0x35,0x5c,0x67,0x7f,0x60,0xdb,0x42,0x52,0xa5,0x10,0x91,0x9c,0xbe,0x7d,0xad,0xfe,0xd0,0x44,0x1c,0xf1,0x25,0xfd,0x88,0x94,0x75,0x3a,0xf8,0x11,0x4f,0x2d,0xda,0xcb,0x75,0xc3,0xda,0xa4,0x60,0x92,0x0f,0xc4,0x7d,0x28,0x5e,0x59,0xfe,0x91,0x10,0xe4,0x15,0x1f,0xce,0xf0,0x3f,0xa2,0x46,0xcd,0x2d,0xd9,0xa4,0xd5,0x73,0xe1,0xdb,0xbd,0xa1,0xc6,0x96,0x8c,0xf4,0xf5,0x46,0x28,0x9b,0x95,0xce,0x1b,0xf0,0xa5,0x5e,0xea,0x65,0x31,0x38,0x28,0x26,0xd4,0x00,0x2b,0xc4,0x6b,0xf4,0x41,0xce,0x16,0x05,0x6d,0x42,0xb5,0xa2,0x07,0x9e,0x29,0x9e,0x31,0x91,0xc2,0x3a,0x76,0x04,0xcd,0xe0,0x3d,0xe6,0x08,0x1e,0x06,0xf9,0x3c,0xfe,0x63,0x2c,0x9a,0x60,0x88,0xcd,0x32,0x86,0x62,0xd4,0x7a,0x49,0x54,0x93,0x48,0x32,0xdf,0x5b,0x5f,0x37,0x65,0xdb,0xe1,0x36,0x11,0x4c,0x73,0xc5,0x5c,0xb7,0xce,0x63,0x9e,0x5d,0x40,0xd1,0xd1,0xd8,0xf5,0x40,0xd3,0xc8,0xe1,0xbc,0x74,0x23,0xf0,0x32,0xc0,0xda,0x52,0x64,0x35,0x34,0x68,0xf0,0x09,0xc9,0x73,0xee,0xc0,0x44,0x8e,0x41,0xf9,0x28,0x9e,0x8d,0x9d,0xad,0xc6,0x8d,0xa7,0x7d,0x3c,0x3a,0xb3,0xa6,0x47,0x7d,0x44,0x02,0x4f,0x21,0xfb,0xa0,0xbd,0x44,0x77,0xd8,0x1c,0x60,0x27,0x65,0x75,0x27,0xaa,0x04,0x13,0xb4,0x5f,0x41,0x7c,0xb7,0xb3,0xbe,0xea,0x83,0x5a,0x1d,0x5d,0x79,0x54,0x14,0xd3,0x81,0x56,0x32,0x4c,0xb5,0xc1,0x30,0x3e,0x99,0x24,0xdb,0xe4,0x0c,0xd4,0x97,0xc4,0xc2,0x3c,0x22,0x1c,0xb9,0x12,0x05,0x8c,0x93,0x9b,0xea,0x8b,0x79,0xb3,0xfe,0xa3,0x60,0xfe,0xca,0xa8,0x33,0x75,0xa9,0xa8,0x4e,0x33,0x8d,0x9e,0x86,0x3e,0x80,0x21,0xad,0x2d,0xf4,0x43,0x0b,0x8d,0xea,0x0c,0x17,0x14,0xe1,0xbd,0xc4,0x78,0xf5,0x59,0x70,0x55,0x49,0xad,0x73,0x84,0x53,0xab,0x65,0xc0,0xff,0xcc,0x8c,0xf0,0xe3,0xba,0xfa,0xf4,0xaf,0xad,0x75,0xec,0xc4,0xdf,0xad,0x0d,0xe0,0xcf,0xe2,0x7d,0x50,0xd6,0x56,0x45,0x6e,0xa6,0xc3,0x61,0xb7,0x65,0x08,0x35,0x77,0x14,0x07,0x94,0x24]))))))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1223 - assert_eq!(LogKind::parser().parse(r#"App::Trace Connect 30c305825b900077ae7f8259c1c328aa3e124a07f3bfbbf216dfc6e308beea6e474b9a7ea6c24d003a6ae4fcf04a9e6ef7c7f17cdaa0296f66a88036badcf01f053da806fad356546349deceff24621b895440d05a715b221af8e9e068073d6dec04f148175717d3c2d1b6af84e2375718ab4a1eba7e037c1c1d43b4cf422d6f2aa9194266f0a7544eaeff8167f0e993d0ea6a8ddb98bfeb8805635d5ea9f6592fd5297e6f83b6834190f99449722cd0de87a4c122f08bbe836fd3092e5f0d37a3057e90f3dd41048da66cad3e8fd3ef72a9d86ecd9009c2db996af29dc62af5ef5eb04d0e16ce8fcecba92a4a9888f52d5d575e7dbc302ed97dbf69df15bb4f5c5601d38fbe3bd89d88768a6aed11ce2f95a6ad30bb72e787bfb734701cea1f38168be44ea19d3e98dd3c953fdb9951ac9c6e221bb0f980d8f0952ac8127da5bda7077dd25ffc8e1515c529f29516dacec6be9c084e6c91698267b2aed9038eca5ebafad479c5fb17652e25bb5b85586fae645bd7c3253d9916c0af65a20253412d5484ac15d288c6ca8823469090ded5ce0975dada63653797129f0e926af6247b457b067db683e37d848e0acf30e5602b78f1848e8da4b640ed08b75f3519a40ec96b2be964234beab37759504376c6e5ebfacdc57e4c7a22cf1e879d7bde29a2dca5fe20420215b59d102fd016606c533e8e36f7da114910664bade9b295d9043a01bc0dc4d8abbc16b1cec7789d89e699ad99dae597c7f10d6f047efc011d67444695cb8e6e8b3dba17ccc693729d01312d0f12a3fc76e12c2e4984af5cb3049b9d8a13124a1f770e96bae1fb153ba4c91bea4fae6f03010275d5a9b14012bdd678e037934dc6762005de54b32a7684e03060d5cc80378e9bef05b8f0692202944401bd06e4553e4490a0e57c5a72fc8abb1f714e22ea950fb2f1de284d6ff3da435954de355c677f60db4252a510919cbe7dadfed0441cf125fd8894753af8114f2ddacb75c3daa460920fc47d285e59fe9110e4151fcef03fa246cd2dd9a4d573e1dbbda1c6968cf4f546289b95ce1bf0a55eea6531382826d4002bc46bf441ce16056d42b5a2079e299e3191c23a7604cde03de6081e06f93cfe632c9a6088cd328662d47a4954934832df5b5f3765dbe136114c73c55cb7ce639e5d40d1d1d8f540d3c8e1bc7423f032c0da5264353468f009c973eec0448e41f9289e8d9dadc68da77d3c3ab3a6477d44024f21fba0bd4477d81c6027657527aa0413b45f417cb7b3beea835a1d5d795414d38156324cb5c1303e9924dbe40cd497c4c23c221cb912058c939bea8b79b3fea360fecaa83375a9a84e338d9e863e8021ad2df4430b8dea0c1714e1bdc478f559705549ad738453ab65c0ffcc8cf0e3bafaf4afad75ecc4dfad0de0cfe27d50d656456ea6c361b76508357714079424"#), Ok(("".into(), LogKind::App(AppLogKind::Trace(AppLogTraceKind::Connect(Box::new(AuthData(Box::new([0x30,0xc3,0x05,0x82,0x5b,0x90,0x00,0x77,0xae,0x7f,0x82,0x59,0xc1,0xc3,0x28,0xaa,0x3e,0x12,0x4a,0x07,0xf3,0xbf,0xbb,0xf2,0x16,0xdf,0xc6,0xe3,0x08,0xbe,0xea,0x6e,0x47,0x4b,0x9a,0x7e,0xa6,0xc2,0x4d,0x00,0x3a,0x6a,0xe4,0xfc,0xf0,0x4a,0x9e,0x6e,0xf7,0xc7,0xf1,0x7c,0xda,0xa0,0x29,0x6f,0x66,0xa8,0x80,0x36,0xba,0xdc,0xf0,0x1f,0x05,0x3d,0xa8,0x06,0xfa,0xd3,0x56,0x54,0x63,0x49,0xde,0xce,0xff,0x24,0x62,0x1b,0x89,0x54,0x40,0xd0,0x5a,0x71,0x5b,0x22,0x1a,0xf8,0xe9,0xe0,0x68,0x07,0x3d,0x6d,0xec,0x04,0xf1,0x48,0x17,0x57,0x17,0xd3,0xc2,0xd1,0xb6,0xaf,0x84,0xe2,0x37,0x57,0x18,0xab,0x4a,0x1e,0xba,0x7e,0x03,0x7c,0x1c,0x1d,0x43,0xb4,0xcf,0x42,0x2d,0x6f,0x2a,0xa9,0x19,0x42,0x66,0xf0,0xa7,0x54,0x4e,0xae,0xff,0x81,0x67,0xf0,0xe9,0x93,0xd0,0xea,0x6a,0x8d,0xdb,0x98,0xbf,0xeb,0x88,0x05,0x63,0x5d,0x5e,0xa9,0xf6,0x59,0x2f,0xd5,0x29,0x7e,0x6f,0x83,0xb6,0x83,0x41,0x90,0xf9,0x94,0x49,0x72,0x2c,0xd0,0xde,0x87,0xa4,0xc1,0x22,0xf0,0x8b,0xbe,0x83,0x6f,0xd3,0x09,0x2e,0x5f,0x0d,0x37,0xa3,0x05,0x7e,0x90,0xf3,0xdd,0x41,0x04,0x8d,0xa6,0x6c,0xad,0x3e,0x8f,0xd3,0xef,0x72,0xa9,0xd8,0x6e,0xcd,0x90,0x09,0xc2,0xdb,0x99,0x6a,0xf2,0x9d,0xc6,0x2a,0xf5,0xef,0x5e,0xb0,0x4d,0x0e,0x16,0xce,0x8f,0xce,0xcb,0xa9,0x2a,0x4a,0x98,0x88,0xf5,0x2d,0x5d,0x57,0x5e,0x7d,0xbc,0x30,0x2e,0xd9,0x7d,0xbf,0x69,0xdf,0x15,0xbb,0x4f,0x5c,0x56,0x01,0xd3,0x8f,0xbe,0x3b,0xd8,0x9d,0x88,0x76,0x8a,0x6a,0xed,0x11,0xce,0x2f,0x95,0xa6,0xad,0x30,0xbb,0x72,0xe7,0x87,0xbf,0xb7,0x34,0x70,0x1c,0xea,0x1f,0x38,0x16,0x8b,0xe4,0x4e,0xa1,0x9d,0x3e,0x98,0xdd,0x3c,0x95,0x3f,0xdb,0x99,0x51,0xac,0x9c,0x6e,0x22,0x1b,0xb0,0xf9,0x80,0xd8,0xf0,0x95,0x2a,0xc8,0x12,0x7d,0xa5,0xbd,0xa7,0x07,0x7d,0xd2,0x5f,0xfc,0x8e,0x15,0x15,0xc5,0x29,0xf2,0x95,0x16,0xda,0xce,0xc6,0xbe,0x9c,0x08,0x4e,0x6c,0x91,0x69,0x82,0x67,0xb2,0xae,0xd9,0x03,0x8e,0xca,0x5e,0xba,0xfa,0xd4,0x79,0xc5,0xfb,0x17,0x65,0x2e,0x25,0xbb,0x5b,0x85,0x58,0x6f,0xae,0x64,0x5b,0xd7,0xc3,0x25,0x3d,0x99,0x16,0xc0,0xaf,0x65,0xa2,0x02,0x53,0x41,0x2d,0x54,0x84,0xac,0x15,0xd2,0x88,0xc6,0xca,0x88,0x23,0x46,0x90,0x90,0xde,0xd5,0xce,0x09,0x75,0xda,0xda,0x63,0x65,0x37,0x97,0x12,0x9f,0x0e,0x92,0x6a,0xf6,0x24,0x7b,0x45,0x7b,0x06,0x7d,0xb6,0x83,0xe3,0x7d,0x84,0x8e,0x0a,0xcf,0x30,0xe5,0x60,0x2b,0x78,0xf1,0x84,0x8e,0x8d,0xa4,0xb6,0x40,0xed,0x08,0xb7,0x5f,0x35,0x19,0xa4,0x0e,0xc9,0x6b,0x2b,0xe9,0x64,0x23,0x4b,0xea,0xb3,0x77,0x59,0x50,0x43,0x76,0xc6,0xe5,0xeb,0xfa,0xcd,0xc5,0x7e,0x4c,0x7a,0x22,0xcf,0x1e,0x87,0x9d,0x7b,0xde,0x29,0xa2,0xdc,0xa5,0xfe,0x20,0x42,0x02,0x15,0xb5,0x9d,0x10,0x2f,0xd0,0x16,0x60,0x6c,0x53,0x3e,0x8e,0x36,0xf7,0xda,0x11,0x49,0x10,0x66,0x4b,0xad,0xe9,0xb2,0x95,0xd9,0x04,0x3a,0x01,0xbc,0x0d,0xc4,0xd8,0xab,0xbc,0x16,0xb1,0xce,0xc7,0x78,0x9d,0x89,0xe6,0x99,0xad,0x99,0xda,0xe5,0x97,0xc7,0xf1,0x0d,0x6f,0x04,0x7e,0xfc,0x01,0x1d,0x67,0x44,0x46,0x95,0xcb,0x8e,0x6e,0x8b,0x3d,0xba,0x17,0xcc,0xc6,0x93,0x72,0x9d,0x01,0x31,0x2d,0x0f,0x12,0xa3,0xfc,0x76,0xe1,0x2c,0x2e,0x49,0x84,0xaf,0x5c,0xb3,0x04,0x9b,0x9d,0x8a,0x13,0x12,0x4a,0x1f,0x77,0x0e,0x96,0xba,0xe1,0xfb,0x15,0x3b,0xa4,0xc9,0x1b,0xea,0x4f,0xae,0x6f,0x03,0x01,0x02,0x75,0xd5,0xa9,0xb1,0x40,0x12,0xbd,0xd6,0x78,0xe0,0x37,0x93,0x4d,0xc6,0x76,0x20,0x05,0xde,0x54,0xb3,0x2a,0x76,0x84,0xe0,0x30,0x60,0xd5,0xcc,0x80,0x37,0x8e,0x9b,0xef,0x05,0xb8,0xf0,0x69,0x22,0x02,0x94,0x44,0x01,0xbd,0x06,0xe4,0x55,0x3e,0x44,0x90,0xa0,0xe5,0x7c,0x5a,0x72,0xfc,0x8a,0xbb,0x1f,0x71,0x4e,0x22,0xea,0x95,0x0f,0xb2,0xf1,0xde,0x28,0x4d,0x6f,0xf3,0xda,0x43,0x59,0x54,0xde,0x35,0x5c,0x67,0x7f,0x60,0xdb,0x42,0x52,0xa5,0x10,0x91,0x9c,0xbe,0x7d,0xad,0xfe,0xd0,0x44,0x1c,0xf1,0x25,0xfd,0x88,0x94,0x75,0x3a,0xf8,0x11,0x4f,0x2d,0xda,0xcb,0x75,0xc3,0xda,0xa4,0x60,0x92,0x0f,0xc4,0x7d,0x28,0x5e,0x59,0xfe,0x91,0x10,0xe4,0x15,0x1f,0xce,0xf0,0x3f,0xa2,0x46,0xcd,0x2d,0xd9,0xa4,0xd5,0x73,0xe1,0xdb,0xbd,0xa1,0xc6,0x96,0x8c,0xf4,0xf5,0x46,0x28,0x9b,0x95,0xce,0x1b,0xf0,0xa5,0x5e,0xea,0x65,0x31,0x38,0x28,0x26,0xd4,0x00,0x2b,0xc4,0x6b,0xf4,0x41,0xce,0x16,0x05,0x6d,0x42,0xb5,0xa2,0x07,0x9e,0x29,0x9e,0x31,0x91,0xc2,0x3a,0x76,0x04,0xcd,0xe0,0x3d,0xe6,0x08,0x1e,0x06,0xf9,0x3c,0xfe,0x63,0x2c,0x9a,0x60,0x88,0xcd,0x32,0x86,0x62,0xd4,0x7a,0x49,0x54,0x93,0x48,0x32,0xdf,0x5b,0x5f,0x37,0x65,0xdb,0xe1,0x36,0x11,0x4c,0x73,0xc5,0x5c,0xb7,0xce,0x63,0x9e,0x5d,0x40,0xd1,0xd1,0xd8,0xf5,0x40,0xd3,0xc8,0xe1,0xbc,0x74,0x23,0xf0,0x32,0xc0,0xda,0x52,0x64,0x35,0x34,0x68,0xf0,0x09,0xc9,0x73,0xee,0xc0,0x44,0x8e,0x41,0xf9,0x28,0x9e,0x8d,0x9d,0xad,0xc6,0x8d,0xa7,0x7d,0x3c,0x3a,0xb3,0xa6,0x47,0x7d,0x44,0x02,0x4f,0x21,0xfb,0xa0,0xbd,0x44,0x77,0xd8,0x1c,0x60,0x27,0x65,0x75,0x27,0xaa,0x04,0x13,0xb4,0x5f,0x41,0x7c,0xb7,0xb3,0xbe,0xea,0x83,0x5a,0x1d,0x5d,0x79,0x54,0x14,0xd3,0x81,0x56,0x32,0x4c,0xb5,0xc1,0x30,0x3e,0x99,0x24,0xdb,0xe4,0x0c,0xd4,0x97,0xc4,0xc2,0x3c,0x22,0x1c,0xb9,0x12,0x05,0x8c,0x93,0x9b,0xea,0x8b,0x79,0xb3,0xfe,0xa3,0x60,0xfe,0xca,0xa8,0x33,0x75,0xa9,0xa8,0x4e,0x33,0x8d,0x9e,0x86,0x3e,0x80,0x21,0xad,0x2d,0xf4,0x43,0x0b,0x8d,0xea,0x0c,0x17,0x14,0xe1,0xbd,0xc4,0x78,0xf5,0x59,0x70,0x55,0x49,0xad,0x73,0x84,0x53,0xab,0x65,0xc0,0xff,0xcc,0x8c,0xf0,0xe3,0xba,0xfa,0xf4,0xaf,0xad,0x75,0xec,0xc4,0xdf,0xad,0x0d,0xe0,0xcf,0xe2,0x7d,0x50,0xd6,0x56,0x45,0x6e,0xa6,0xc3,0x61,0xb7,0x65,0x08,0x35,0x77,0x14,0x07,0x94,0x24]))))))))); [INFO] [stdout] 1223 + assert_eq!(LogKind::parser().parse(r#"App::Trace Connect 30c305825b900077ae7f8259c1c328aa3e124a07f3bfbbf216dfc6e308beea6e474b9a7ea6c24d003a6ae4fcf04a9e6ef7c7f17cdaa0296f66a88036badcf01f053da806fad356546349deceff24621b895440d05a715b221af8e9e068073d6dec04f148175717d3c2d1b6af84e2375718ab4a1eba7e037c1c1d43b4cf422d6f2aa9194266f0a7544eaeff8167f0e993d0ea6a8ddb98bfeb8805635d5ea9f6592fd5297e6f83b6834190f99449722cd0de87a4c122f08bbe836fd3092e5f0d37a3057e90f3dd41048da66cad3e8fd3ef72a9d86ecd9009c2db996af29dc62af5ef5eb04d0e16ce8fcecba92a4a9888f52d5d575e7dbc302ed97dbf69df15bb4f5c5601d38fbe3bd89d88768a6aed11ce2f95a6ad30bb72e787bfb734701cea1f38168be44ea19d3e98dd3c953fdb9951ac9c6e221bb0f980d8f0952ac8127da5bda7077dd25ffc8e1515c529f29516dacec6be9c084e6c91698267b2aed9038eca5ebafad479c5fb17652e25bb5b85586fae645bd7c3253d9916c0af65a20253412d5484ac15d288c6ca8823469090ded5ce0975dada63653797129f0e926af6247b457b067db683e37d848e0acf30e5602b78f1848e8da4b640ed08b75f3519a40ec96b2be964234beab37759504376c6e5ebfacdc57e4c7a22cf1e879d7bde29a2dca5fe20420215b59d102fd016606c533e8e36f7da114910664bade9b295d9043a01bc0dc4d8abbc16b1cec7789d89e699ad99dae597c7f10d6f047efc011d67444695cb8e6e8b3dba17ccc693729d01312d0f12a3fc76e12c2e4984af5cb3049b9d8a13124a1f770e96bae1fb153ba4c91bea4fae6f03010275d5a9b14012bdd678e037934dc6762005de54b32a7684e03060d5cc80378e9bef05b8f0692202944401bd06e4553e4490a0e57c5a72fc8abb1f714e22ea950fb2f1de284d6ff3da435954de355c677f60db4252a510919cbe7dadfed0441cf125fd8894753af8114f2ddacb75c3daa460920fc47d285e59fe9110e4151fcef03fa246cd2dd9a4d573e1dbbda1c6968cf4f546289b95ce1bf0a55eea6531382826d4002bc46bf441ce16056d42b5a2079e299e3191c23a7604cde03de6081e06f93cfe632c9a6088cd328662d47a4954934832df5b5f3765dbe136114c73c55cb7ce639e5d40d1d1d8f540d3c8e1bc7423f032c0da5264353468f009c973eec0448e41f9289e8d9dadc68da77d3c3ab3a6477d44024f21fba0bd4477d81c6027657527aa0413b45f417cb7b3beea835a1d5d795414d38156324cb5c1303e9924dbe40cd497c4c23c221cb912058c939bea8b79b3fea360fecaa83375a9a84e338d9e863e8021ad2df4430b8dea0c1714e1bdc478f559705549ad738453ab65c0ffcc8cf0e3bafaf4afad75ecc4dfad0de0cfe27d50d656456ea6c361b76508357714079424"#), Ok((<&str as Into<_>>::into(""), LogKind::App(AppLogKind::Trace(AppLogTraceKind::Connect(Box::new(AuthData(Box::new([0x30,0xc3,0x05,0x82,0x5b,0x90,0x00,0x77,0xae,0x7f,0x82,0x59,0xc1,0xc3,0x28,0xaa,0x3e,0x12,0x4a,0x07,0xf3,0xbf,0xbb,0xf2,0x16,0xdf,0xc6,0xe3,0x08,0xbe,0xea,0x6e,0x47,0x4b,0x9a,0x7e,0xa6,0xc2,0x4d,0x00,0x3a,0x6a,0xe4,0xfc,0xf0,0x4a,0x9e,0x6e,0xf7,0xc7,0xf1,0x7c,0xda,0xa0,0x29,0x6f,0x66,0xa8,0x80,0x36,0xba,0xdc,0xf0,0x1f,0x05,0x3d,0xa8,0x06,0xfa,0xd3,0x56,0x54,0x63,0x49,0xde,0xce,0xff,0x24,0x62,0x1b,0x89,0x54,0x40,0xd0,0x5a,0x71,0x5b,0x22,0x1a,0xf8,0xe9,0xe0,0x68,0x07,0x3d,0x6d,0xec,0x04,0xf1,0x48,0x17,0x57,0x17,0xd3,0xc2,0xd1,0xb6,0xaf,0x84,0xe2,0x37,0x57,0x18,0xab,0x4a,0x1e,0xba,0x7e,0x03,0x7c,0x1c,0x1d,0x43,0xb4,0xcf,0x42,0x2d,0x6f,0x2a,0xa9,0x19,0x42,0x66,0xf0,0xa7,0x54,0x4e,0xae,0xff,0x81,0x67,0xf0,0xe9,0x93,0xd0,0xea,0x6a,0x8d,0xdb,0x98,0xbf,0xeb,0x88,0x05,0x63,0x5d,0x5e,0xa9,0xf6,0x59,0x2f,0xd5,0x29,0x7e,0x6f,0x83,0xb6,0x83,0x41,0x90,0xf9,0x94,0x49,0x72,0x2c,0xd0,0xde,0x87,0xa4,0xc1,0x22,0xf0,0x8b,0xbe,0x83,0x6f,0xd3,0x09,0x2e,0x5f,0x0d,0x37,0xa3,0x05,0x7e,0x90,0xf3,0xdd,0x41,0x04,0x8d,0xa6,0x6c,0xad,0x3e,0x8f,0xd3,0xef,0x72,0xa9,0xd8,0x6e,0xcd,0x90,0x09,0xc2,0xdb,0x99,0x6a,0xf2,0x9d,0xc6,0x2a,0xf5,0xef,0x5e,0xb0,0x4d,0x0e,0x16,0xce,0x8f,0xce,0xcb,0xa9,0x2a,0x4a,0x98,0x88,0xf5,0x2d,0x5d,0x57,0x5e,0x7d,0xbc,0x30,0x2e,0xd9,0x7d,0xbf,0x69,0xdf,0x15,0xbb,0x4f,0x5c,0x56,0x01,0xd3,0x8f,0xbe,0x3b,0xd8,0x9d,0x88,0x76,0x8a,0x6a,0xed,0x11,0xce,0x2f,0x95,0xa6,0xad,0x30,0xbb,0x72,0xe7,0x87,0xbf,0xb7,0x34,0x70,0x1c,0xea,0x1f,0x38,0x16,0x8b,0xe4,0x4e,0xa1,0x9d,0x3e,0x98,0xdd,0x3c,0x95,0x3f,0xdb,0x99,0x51,0xac,0x9c,0x6e,0x22,0x1b,0xb0,0xf9,0x80,0xd8,0xf0,0x95,0x2a,0xc8,0x12,0x7d,0xa5,0xbd,0xa7,0x07,0x7d,0xd2,0x5f,0xfc,0x8e,0x15,0x15,0xc5,0x29,0xf2,0x95,0x16,0xda,0xce,0xc6,0xbe,0x9c,0x08,0x4e,0x6c,0x91,0x69,0x82,0x67,0xb2,0xae,0xd9,0x03,0x8e,0xca,0x5e,0xba,0xfa,0xd4,0x79,0xc5,0xfb,0x17,0x65,0x2e,0x25,0xbb,0x5b,0x85,0x58,0x6f,0xae,0x64,0x5b,0xd7,0xc3,0x25,0x3d,0x99,0x16,0xc0,0xaf,0x65,0xa2,0x02,0x53,0x41,0x2d,0x54,0x84,0xac,0x15,0xd2,0x88,0xc6,0xca,0x88,0x23,0x46,0x90,0x90,0xde,0xd5,0xce,0x09,0x75,0xda,0xda,0x63,0x65,0x37,0x97,0x12,0x9f,0x0e,0x92,0x6a,0xf6,0x24,0x7b,0x45,0x7b,0x06,0x7d,0xb6,0x83,0xe3,0x7d,0x84,0x8e,0x0a,0xcf,0x30,0xe5,0x60,0x2b,0x78,0xf1,0x84,0x8e,0x8d,0xa4,0xb6,0x40,0xed,0x08,0xb7,0x5f,0x35,0x19,0xa4,0x0e,0xc9,0x6b,0x2b,0xe9,0x64,0x23,0x4b,0xea,0xb3,0x77,0x59,0x50,0x43,0x76,0xc6,0xe5,0xeb,0xfa,0xcd,0xc5,0x7e,0x4c,0x7a,0x22,0xcf,0x1e,0x87,0x9d,0x7b,0xde,0x29,0xa2,0xdc,0xa5,0xfe,0x20,0x42,0x02,0x15,0xb5,0x9d,0x10,0x2f,0xd0,0x16,0x60,0x6c,0x53,0x3e,0x8e,0x36,0xf7,0xda,0x11,0x49,0x10,0x66,0x4b,0xad,0xe9,0xb2,0x95,0xd9,0x04,0x3a,0x01,0xbc,0x0d,0xc4,0xd8,0xab,0xbc,0x16,0xb1,0xce,0xc7,0x78,0x9d,0x89,0xe6,0x99,0xad,0x99,0xda,0xe5,0x97,0xc7,0xf1,0x0d,0x6f,0x04,0x7e,0xfc,0x01,0x1d,0x67,0x44,0x46,0x95,0xcb,0x8e,0x6e,0x8b,0x3d,0xba,0x17,0xcc,0xc6,0x93,0x72,0x9d,0x01,0x31,0x2d,0x0f,0x12,0xa3,0xfc,0x76,0xe1,0x2c,0x2e,0x49,0x84,0xaf,0x5c,0xb3,0x04,0x9b,0x9d,0x8a,0x13,0x12,0x4a,0x1f,0x77,0x0e,0x96,0xba,0xe1,0xfb,0x15,0x3b,0xa4,0xc9,0x1b,0xea,0x4f,0xae,0x6f,0x03,0x01,0x02,0x75,0xd5,0xa9,0xb1,0x40,0x12,0xbd,0xd6,0x78,0xe0,0x37,0x93,0x4d,0xc6,0x76,0x20,0x05,0xde,0x54,0xb3,0x2a,0x76,0x84,0xe0,0x30,0x60,0xd5,0xcc,0x80,0x37,0x8e,0x9b,0xef,0x05,0xb8,0xf0,0x69,0x22,0x02,0x94,0x44,0x01,0xbd,0x06,0xe4,0x55,0x3e,0x44,0x90,0xa0,0xe5,0x7c,0x5a,0x72,0xfc,0x8a,0xbb,0x1f,0x71,0x4e,0x22,0xea,0x95,0x0f,0xb2,0xf1,0xde,0x28,0x4d,0x6f,0xf3,0xda,0x43,0x59,0x54,0xde,0x35,0x5c,0x67,0x7f,0x60,0xdb,0x42,0x52,0xa5,0x10,0x91,0x9c,0xbe,0x7d,0xad,0xfe,0xd0,0x44,0x1c,0xf1,0x25,0xfd,0x88,0x94,0x75,0x3a,0xf8,0x11,0x4f,0x2d,0xda,0xcb,0x75,0xc3,0xda,0xa4,0x60,0x92,0x0f,0xc4,0x7d,0x28,0x5e,0x59,0xfe,0x91,0x10,0xe4,0x15,0x1f,0xce,0xf0,0x3f,0xa2,0x46,0xcd,0x2d,0xd9,0xa4,0xd5,0x73,0xe1,0xdb,0xbd,0xa1,0xc6,0x96,0x8c,0xf4,0xf5,0x46,0x28,0x9b,0x95,0xce,0x1b,0xf0,0xa5,0x5e,0xea,0x65,0x31,0x38,0x28,0x26,0xd4,0x00,0x2b,0xc4,0x6b,0xf4,0x41,0xce,0x16,0x05,0x6d,0x42,0xb5,0xa2,0x07,0x9e,0x29,0x9e,0x31,0x91,0xc2,0x3a,0x76,0x04,0xcd,0xe0,0x3d,0xe6,0x08,0x1e,0x06,0xf9,0x3c,0xfe,0x63,0x2c,0x9a,0x60,0x88,0xcd,0x32,0x86,0x62,0xd4,0x7a,0x49,0x54,0x93,0x48,0x32,0xdf,0x5b,0x5f,0x37,0x65,0xdb,0xe1,0x36,0x11,0x4c,0x73,0xc5,0x5c,0xb7,0xce,0x63,0x9e,0x5d,0x40,0xd1,0xd1,0xd8,0xf5,0x40,0xd3,0xc8,0xe1,0xbc,0x74,0x23,0xf0,0x32,0xc0,0xda,0x52,0x64,0x35,0x34,0x68,0xf0,0x09,0xc9,0x73,0xee,0xc0,0x44,0x8e,0x41,0xf9,0x28,0x9e,0x8d,0x9d,0xad,0xc6,0x8d,0xa7,0x7d,0x3c,0x3a,0xb3,0xa6,0x47,0x7d,0x44,0x02,0x4f,0x21,0xfb,0xa0,0xbd,0x44,0x77,0xd8,0x1c,0x60,0x27,0x65,0x75,0x27,0xaa,0x04,0x13,0xb4,0x5f,0x41,0x7c,0xb7,0xb3,0xbe,0xea,0x83,0x5a,0x1d,0x5d,0x79,0x54,0x14,0xd3,0x81,0x56,0x32,0x4c,0xb5,0xc1,0x30,0x3e,0x99,0x24,0xdb,0xe4,0x0c,0xd4,0x97,0xc4,0xc2,0x3c,0x22,0x1c,0xb9,0x12,0x05,0x8c,0x93,0x9b,0xea,0x8b,0x79,0xb3,0xfe,0xa3,0x60,0xfe,0xca,0xa8,0x33,0x75,0xa9,0xa8,0x4e,0x33,0x8d,0x9e,0x86,0x3e,0x80,0x21,0xad,0x2d,0xf4,0x43,0x0b,0x8d,0xea,0x0c,0x17,0x14,0xe1,0xbd,0xc4,0x78,0xf5,0x59,0x70,0x55,0x49,0xad,0x73,0x84,0x53,0xab,0x65,0xc0,0xff,0xcc,0x8c,0xf0,0xe3,0xba,0xfa,0xf4,0xaf,0xad,0x75,0xec,0xc4,0xdf,0xad,0x0d,0xe0,0xcf,0xe2,0x7d,0x50,0xd6,0x56,0x45,0x6e,0xa6,0xc3,0x61,0xb7,0x65,0x08,0x35,0x77,0x14,0x07,0x94,0x24]))))))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1224:44 [INFO] [stdout] | [INFO] [stdout] 1224 | ...ind::parser().parse(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#.into()), Ok(("".into(), Lo... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1224 - assert_eq!(LogKind::parser().parse(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::CreateUser{user_id: "Steeve".into(), authorized_capital: 10_000}))))); [INFO] [stdout] 1224 + assert_eq!(LogKind::parser().parse(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::CreateUser{user_id: "Steeve".into(), authorized_capital: 10_000}))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1224 - assert_eq!(LogKind::parser().parse(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::CreateUser{user_id: "Steeve".into(), authorized_capital: 10_000}))))); [INFO] [stdout] 1224 + assert_eq!(LogKind::parser().parse(<&str as Into<_>>::into(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#)), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::CreateUser{user_id: "Steeve".into(), authorized_capital: 10_000}))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1224:138 [INFO] [stdout] | [INFO] [stdout] 1224 | ...d": "Steeve", "authorized_capital": 10000,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::Creat... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1224 - assert_eq!(LogKind::parser().parse(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::CreateUser{user_id: "Steeve".into(), authorized_capital: 10_000}))))); [INFO] [stdout] 1224 + assert_eq!(LogKind::parser().parse(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#.into()), Ok(("", LogKind::App(AppLogKind::Journal(AppLogJournalKind::CreateUser{user_id: "Steeve".into(), authorized_capital: 10_000}))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1224 - assert_eq!(LogKind::parser().parse(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::CreateUser{user_id: "Steeve".into(), authorized_capital: 10_000}))))); [INFO] [stdout] 1224 + assert_eq!(LogKind::parser().parse(r#"App::Journal CreateUser {"user_id": "Steeve", "authorized_capital": 10000,}"#.into()), Ok((<&str as Into<_>>::into(""), LogKind::App(AppLogKind::Journal(AppLogJournalKind::CreateUser{user_id: "Steeve".into(), authorized_capital: 10_000}))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1225:44 [INFO] [stdout] | [INFO] [stdout] 1225 | ... assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1225 - assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DeleteUser{user_id: "Steeve".into()}))))); [INFO] [stdout] 1225 + assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DeleteUser{user_id: "Steeve".into()}))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1225 - assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DeleteUser{user_id: "Steeve".into()}))))); [INFO] [stdout] 1225 + assert_eq!(LogKind::parser().parse(<&str as Into<_>>::into(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#)), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DeleteUser{user_id: "Steeve".into()}))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1225:109 [INFO] [stdout] | [INFO] [stdout] 1225 | ... assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1225 - assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DeleteUser{user_id: "Steeve".into()}))))); [INFO] [stdout] 1225 + assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#.into()), Ok(("", LogKind::App(AppLogKind::Journal(AppLogJournalKind::DeleteUser{user_id: "Steeve".into()}))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1225 - assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DeleteUser{user_id: "Steeve".into()}))))); [INFO] [stdout] 1225 + assert_eq!(LogKind::parser().parse(r#"App::Journal DeleteUser {"user_id": "Steeve",}"#.into()), Ok((<&str as Into<_>>::into(""), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DeleteUser{user_id: "Steeve".into()}))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1226:44 [INFO] [stdout] | [INFO] [stdout] 1226 | ...er().parse(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#.into()), Ok(("".i... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1226 - assert_eq!(LogKind::parser().parse(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::RegisterAsset{asset_id: "bayc".into(), user_id: "Steeve".into(), liquidity: 100_000_000}))))); [INFO] [stdout] 1226 + assert_eq!(LogKind::parser().parse(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::RegisterAsset{asset_id: "bayc".into(), user_id: "Steeve".into(), liquidity: 100_000_000}))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1226 - assert_eq!(LogKind::parser().parse(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::RegisterAsset{asset_id: "bayc".into(), user_id: "Steeve".into(), liquidity: 100_000_000}))))); [INFO] [stdout] 1226 + assert_eq!(LogKind::parser().parse(<&str as Into<_>>::into(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#)), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::RegisterAsset{asset_id: "bayc".into(), user_id: "Steeve".into(), liquidity: 100_000_000}))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1226:156 [INFO] [stdout] | [INFO] [stdout] 1226 | ...iquidity": 100000000, "user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::Regis... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1226 - assert_eq!(LogKind::parser().parse(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::RegisterAsset{asset_id: "bayc".into(), user_id: "Steeve".into(), liquidity: 100_000_000}))))); [INFO] [stdout] 1226 + assert_eq!(LogKind::parser().parse(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#.into()), Ok(("", LogKind::App(AppLogKind::Journal(AppLogJournalKind::RegisterAsset{asset_id: "bayc".into(), user_id: "Steeve".into(), liquidity: 100_000_000}))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1226 - assert_eq!(LogKind::parser().parse(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::RegisterAsset{asset_id: "bayc".into(), user_id: "Steeve".into(), liquidity: 100_000_000}))))); [INFO] [stdout] 1226 + assert_eq!(LogKind::parser().parse(r#"App::Journal RegisterAsset {"asset_id": "bayc", "liquidity": 100000000, "user_id": "Steeve",}"#.into()), Ok((<&str as Into<_>>::into(""), LogKind::App(AppLogKind::Journal(AppLogJournalKind::RegisterAsset{asset_id: "bayc".into(), user_id: "Steeve".into(), liquidity: 100_000_000}))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1227:44 [INFO] [stdout] | [INFO] [stdout] 1227 | ... assert_eq!(LogKind::parser().parse(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#.into()), Ok((""... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1227 - assert_eq!(LogKind::parser().parse(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DepositCash(UserCash{user_id: "Steeve".into(), count: 10})))))); [INFO] [stdout] 1227 + assert_eq!(LogKind::parser().parse(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DepositCash(UserCash{user_id: "Steeve".into(), count: 10})))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1227 - assert_eq!(LogKind::parser().parse(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DepositCash(UserCash{user_id: "Steeve".into(), count: 10})))))); [INFO] [stdout] 1227 + assert_eq!(LogKind::parser().parse(<&str as Into<_>>::into(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#)), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DepositCash(UserCash{user_id: "Steeve".into(), count: 10})))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1227:131 [INFO] [stdout] | [INFO] [stdout] 1227 | ...UserCash{"user_id": "Steeve", "count": 10,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::Depos... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1227 - assert_eq!(LogKind::parser().parse(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DepositCash(UserCash{user_id: "Steeve".into(), count: 10})))))); [INFO] [stdout] 1227 + assert_eq!(LogKind::parser().parse(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#.into()), Ok(("", LogKind::App(AppLogKind::Journal(AppLogJournalKind::DepositCash(UserCash{user_id: "Steeve".into(), count: 10})))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1227 - assert_eq!(LogKind::parser().parse(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DepositCash(UserCash{user_id: "Steeve".into(), count: 10})))))); [INFO] [stdout] 1227 + assert_eq!(LogKind::parser().parse(r#"App::Journal DepositCash UserCash{"user_id": "Steeve", "count": 10,}"#.into()), Ok((<&str as Into<_>>::into(""), LogKind::App(AppLogKind::Journal(AppLogJournalKind::DepositCash(UserCash{user_id: "Steeve".into(), count: 10})))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1228:44 [INFO] [stdout] | [INFO] [stdout] 1228 | ...parse(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#.into()), Ok((... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1228 - assert_eq!(LogKind::parser().parse(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAsset(UserBacket{user_id: "Steeve".into(), backet: Backet{asset_id: "bayc".into(),count:1}})))))); [INFO] [stdout] 1228 + assert_eq!(LogKind::parser().parse(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAsset(UserBacket{user_id: "Steeve".into(), backet: Backet{asset_id: "bayc".into(),count:1}})))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1228 - assert_eq!(LogKind::parser().parse(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAsset(UserBacket{user_id: "Steeve".into(), backet: Backet{asset_id: "bayc".into(),count:1}})))))); [INFO] [stdout] 1228 + assert_eq!(LogKind::parser().parse(<&str as Into<_>>::into(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#)), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAsset(UserBacket{user_id: "Steeve".into(), backet: Backet{asset_id: "bayc".into(),count:1}})))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> src/parse.rs:1228:165 [INFO] [stdout] | [INFO] [stdout] 1228 | ...et": Backet{"asset_id":"bayc","count":1,},}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAs... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 1228 - assert_eq!(LogKind::parser().parse(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAsset(UserBacket{user_id: "Steeve".into(), backet: Backet{asset_id: "bayc".into(),count:1}})))))); [INFO] [stdout] 1228 + assert_eq!(LogKind::parser().parse(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#.into()), Ok(("", LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAsset(UserBacket{user_id: "Steeve".into(), backet: Backet{asset_id: "bayc".into(),count:1}})))))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 1228 - assert_eq!(LogKind::parser().parse(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#.into()), Ok(("".into(), LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAsset(UserBacket{user_id: "Steeve".into(), backet: Backet{asset_id: "bayc".into(),count:1}})))))); [INFO] [stdout] 1228 + assert_eq!(LogKind::parser().parse(r#"App::Journal BuyAsset UserBacket{"user_id": "Steeve", "backet": Backet{"asset_id":"bayc","count":1,},}"#.into()), Ok((<&str as Into<_>>::into(""), LogKind::App(AppLogKind::Journal(AppLogJournalKind::BuyAsset(UserBacket{user_id: "Steeve".into(), backet: Backet{asset_id: "bayc".into(),count:1}})))))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `analysis` (lib test) due to 63 previous errors; 6 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad", kill_on_drop: false }` [INFO] [stdout] 38bd1bf7e6f634159836df9792386742ccb8f9a7834d1349caa1ae21414c9aad