[INFO] fetching crate mshio 0.4.2... [INFO] linting mshio-0.4.2 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate mshio 0.4.2 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate mshio 0.4.2 [INFO] finished tweaking crates.io crate mshio 0.4.2 [INFO] tweaked toml for crates.io crate mshio 0.4.2 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate mshio 0.4.2 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 78 packages to latest compatible versions [INFO] [stderr] Adding criterion v0.3.6 (available: v0.8.2) [INFO] [stderr] Adding nom v5.1.3 (available: v8.0.0) [INFO] [stderr] Adding num v0.3.1 (available: v0.4.3) [INFO] [stderr] Adding num-derive v0.3.3 (available: v0.4.2) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.18) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] f93403140c7bc4ba31240ddf17a9572fd30968400e138706fcb5c959e5e4097d [INFO] running `Command { std: "docker" "start" "-a" "f93403140c7bc4ba31240ddf17a9572fd30968400e138706fcb5c959e5e4097d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f93403140c7bc4ba31240ddf17a9572fd30968400e138706fcb5c959e5e4097d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f93403140c7bc4ba31240ddf17a9572fd30968400e138706fcb5c959e5e4097d", kill_on_drop: false }` [INFO] [stdout] f93403140c7bc4ba31240ddf17a9572fd30968400e138706fcb5c959e5e4097d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 7935e4b40f1bf50379150df82d4db05efbb78aa7570f043872e88b9f08d56d7a [INFO] running `Command { std: "docker" "start" "-a" "7935e4b40f1bf50379150df82d4db05efbb78aa7570f043872e88b9f08d56d7a", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Compiling num-bigint v0.3.3 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling nom v5.1.3 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking num-complex v0.3.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking half v1.8.3 [INFO] [stderr] Checking criterion-plot v0.4.5 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking csv-core v0.1.13 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking num v0.3.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking csv v1.4.0 [INFO] [stderr] Checking mshio v0.4.2 (/opt/rustwide/workdir) [INFO] [stderr] Checking serde_cbor v0.11.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/error.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | / match self { [INFO] [stdout] 124 | | MshParserErrorKind::NomError(_) => true, [INFO] [stdout] 125 | | _ => false, [INFO] [stdout] 126 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 123 - match self { [INFO] [stdout] 124 - MshParserErrorKind::NomError(_) => true, [INFO] [stdout] 125 - _ => false, [INFO] [stdout] 126 - } [INFO] [stdout] 123 + matches!(self, MshParserErrorKind::NomError(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | write!(f, "During parsing...\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 222 - write!(f, "During parsing...\n")?; [INFO] [stdout] 222 + writeln!(f, "During parsing...")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:225:21 [INFO] [stdout] | [INFO] [stdout] 225 | write!(f, "\tin {},\n", c)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 225 - write!(f, "\tin {},\n", c)?; [INFO] [stdout] 225 + writeln!(f, "\tin {},", c)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 227 | write!(f, "\tin {},\n", ek)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 227 - write!(f, "\tin {},\n", ek)?; [INFO] [stdout] 227 + writeln!(f, "\tin {},", ek)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | write!(f, "{}\n", backtrace[0].1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 231 - write!(f, "{}\n", backtrace[0].1)?; [INFO] [stdout] 231 + writeln!(f, "{}", backtrace[0].1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:244:13 [INFO] [stdout] | [INFO] [stdout] 244 | write!(f, "Unknown error occurred\n") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 244 - write!(f, "Unknown error occurred\n") [INFO] [stdout] 244 + writeln!(f, "Unknown error occurred") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this returns a `Result<_, ()>` [INFO] [stdout] --> src/mshfile.rs:593:5 [INFO] [stdout] | [INFO] [stdout] 593 | pub fn nodes(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a custom `Error` type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err [INFO] [stdout] = note: `#[warn(clippy::result_unit_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/parsers/general_parsers.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | return take(bytes_taken as usize)(org_input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `{ bytes_taken }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/parsers/general_parsers.rs:223:35 [INFO] [stdout] | [INFO] [stdout] 223 | let (_, c) = take(bytes_taken as usize)(org_input)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `{ bytes_taken }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:74:18 [INFO] [stdout] | [INFO] [stdout] 74 | 1 => return generate_parser!(numbers::le_u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - 1 => return generate_parser!(numbers::le_u8), [INFO] [stdout] 74 + 1 => generate_parser!(numbers::le_u8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 75 | 2 => return generate_parser!(numbers::le_u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 75 - 2 => return generate_parser!(numbers::le_u16), [INFO] [stdout] 75 + 2 => generate_parser!(numbers::le_u16), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | 4 => return generate_parser!(numbers::le_u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 76 - 4 => return generate_parser!(numbers::le_u32), [INFO] [stdout] 76 + 4 => generate_parser!(numbers::le_u32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:77:18 [INFO] [stdout] | [INFO] [stdout] 77 | 8 => return generate_parser!(numbers::le_u64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 77 - 8 => return generate_parser!(numbers::le_u64), [INFO] [stdout] 77 + 8 => generate_parser!(numbers::le_u64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:78:19 [INFO] [stdout] | [INFO] [stdout] 78 | 16 => return generate_parser!(numbers::le_u128), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - 16 => return generate_parser!(numbers::le_u128), [INFO] [stdout] 78 + 16 => generate_parser!(numbers::le_u128), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:87:18 [INFO] [stdout] | [INFO] [stdout] 87 | 1 => return generate_parser!(numbers::be_u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 - 1 => return generate_parser!(numbers::be_u8), [INFO] [stdout] 87 + 1 => generate_parser!(numbers::be_u8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:88:18 [INFO] [stdout] | [INFO] [stdout] 88 | 2 => return generate_parser!(numbers::be_u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 88 - 2 => return generate_parser!(numbers::be_u16), [INFO] [stdout] 88 + 2 => generate_parser!(numbers::be_u16), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | 4 => return generate_parser!(numbers::be_u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 89 - 4 => return generate_parser!(numbers::be_u32), [INFO] [stdout] 89 + 4 => generate_parser!(numbers::be_u32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:90:18 [INFO] [stdout] | [INFO] [stdout] 90 | 8 => return generate_parser!(numbers::be_u64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - 8 => return generate_parser!(numbers::be_u64), [INFO] [stdout] 90 + 8 => generate_parser!(numbers::be_u64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | 16 => return generate_parser!(numbers::be_u128), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - 16 => return generate_parser!(numbers::be_u128), [INFO] [stdout] 91 + 16 => generate_parser!(numbers::be_u128), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:138:18 [INFO] [stdout] | [INFO] [stdout] 138 | 1 => return generate_parser!(numbers::le_i8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 138 - 1 => return generate_parser!(numbers::le_i8), [INFO] [stdout] 138 + 1 => generate_parser!(numbers::le_i8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:139:18 [INFO] [stdout] | [INFO] [stdout] 139 | 2 => return generate_parser!(numbers::le_i16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 139 - 2 => return generate_parser!(numbers::le_i16), [INFO] [stdout] 139 + 2 => generate_parser!(numbers::le_i16), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:140:18 [INFO] [stdout] | [INFO] [stdout] 140 | 4 => return generate_parser!(numbers::le_i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 - 4 => return generate_parser!(numbers::le_i32), [INFO] [stdout] 140 + 4 => generate_parser!(numbers::le_i32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:141:18 [INFO] [stdout] | [INFO] [stdout] 141 | 8 => return generate_parser!(numbers::le_i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 141 - 8 => return generate_parser!(numbers::le_i64), [INFO] [stdout] 141 + 8 => generate_parser!(numbers::le_i64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:142:19 [INFO] [stdout] | [INFO] [stdout] 142 | 16 => return generate_parser!(numbers::le_i128), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 142 - 16 => return generate_parser!(numbers::le_i128), [INFO] [stdout] 142 + 16 => generate_parser!(numbers::le_i128), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 151 | 1 => return generate_parser!(numbers::be_i8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 151 - 1 => return generate_parser!(numbers::be_i8), [INFO] [stdout] 151 + 1 => generate_parser!(numbers::be_i8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:152:18 [INFO] [stdout] | [INFO] [stdout] 152 | 2 => return generate_parser!(numbers::be_i16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 152 - 2 => return generate_parser!(numbers::be_i16), [INFO] [stdout] 152 + 2 => generate_parser!(numbers::be_i16), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | 4 => return generate_parser!(numbers::be_i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - 4 => return generate_parser!(numbers::be_i32), [INFO] [stdout] 153 + 4 => generate_parser!(numbers::be_i32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | 8 => return generate_parser!(numbers::be_i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 154 - 8 => return generate_parser!(numbers::be_i64), [INFO] [stdout] 154 + 8 => generate_parser!(numbers::be_i64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:155:19 [INFO] [stdout] | [INFO] [stdout] 155 | 16 => return generate_parser!(numbers::be_i128), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 155 - 16 => return generate_parser!(numbers::be_i128), [INFO] [stdout] 155 + 16 => generate_parser!(numbers::be_i128), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:200:18 [INFO] [stdout] | [INFO] [stdout] 200 | 4 => return generate_parser!(numbers::le_f32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 200 - 4 => return generate_parser!(numbers::le_f32), [INFO] [stdout] 200 + 4 => generate_parser!(numbers::le_f32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:201:18 [INFO] [stdout] | [INFO] [stdout] 201 | 8 => return generate_parser!(numbers::le_f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 201 - 8 => return generate_parser!(numbers::le_f64), [INFO] [stdout] 201 + 8 => generate_parser!(numbers::le_f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:210:18 [INFO] [stdout] | [INFO] [stdout] 210 | 4 => return generate_parser!(numbers::be_f32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 210 - 4 => return generate_parser!(numbers::be_f32), [INFO] [stdout] 210 + 4 => generate_parser!(numbers::be_f32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:211:18 [INFO] [stdout] | [INFO] [stdout] 211 | 8 => return generate_parser!(numbers::be_f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 211 - 8 => return generate_parser!(numbers::be_f64), [INFO] [stdout] 211 + 8 => generate_parser!(numbers::be_f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/elements_section.rs:24:6 [INFO] [stdout] | [INFO] [stdout] 24 | ) -> impl Fn(&'b [u8]) -> IResult<&'b [u8], Elements, MshParserError<&'b [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/parsers/elements_section.rs:38:27 [INFO] [stdout] | [INFO] [stdout] 38 | let sparse_tags = if max_element_tag - min_element_tag > num_elements - 1 { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 39 | | true [INFO] [stdout] 40 | | } else { [INFO] [stdout] 41 | | false [INFO] [stdout] 42 | | }; [INFO] [stdout] | |_________^ help: you can reduce it to: `max_element_tag - min_element_tag > num_elements - 1` [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: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/elements_section.rs:71:33 [INFO] [stdout] | [INFO] [stdout] 71 | fn parse_element_section_header<'a, U: MshUsizeT>( [INFO] [stdout] | ^^ [INFO] [stdout] 72 | parser: impl ParsesSizeT, [INFO] [stdout] 73 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 74 | ) -> IResult<&'a [u8], ElementSectionHeader, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 71 ~ fn parse_element_section_header( [INFO] [stdout] 72 | parser: impl ParsesSizeT, [INFO] [stdout] 73 ~ input: &[u8], [INFO] [stdout] 74 ~ ) -> IResult<&[u8], ElementSectionHeader, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/elements_section.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | fn parse_element_entity<'a, U, I>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 118 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 119 | ) -> IResult<&'a [u8], ElementBlock, MshParserError<&'a [u8]>> [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 115 ~ fn parse_element_entity( [INFO] [stdout] 116 | parser: impl ParsesSizeT + ParsesInt, [INFO] [stdout] 117 | sparse_tags: bool, [INFO] [stdout] 118 ~ input: &[u8], [INFO] [stdout] 119 ~ ) -> IResult<&[u8], ElementBlock, MshParserError<&[u8]>> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/parsers/elements_section.rs:146:27 [INFO] [stdout] | [INFO] [stdout] 146 | parse_element(&parser, num_nodes_per_element, input) [INFO] [stdout] | ^^^^^^^ help: change this to: `parser` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `U` which implements the `Copy` trait [INFO] [stdout] --> src/parsers/elements_section.rs:165:34 [INFO] [stdout] | [INFO] [stdout] 165 | .map(|(i, ele)| (ele.element_tag.clone(), i)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ele.element_tag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/elements_section.rs:184:23 [INFO] [stdout] | [INFO] [stdout] 184 | fn parse_element_type<'a, I>( [INFO] [stdout] | ^^ [INFO] [stdout] 185 | parser: impl ParsesInt, [INFO] [stdout] 186 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 187 | ) -> IResult<&'a [u8], ElementType, MshParserError<&'a [u8]>> [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 184 ~ fn parse_element_type( [INFO] [stdout] 185 | parser: impl ParsesInt, [INFO] [stdout] 186 ~ input: &[u8], [INFO] [stdout] 187 ~ ) -> IResult<&[u8], ElementType, MshParserError<&[u8]>> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/elements_section.rs:208:18 [INFO] [stdout] | [INFO] [stdout] 208 | fn parse_element<'a, U>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 211 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 212 | ) -> IResult<&'a [u8], Element, MshParserError<&'a [u8]>> [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 208 ~ fn parse_element( [INFO] [stdout] 209 | parser: impl ParsesSizeT, [INFO] [stdout] 210 | num_nodes_per_element: usize, [INFO] [stdout] 211 ~ input: &[u8], [INFO] [stdout] 212 ~ ) -> IResult<&[u8], Element, MshParserError<&[u8]>> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/entities_section.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | ) -> impl Fn(&'b [u8]) -> IResult<&'b [u8], Entities, MshParserError<&'b [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:77:32 [INFO] [stdout] | [INFO] [stdout] 77 | fn parse_entity_section_header<'a, U: MshUsizeT>( [INFO] [stdout] | ^^ [INFO] [stdout] 78 | parser: impl ParsesSizeT, [INFO] [stdout] 79 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 80 | ) -> IResult<&'a [u8], EntitySectionHeader, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 77 ~ fn parse_entity_section_header( [INFO] [stdout] 78 | parser: impl ParsesSizeT, [INFO] [stdout] 79 ~ input: &[u8], [INFO] [stdout] 80 ~ ) -> IResult<&[u8], EntitySectionHeader, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | fn parse_point<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 100 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 101 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 102 | ) -> IResult<&'a [u8], Point, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 99 ~ fn parse_point( [INFO] [stdout] 100 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 101 ~ input: &[u8], [INFO] [stdout] 102 ~ ) -> IResult<&[u8], Point, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | fn $parser_name<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 146 | ) -> IResult<&'a [u8], $entity_type, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 225 | single_entity_parser!(parse_curve, Curve, curve, point, point_tags); [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `single_entity_parser` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 143 ~ fn $parser_name( [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 ~ input: &[u8], [INFO] [stdout] 146 ~ ) -> IResult<&[u8], $entity_type, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | fn $parser_name<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 146 | ) -> IResult<&'a [u8], $entity_type, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 226 | single_entity_parser!(parse_surface, Surface, surface, curve, curve_tags); [INFO] [stdout] | ------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `single_entity_parser` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 143 ~ fn $parser_name( [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 ~ input: &[u8], [INFO] [stdout] 146 ~ ) -> IResult<&[u8], $entity_type, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | fn $parser_name<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 146 | ) -> IResult<&'a [u8], $entity_type, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 227 | single_entity_parser!(parse_volume, Volume, volume, surface, surface_tags); [INFO] [stdout] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `single_entity_parser` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 143 ~ fn $parser_name( [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 ~ input: &[u8], [INFO] [stdout] 146 ~ ) -> IResult<&[u8], $entity_type, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/header_section.rs:18:36 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) fn parse_header_section<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 19 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 20 | ) -> IResult< [INFO] [stdout] 21 | &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 26 | MshParserError<&'a [u8]>, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 18 ~ pub(crate) fn parse_header_section( [INFO] [stdout] 19 ~ input: &[u8], [INFO] [stdout] 20 | ) -> IResult< [INFO] [stdout] 21 ~ &[u8], [INFO] [stdout] 22 | ( [INFO] [stdout] ... [INFO] [stdout] 25 | ), [INFO] [stdout] 26 ~ MshParserError<&[u8]>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/header_section.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | ) -> IResult< [INFO] [stdout] | ______^ [INFO] [stdout] 21 | | &'a [u8], [INFO] [stdout] 22 | | ( [INFO] [stdout] 23 | | MshHeader, [INFO] [stdout] ... | [INFO] [stdout] 26 | | MshParserError<&'a [u8]>, [INFO] [stdout] 27 | | > { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/header_section.rs:87:39 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn num_parsers_from_header<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 88 | header: &'a MshHeader, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 87 ~ pub(crate) fn num_parsers_from_header( [INFO] [stdout] 88 ~ header: &MshHeader, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/nodes_section.rs:25:6 [INFO] [stdout] | [INFO] [stdout] 25 | ) -> impl Fn(&'b [u8]) -> IResult<&'b [u8], Nodes, MshParserError<&'b [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/parsers/nodes_section.rs:39:27 [INFO] [stdout] | [INFO] [stdout] 39 | let sparse_tags = if max_node_tag - min_node_tag > num_nodes - 1 { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 40 | | true [INFO] [stdout] 41 | | } else { [INFO] [stdout] 42 | | false [INFO] [stdout] 43 | | }; [INFO] [stdout] | |_________^ help: you can reduce it to: `max_node_tag - min_node_tag > num_nodes - 1` [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: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/nodes_section.rs:67:30 [INFO] [stdout] | [INFO] [stdout] 67 | fn parse_node_section_header<'a, U: MshUsizeT>( [INFO] [stdout] | ^^ [INFO] [stdout] 68 | parser: impl ParsesSizeT, [INFO] [stdout] 69 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 70 | ) -> IResult<&'a [u8], NodeSectionHeader, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 67 ~ fn parse_node_section_header( [INFO] [stdout] 68 | parser: impl ParsesSizeT, [INFO] [stdout] 69 ~ input: &[u8], [INFO] [stdout] 70 ~ ) -> IResult<&[u8], NodeSectionHeader, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/nodes_section.rs:110:22 [INFO] [stdout] | [INFO] [stdout] 110 | fn parse_node_entity<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 113 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 114 | ) -> IResult<&'a [u8], NodeBlock, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 110 ~ fn parse_node_entity( [INFO] [stdout] 111 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 112 | sparse_tags: bool, [INFO] [stdout] 113 ~ input: &[u8], [INFO] [stdout] 114 ~ ) -> IResult<&[u8], NodeBlock, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/nodes_section.rs:114:6 [INFO] [stdout] | [INFO] [stdout] 114 | ) -> IResult<&'a [u8], NodeBlock, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn parse_msh_bytes<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 120 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 121 | ) -> Result, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 119 ~ pub fn parse_msh_bytes( [INFO] [stdout] 120 ~ input: &[u8], [INFO] [stdout] 121 ~ ) -> Result, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:125:28 [INFO] [stdout] | [INFO] [stdout] 125 | fn private_parse_msh_bytes<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 126 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 127 | ) -> IResult<&'a [u8], MshFile, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 125 ~ fn private_parse_msh_bytes( [INFO] [stdout] 126 ~ input: &[u8], [INFO] [stdout] 127 ~ ) -> IResult<&[u8], MshFile, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:127:6 [INFO] [stdout] | [INFO] [stdout] 127 | ) -> IResult<&'a [u8], MshFile, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:160:11 [INFO] [stdout] | [INFO] [stdout] 160 | while !parsers::eof::<_, ()>(input).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `parsers::eof::<_, ()>(input).is_err()` [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mshfile.rs:437:45 [INFO] [stdout] | [INFO] [stdout] 437 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive, Hash)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ElementType` [INFO] [stdout] 438 | pub enum ElementType { [INFO] [stdout] | ----------- `ElementType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking criterion v0.3.6 [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> benches/mshio_benchmark.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | static TEST_DATA_DIR: &'static str = "tests/data"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/error.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | / match self { [INFO] [stdout] 124 | | MshParserErrorKind::NomError(_) => true, [INFO] [stdout] 125 | | _ => false, [INFO] [stdout] 126 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 123 - match self { [INFO] [stdout] 124 - MshParserErrorKind::NomError(_) => true, [INFO] [stdout] 125 - _ => false, [INFO] [stdout] 126 - } [INFO] [stdout] 123 + matches!(self, MshParserErrorKind::NomError(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | write!(f, "During parsing...\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 222 - write!(f, "During parsing...\n")?; [INFO] [stdout] 222 + writeln!(f, "During parsing...")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:225:21 [INFO] [stdout] | [INFO] [stdout] 225 | write!(f, "\tin {},\n", c)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 225 - write!(f, "\tin {},\n", c)?; [INFO] [stdout] 225 + writeln!(f, "\tin {},", c)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 227 | write!(f, "\tin {},\n", ek)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 227 - write!(f, "\tin {},\n", ek)?; [INFO] [stdout] 227 + writeln!(f, "\tin {},", ek)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | write!(f, "{}\n", backtrace[0].1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 231 - write!(f, "{}\n", backtrace[0].1)?; [INFO] [stdout] 231 + writeln!(f, "{}", backtrace[0].1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/error.rs:244:13 [INFO] [stdout] | [INFO] [stdout] 244 | write!(f, "Unknown error occurred\n") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 244 - write!(f, "Unknown error occurred\n") [INFO] [stdout] 244 + writeln!(f, "Unknown error occurred") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this returns a `Result<_, ()>` [INFO] [stdout] --> src/mshfile.rs:593:5 [INFO] [stdout] | [INFO] [stdout] 593 | pub fn nodes(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a custom `Error` type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err [INFO] [stdout] = note: `#[warn(clippy::result_unit_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/parsers/general_parsers.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | return take(bytes_taken as usize)(org_input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `{ bytes_taken }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/parsers/general_parsers.rs:223:35 [INFO] [stdout] | [INFO] [stdout] 223 | let (_, c) = take(bytes_taken as usize)(org_input)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `{ bytes_taken }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:74:18 [INFO] [stdout] | [INFO] [stdout] 74 | 1 => return generate_parser!(numbers::le_u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - 1 => return generate_parser!(numbers::le_u8), [INFO] [stdout] 74 + 1 => generate_parser!(numbers::le_u8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 75 | 2 => return generate_parser!(numbers::le_u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 75 - 2 => return generate_parser!(numbers::le_u16), [INFO] [stdout] 75 + 2 => generate_parser!(numbers::le_u16), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | 4 => return generate_parser!(numbers::le_u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 76 - 4 => return generate_parser!(numbers::le_u32), [INFO] [stdout] 76 + 4 => generate_parser!(numbers::le_u32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:77:18 [INFO] [stdout] | [INFO] [stdout] 77 | 8 => return generate_parser!(numbers::le_u64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 77 - 8 => return generate_parser!(numbers::le_u64), [INFO] [stdout] 77 + 8 => generate_parser!(numbers::le_u64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:78:19 [INFO] [stdout] | [INFO] [stdout] 78 | 16 => return generate_parser!(numbers::le_u128), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - 16 => return generate_parser!(numbers::le_u128), [INFO] [stdout] 78 + 16 => generate_parser!(numbers::le_u128), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:87:18 [INFO] [stdout] | [INFO] [stdout] 87 | 1 => return generate_parser!(numbers::be_u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 - 1 => return generate_parser!(numbers::be_u8), [INFO] [stdout] 87 + 1 => generate_parser!(numbers::be_u8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:88:18 [INFO] [stdout] | [INFO] [stdout] 88 | 2 => return generate_parser!(numbers::be_u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 88 - 2 => return generate_parser!(numbers::be_u16), [INFO] [stdout] 88 + 2 => generate_parser!(numbers::be_u16), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | 4 => return generate_parser!(numbers::be_u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 89 - 4 => return generate_parser!(numbers::be_u32), [INFO] [stdout] 89 + 4 => generate_parser!(numbers::be_u32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:90:18 [INFO] [stdout] | [INFO] [stdout] 90 | 8 => return generate_parser!(numbers::be_u64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - 8 => return generate_parser!(numbers::be_u64), [INFO] [stdout] 90 + 8 => generate_parser!(numbers::be_u64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | 16 => return generate_parser!(numbers::be_u128), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - 16 => return generate_parser!(numbers::be_u128), [INFO] [stdout] 91 + 16 => generate_parser!(numbers::be_u128), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:138:18 [INFO] [stdout] | [INFO] [stdout] 138 | 1 => return generate_parser!(numbers::le_i8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 138 - 1 => return generate_parser!(numbers::le_i8), [INFO] [stdout] 138 + 1 => generate_parser!(numbers::le_i8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:139:18 [INFO] [stdout] | [INFO] [stdout] 139 | 2 => return generate_parser!(numbers::le_i16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 139 - 2 => return generate_parser!(numbers::le_i16), [INFO] [stdout] 139 + 2 => generate_parser!(numbers::le_i16), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:140:18 [INFO] [stdout] | [INFO] [stdout] 140 | 4 => return generate_parser!(numbers::le_i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 - 4 => return generate_parser!(numbers::le_i32), [INFO] [stdout] 140 + 4 => generate_parser!(numbers::le_i32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:141:18 [INFO] [stdout] | [INFO] [stdout] 141 | 8 => return generate_parser!(numbers::le_i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 141 - 8 => return generate_parser!(numbers::le_i64), [INFO] [stdout] 141 + 8 => generate_parser!(numbers::le_i64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:142:19 [INFO] [stdout] | [INFO] [stdout] 142 | 16 => return generate_parser!(numbers::le_i128), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 142 - 16 => return generate_parser!(numbers::le_i128), [INFO] [stdout] 142 + 16 => generate_parser!(numbers::le_i128), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 151 | 1 => return generate_parser!(numbers::be_i8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 151 - 1 => return generate_parser!(numbers::be_i8), [INFO] [stdout] 151 + 1 => generate_parser!(numbers::be_i8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:152:18 [INFO] [stdout] | [INFO] [stdout] 152 | 2 => return generate_parser!(numbers::be_i16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 152 - 2 => return generate_parser!(numbers::be_i16), [INFO] [stdout] 152 + 2 => generate_parser!(numbers::be_i16), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | 4 => return generate_parser!(numbers::be_i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - 4 => return generate_parser!(numbers::be_i32), [INFO] [stdout] 153 + 4 => generate_parser!(numbers::be_i32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | 8 => return generate_parser!(numbers::be_i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 154 - 8 => return generate_parser!(numbers::be_i64), [INFO] [stdout] 154 + 8 => generate_parser!(numbers::be_i64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:155:19 [INFO] [stdout] | [INFO] [stdout] 155 | 16 => return generate_parser!(numbers::be_i128), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 155 - 16 => return generate_parser!(numbers::be_i128), [INFO] [stdout] 155 + 16 => generate_parser!(numbers::be_i128), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:200:18 [INFO] [stdout] | [INFO] [stdout] 200 | 4 => return generate_parser!(numbers::le_f32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 200 - 4 => return generate_parser!(numbers::le_f32), [INFO] [stdout] 200 + 4 => generate_parser!(numbers::le_f32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:201:18 [INFO] [stdout] | [INFO] [stdout] 201 | 8 => return generate_parser!(numbers::le_f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 201 - 8 => return generate_parser!(numbers::le_f64), [INFO] [stdout] 201 + 8 => generate_parser!(numbers::le_f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:210:18 [INFO] [stdout] | [INFO] [stdout] 210 | 4 => return generate_parser!(numbers::be_f32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 210 - 4 => return generate_parser!(numbers::be_f32), [INFO] [stdout] 210 + 4 => generate_parser!(numbers::be_f32), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parsers/num_parsers.rs:211:18 [INFO] [stdout] | [INFO] [stdout] 211 | 8 => return generate_parser!(numbers::be_f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 211 - 8 => return generate_parser!(numbers::be_f64), [INFO] [stdout] 211 + 8 => generate_parser!(numbers::be_f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/elements_section.rs:24:6 [INFO] [stdout] | [INFO] [stdout] 24 | ) -> impl Fn(&'b [u8]) -> IResult<&'b [u8], Elements, MshParserError<&'b [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/parsers/elements_section.rs:38:27 [INFO] [stdout] | [INFO] [stdout] 38 | let sparse_tags = if max_element_tag - min_element_tag > num_elements - 1 { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 39 | | true [INFO] [stdout] 40 | | } else { [INFO] [stdout] 41 | | false [INFO] [stdout] 42 | | }; [INFO] [stdout] | |_________^ help: you can reduce it to: `max_element_tag - min_element_tag > num_elements - 1` [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: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/elements_section.rs:71:33 [INFO] [stdout] | [INFO] [stdout] 71 | fn parse_element_section_header<'a, U: MshUsizeT>( [INFO] [stdout] | ^^ [INFO] [stdout] 72 | parser: impl ParsesSizeT, [INFO] [stdout] 73 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 74 | ) -> IResult<&'a [u8], ElementSectionHeader, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 71 ~ fn parse_element_section_header( [INFO] [stdout] 72 | parser: impl ParsesSizeT, [INFO] [stdout] 73 ~ input: &[u8], [INFO] [stdout] 74 ~ ) -> IResult<&[u8], ElementSectionHeader, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/elements_section.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | fn parse_element_entity<'a, U, I>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 118 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 119 | ) -> IResult<&'a [u8], ElementBlock, MshParserError<&'a [u8]>> [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 115 ~ fn parse_element_entity( [INFO] [stdout] 116 | parser: impl ParsesSizeT + ParsesInt, [INFO] [stdout] 117 | sparse_tags: bool, [INFO] [stdout] 118 ~ input: &[u8], [INFO] [stdout] 119 ~ ) -> IResult<&[u8], ElementBlock, MshParserError<&[u8]>> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/parsers/elements_section.rs:146:27 [INFO] [stdout] | [INFO] [stdout] 146 | parse_element(&parser, num_nodes_per_element, input) [INFO] [stdout] | ^^^^^^^ help: change this to: `parser` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `U` which implements the `Copy` trait [INFO] [stdout] --> src/parsers/elements_section.rs:165:34 [INFO] [stdout] | [INFO] [stdout] 165 | .map(|(i, ele)| (ele.element_tag.clone(), i)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ele.element_tag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/elements_section.rs:184:23 [INFO] [stdout] | [INFO] [stdout] 184 | fn parse_element_type<'a, I>( [INFO] [stdout] | ^^ [INFO] [stdout] 185 | parser: impl ParsesInt, [INFO] [stdout] 186 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 187 | ) -> IResult<&'a [u8], ElementType, MshParserError<&'a [u8]>> [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 184 ~ fn parse_element_type( [INFO] [stdout] 185 | parser: impl ParsesInt, [INFO] [stdout] 186 ~ input: &[u8], [INFO] [stdout] 187 ~ ) -> IResult<&[u8], ElementType, MshParserError<&[u8]>> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/elements_section.rs:208:18 [INFO] [stdout] | [INFO] [stdout] 208 | fn parse_element<'a, U>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 211 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 212 | ) -> IResult<&'a [u8], Element, MshParserError<&'a [u8]>> [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 208 ~ fn parse_element( [INFO] [stdout] 209 | parser: impl ParsesSizeT, [INFO] [stdout] 210 | num_nodes_per_element: usize, [INFO] [stdout] 211 ~ input: &[u8], [INFO] [stdout] 212 ~ ) -> IResult<&[u8], Element, MshParserError<&[u8]>> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/entities_section.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | ) -> impl Fn(&'b [u8]) -> IResult<&'b [u8], Entities, MshParserError<&'b [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:77:32 [INFO] [stdout] | [INFO] [stdout] 77 | fn parse_entity_section_header<'a, U: MshUsizeT>( [INFO] [stdout] | ^^ [INFO] [stdout] 78 | parser: impl ParsesSizeT, [INFO] [stdout] 79 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 80 | ) -> IResult<&'a [u8], EntitySectionHeader, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 77 ~ fn parse_entity_section_header( [INFO] [stdout] 78 | parser: impl ParsesSizeT, [INFO] [stdout] 79 ~ input: &[u8], [INFO] [stdout] 80 ~ ) -> IResult<&[u8], EntitySectionHeader, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | fn parse_point<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 100 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 101 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 102 | ) -> IResult<&'a [u8], Point, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 99 ~ fn parse_point( [INFO] [stdout] 100 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 101 ~ input: &[u8], [INFO] [stdout] 102 ~ ) -> IResult<&[u8], Point, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | fn $parser_name<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 146 | ) -> IResult<&'a [u8], $entity_type, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 225 | single_entity_parser!(parse_curve, Curve, curve, point, point_tags); [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `single_entity_parser` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 143 ~ fn $parser_name( [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 ~ input: &[u8], [INFO] [stdout] 146 ~ ) -> IResult<&[u8], $entity_type, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | fn $parser_name<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 146 | ) -> IResult<&'a [u8], $entity_type, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 226 | single_entity_parser!(parse_surface, Surface, surface, curve, curve_tags); [INFO] [stdout] | ------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `single_entity_parser` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 143 ~ fn $parser_name( [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 ~ input: &[u8], [INFO] [stdout] 146 ~ ) -> IResult<&[u8], $entity_type, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/entities_section.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | fn $parser_name<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 146 | ) -> IResult<&'a [u8], $entity_type, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 227 | single_entity_parser!(parse_volume, Volume, volume, surface, surface_tags); [INFO] [stdout] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `single_entity_parser` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 143 ~ fn $parser_name( [INFO] [stdout] 144 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 145 ~ input: &[u8], [INFO] [stdout] 146 ~ ) -> IResult<&[u8], $entity_type, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/header_section.rs:18:36 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) fn parse_header_section<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 19 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 20 | ) -> IResult< [INFO] [stdout] 21 | &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 26 | MshParserError<&'a [u8]>, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 18 ~ pub(crate) fn parse_header_section( [INFO] [stdout] 19 ~ input: &[u8], [INFO] [stdout] 20 | ) -> IResult< [INFO] [stdout] 21 ~ &[u8], [INFO] [stdout] 22 | ( [INFO] [stdout] ... [INFO] [stdout] 25 | ), [INFO] [stdout] 26 ~ MshParserError<&[u8]>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/header_section.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | ) -> IResult< [INFO] [stdout] | ______^ [INFO] [stdout] 21 | | &'a [u8], [INFO] [stdout] 22 | | ( [INFO] [stdout] 23 | | MshHeader, [INFO] [stdout] ... | [INFO] [stdout] 26 | | MshParserError<&'a [u8]>, [INFO] [stdout] 27 | | > { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/header_section.rs:87:39 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn num_parsers_from_header<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] 88 | header: &'a MshHeader, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 87 ~ pub(crate) fn num_parsers_from_header( [INFO] [stdout] 88 ~ header: &MshHeader, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/nodes_section.rs:25:6 [INFO] [stdout] | [INFO] [stdout] 25 | ) -> impl Fn(&'b [u8]) -> IResult<&'b [u8], Nodes, MshParserError<&'b [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/parsers/nodes_section.rs:39:27 [INFO] [stdout] | [INFO] [stdout] 39 | let sparse_tags = if max_node_tag - min_node_tag > num_nodes - 1 { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 40 | | true [INFO] [stdout] 41 | | } else { [INFO] [stdout] 42 | | false [INFO] [stdout] 43 | | }; [INFO] [stdout] | |_________^ help: you can reduce it to: `max_node_tag - min_node_tag > num_nodes - 1` [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: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/nodes_section.rs:67:30 [INFO] [stdout] | [INFO] [stdout] 67 | fn parse_node_section_header<'a, U: MshUsizeT>( [INFO] [stdout] | ^^ [INFO] [stdout] 68 | parser: impl ParsesSizeT, [INFO] [stdout] 69 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 70 | ) -> IResult<&'a [u8], NodeSectionHeader, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 67 ~ fn parse_node_section_header( [INFO] [stdout] 68 | parser: impl ParsesSizeT, [INFO] [stdout] 69 ~ input: &[u8], [INFO] [stdout] 70 ~ ) -> IResult<&[u8], NodeSectionHeader, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parsers/nodes_section.rs:110:22 [INFO] [stdout] | [INFO] [stdout] 110 | fn parse_node_entity<'a, U: MshUsizeT, I: MshIntT, F: MshFloatT>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 113 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 114 | ) -> IResult<&'a [u8], NodeBlock, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 110 ~ fn parse_node_entity( [INFO] [stdout] 111 | parser: impl ParsesSizeT + ParsesInt + ParsesFloat, [INFO] [stdout] 112 | sparse_tags: bool, [INFO] [stdout] 113 ~ input: &[u8], [INFO] [stdout] 114 ~ ) -> IResult<&[u8], NodeBlock, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsers/nodes_section.rs:114:6 [INFO] [stdout] | [INFO] [stdout] 114 | ) -> IResult<&'a [u8], NodeBlock, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn parse_msh_bytes<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 120 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 121 | ) -> Result, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 119 ~ pub fn parse_msh_bytes( [INFO] [stdout] 120 ~ input: &[u8], [INFO] [stdout] 121 ~ ) -> Result, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:125:28 [INFO] [stdout] | [INFO] [stdout] 125 | fn private_parse_msh_bytes<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 126 | input: &'a [u8], [INFO] [stdout] | ^^ [INFO] [stdout] 127 | ) -> IResult<&'a [u8], MshFile, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 125 ~ fn private_parse_msh_bytes( [INFO] [stdout] 126 ~ input: &[u8], [INFO] [stdout] 127 ~ ) -> IResult<&[u8], MshFile, MshParserError<&[u8]>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:127:6 [INFO] [stdout] | [INFO] [stdout] 127 | ) -> IResult<&'a [u8], MshFile, MshParserError<&'a [u8]>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:160:11 [INFO] [stdout] | [INFO] [stdout] 160 | while !parsers::eof::<_, ()>(input).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `parsers::eof::<_, ()>(input).is_err()` [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mshfile.rs:437:45 [INFO] [stdout] | [INFO] [stdout] 437 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive, Hash)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ElementType` [INFO] [stdout] 438 | pub enum ElementType { [INFO] [stdout] | ----------- `ElementType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.81s [INFO] running `Command { std: "docker" "inspect" "7935e4b40f1bf50379150df82d4db05efbb78aa7570f043872e88b9f08d56d7a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7935e4b40f1bf50379150df82d4db05efbb78aa7570f043872e88b9f08d56d7a", kill_on_drop: false }` [INFO] [stdout] 7935e4b40f1bf50379150df82d4db05efbb78aa7570f043872e88b9f08d56d7a