[INFO] fetching crate hml-rs 0.3.1... [INFO] linting hml-rs-0.3.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate hml-rs 0.3.1 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate hml-rs 0.3.1 [INFO] finished tweaking crates.io crate hml-rs 0.3.1 [INFO] tweaked toml for crates.io crate hml-rs 0.3.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate hml-rs 0.3.1 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate hml-rs 0.3.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lexer-rs v0.0.4 [INFO] [stderr] Downloaded utf8-read v0.4.0 [INFO] [stderr] Downloaded unicode-ident v1.0.15 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 33089208fbacaa90df7199d842ee27f10d414890c4e52cc67732dba7d3e39c91 [INFO] running `Command { std: "docker" "start" "-a" "33089208fbacaa90df7199d842ee27f10d414890c4e52cc67732dba7d3e39c91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "33089208fbacaa90df7199d842ee27f10d414890c4e52cc67732dba7d3e39c91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33089208fbacaa90df7199d842ee27f10d414890c4e52cc67732dba7d3e39c91", kill_on_drop: false }` [INFO] [stdout] 33089208fbacaa90df7199d842ee27f10d414890c4e52cc67732dba7d3e39c91 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ffd39112cc29b8dc1de8d29ec23542cfba4bb42d73270351f72eb650adbd7a14 [INFO] running `Command { std: "docker" "start" "-a" "ffd39112cc29b8dc1de8d29ec23542cfba4bb42d73270351f72eb650adbd7a14", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.15 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking xml-rs v0.8.25 [INFO] [stderr] Checking utf8-read v0.4.0 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Checking lexer-rs v0.0.4 [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking clap_builder v4.4.18 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Checking clap v4.4.18 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking hml-rs v0.3.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: enum `Error` is never used [INFO] [stdout] --> src/hml/escape.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `bad_escape`, `bad_hex_digit`, `bad_hex_escape`, `bad_unicode`, and `end_of_string_in_escape` are never used [INFO] [stdout] --> src/hml/escape.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl Error { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 23 | fn bad_escape(reason: &str, byte: u8, _bytes: &[u8], _offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn bad_hex_digit(reason: &str, _byte: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn bad_hex_escape(reason: &str, _bytes: &[u8], _offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn bad_unicode(reason: &str, _bytes: &[u8], _offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn end_of_string_in_escape(bytes: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Result` is never used [INFO] [stdout] --> src/hml/escape.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex_of_byte` is never used [INFO] [stdout] --> src/hml/escape.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn hex_of_byte(reason: &str, b: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Escapable` is never constructed [INFO] [stdout] --> src/hml/escape.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct Escapable<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EscapeState` is never used [INFO] [stdout] --> src/hml/escape.rs:70:6 [INFO] [stdout] | [INFO] [stdout] 70 | enum EscapeState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `unescape`, and `opt_unescape` are never used [INFO] [stdout] --> src/hml/escape.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl<'a> Escapable<'a> { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn new(s: &'a str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn unescape(bytes: &[u8], mut i: usize, n: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn opt_unescape(s: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `extra` is never read [INFO] [stdout] --> src/hml_reader/builder.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct CloseTag [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 49 | pub extra: T, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CloseTag` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | document. Multi-line content can be generated using #"..."#, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 60 | document. Multi-line content can be generated using #"..."#, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | #"""..."""#, or raw variants r#"..."#. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 61 | #"""..."""#, or raw variants r#"..."#. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/names/namespace_stack.rs:93:22 [INFO] [stdout] | [INFO] [stdout] 93 | fn iter_mappings(&self) -> NamespaceStackFrameIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 93 | fn iter_mappings(&self) -> NamespaceStackFrameIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/hml/escape.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | BadEscape(String), [INFO] [stdout] | --------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 - BadEscape(String), [INFO] [stdout] 10 + BadEscape(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/hml/escape.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | BadHexDigit(String), [INFO] [stdout] | ----------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 - BadHexDigit(String), [INFO] [stdout] 12 + BadHexDigit(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/hml/escape.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | BadHexEscape(String), [INFO] [stdout] | ------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 - BadHexEscape(String), [INFO] [stdout] 14 + BadHexEscape(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/hml/escape.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | BadUnicode(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - BadUnicode(String), [INFO] [stdout] 16 + BadUnicode(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/hml/escape.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | EndOfStringInEscape(String), [INFO] [stdout] | ------------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 18 - EndOfStringInEscape(String), [INFO] [stdout] 18 + EndOfStringInEscape(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `extra` is never read [INFO] [stdout] --> src/hml_reader/builder.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct CloseTag [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 49 | pub extra: T, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CloseTag` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | document. Multi-line content can be generated using #"..."#, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 60 | document. Multi-line content can be generated using #"..."#, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | #"""..."""#, or raw variants r#"..."#. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 61 | #"""..."""#, or raw variants r#"..."#. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/hml_reader/test_parser.rs:58:57 [INFO] [stdout] | [INFO] [stdout] 58 | if ns_stack.name_str(tag.name.name) != name { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 59 | | false [INFO] [stdout] 60 | | } else if ns_stack.uri_str(tag.name.uri) != uri { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/hml_reader/test_parser.rs:60:61 [INFO] [stdout] | [INFO] [stdout] 60 | } else if ns_stack.uri_str(tag.name.uri) != uri { [INFO] [stdout] | _____________________________________________________________^ [INFO] [stdout] 61 | | false [INFO] [stdout] 62 | | } else { [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/hml_reader/test_parser.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | / if *name == stack_name { [INFO] [stdout] 95 | | true [INFO] [stdout] 96 | | } else { [INFO] [stdout] 97 | | false [INFO] [stdout] 98 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `*name == stack_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `t` after checking its variant with `is_err` [INFO] [stdout] --> src/hml_reader/test_parser.rs:132:37 [INFO] [stdout] | [INFO] [stdout] 129 | if t.is_err() { [INFO] [stdout] | ------------- help: try: `if let Ok() = t` [INFO] [stdout] ... [INFO] [stdout] 132 | let t = t.unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `t` after checking its variant with `is_err` [INFO] [stdout] --> src/hml_reader/test_parser.rs:145:37 [INFO] [stdout] | [INFO] [stdout] 142 | if t.is_err() { [INFO] [stdout] | ------------- help: try: `if let Ok() = t` [INFO] [stdout] ... [INFO] [stdout] 145 | let t = t.unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `t` after checking its variant with `is_err` [INFO] [stdout] --> src/hml_reader/test_parser.rs:158:37 [INFO] [stdout] | [INFO] [stdout] 155 | if t.is_err() { [INFO] [stdout] | ------------- help: try: `if let Ok() = t` [INFO] [stdout] ... [INFO] [stdout] 158 | let t = t.unwrap(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/hml_reader/test_parser.rs:160:45 [INFO] [stdout] | [INFO] [stdout] 160 | ... if et != ct { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 161 | | ... false [INFO] [stdout] 162 | | ... } else if es != cs { [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/hml_reader/test_parser.rs:162:52 [INFO] [stdout] | [INFO] [stdout] 162 | ... } else if es != cs { [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 163 | | ... false [INFO] [stdout] 164 | | ... } else { [INFO] [stdout] | |_______________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/hml_reader/test_parser.rs:162:40 [INFO] [stdout] | [INFO] [stdout] 162 | ... } else if es != cs { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 163 | | ... false [INFO] [stdout] 164 | | ... } else { [INFO] [stdout] 165 | | ... true [INFO] [stdout] 166 | | ... } [INFO] [stdout] | |_______________________^ help: you can reduce it to: `{ es == cs }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/hml_reader/test_parser.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | / match expectation.check_expectation(&namespace_stack, t) { [INFO] [stdout] 202 | | Err(x) => { [INFO] [stdout] 203 | | errors.push(x); [INFO] [stdout] 204 | | if is_err { [INFO] [stdout] ... | [INFO] [stdout] 208 | | _ => (), [INFO] [stdout] 209 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 201 ~ if let Err(x) = expectation.check_expectation(&namespace_stack, t) { [INFO] [stdout] 202 + errors.push(x); [INFO] [stdout] 203 + if is_err { [INFO] [stdout] 204 + break; [INFO] [stdout] 205 + } [INFO] [stdout] 206 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/hml_reader/lexer_parsers.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | assert!(!result.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/hml_reader/lexer_parsers.rs:374:13 [INFO] [stdout] | [INFO] [stdout] 374 | assert!(!result.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/hml_reader/lexer_parsers.rs:389:13 [INFO] [stdout] | [INFO] [stdout] 389 | assert!(!result.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/hml_reader/lexer_parsers.rs:416:13 [INFO] [stdout] | [INFO] [stdout] 416 | assert!(!result.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/hml_reader/lexer_parsers.rs:426:13 [INFO] [stdout] | [INFO] [stdout] 426 | assert!(!result.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/names/namespace_stack.rs:93:22 [INFO] [stdout] | [INFO] [stdout] 93 | fn iter_mappings(&self) -> NamespaceStackFrameIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 93 | fn iter_mappings(&self) -> NamespaceStackFrameIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.44s [INFO] running `Command { std: "docker" "inspect" "ffd39112cc29b8dc1de8d29ec23542cfba4bb42d73270351f72eb650adbd7a14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ffd39112cc29b8dc1de8d29ec23542cfba4bb42d73270351f72eb650adbd7a14", kill_on_drop: false }` [INFO] [stdout] ffd39112cc29b8dc1de8d29ec23542cfba4bb42d73270351f72eb650adbd7a14