[INFO] crate nom 4.1.1 is already in cache [INFO] extracting crate nom 4.1.1 into work/ex/clippy-test-run/sources/stable/reg/nom/4.1.1 [INFO] extracting crate nom 4.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/nom/4.1.1 [INFO] validating manifest of nom-4.1.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of nom-4.1.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing nom-4.1.1 [INFO] removed 19 missing tests [INFO] finished frobbing nom-4.1.1 [INFO] frobbed toml for nom-4.1.1 written to work/ex/clippy-test-run/sources/stable/reg/nom/4.1.1/Cargo.toml [INFO] started frobbing nom-4.1.1 [INFO] removed 19 missing tests [INFO] finished frobbing nom-4.1.1 [INFO] frobbed toml for nom-4.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/nom/4.1.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting nom-4.1.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/nom/4.1.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 56d4c0a69499bba16a623a9188ff20aa2e83c6bc62980446ac1a0de42b67dba7 [INFO] running `"docker" "start" "-a" "56d4c0a69499bba16a623a9188ff20aa2e83c6bc62980446ac1a0de42b67dba7"` [INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other test targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a test target: [INFO] [stderr] [INFO] [stderr] * /opt/crater/workdir/tests/arithmetic.rs [INFO] [stderr] * /opt/crater/workdir/tests/css.rs [INFO] [stderr] * /opt/crater/workdir/tests/blockbuf-arithmetic.rs [INFO] [stderr] * /opt/crater/workdir/tests/named_args.rs [INFO] [stderr] * /opt/crater/workdir/tests/complete_arithmetic.rs [INFO] [stderr] * /opt/crater/workdir/tests/multiline.rs [INFO] [stderr] * /opt/crater/workdir/tests/inference.rs [INFO] [stderr] * /opt/crater/workdir/tests/json.rs [INFO] [stderr] * /opt/crater/workdir/tests/ini_str.rs [INFO] [stderr] * /opt/crater/workdir/tests/issues.rs [INFO] [stderr] * /opt/crater/workdir/tests/test1.rs [INFO] [stderr] * /opt/crater/workdir/tests/overflow.rs [INFO] [stderr] * /opt/crater/workdir/tests/arithmetic_ast.rs [INFO] [stderr] * /opt/crater/workdir/tests/mp4.rs [INFO] [stderr] * /opt/crater/workdir/tests/complete_float.rs [INFO] [stderr] * /opt/crater/workdir/tests/custom_errors.rs [INFO] [stderr] * /opt/crater/workdir/tests/float.rs [INFO] [stderr] * /opt/crater/workdir/tests/ini.rs [INFO] [stderr] * /opt/crater/workdir/tests/reborrow_fold.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autotests = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Checking nom v4.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: lint name `doc_markdown` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:355:45 [INFO] [stderr] | [INFO] [stderr] 355 | #![cfg_attr(feature = "cargo-clippy", allow(doc_markdown))] [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::doc_markdown` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/util.rs:353:13 [INFO] [stderr] | [INFO] [stderr] 353 | let mut l = i; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/util.rs:422:1 [INFO] [stderr] | [INFO] [stderr] 422 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/util.rs:496:1 [INFO] [stderr] | [INFO] [stderr] 496 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/util.rs:566:3 [INFO] [stderr] | [INFO] [stderr] 566 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/util.rs:648:3 [INFO] [stderr] | [INFO] [stderr] 648 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:523:3 [INFO] [stderr] | [INFO] [stderr] 523 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:563:3 [INFO] [stderr] | [INFO] [stderr] 563 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:644:3 [INFO] [stderr] | [INFO] [stderr] 644 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:679:3 [INFO] [stderr] | [INFO] [stderr] 679 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:933:3 [INFO] [stderr] | [INFO] [stderr] 933 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/nom.rs:801:1 [INFO] [stderr] | [INFO] [stderr] 801 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: lint name `doc_markdown` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:355:45 [INFO] [stderr] | [INFO] [stderr] 355 | #![cfg_attr(feature = "cargo-clippy", allow(doc_markdown))] [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::doc_markdown` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/util.rs:353:13 [INFO] [stderr] | [INFO] [stderr] 353 | let mut l = i; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/util.rs:422:1 [INFO] [stderr] | [INFO] [stderr] 422 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/util.rs:496:1 [INFO] [stderr] | [INFO] [stderr] 496 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/util.rs:566:3 [INFO] [stderr] | [INFO] [stderr] 566 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/util.rs:648:3 [INFO] [stderr] | [INFO] [stderr] 648 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:523:3 [INFO] [stderr] | [INFO] [stderr] 523 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:563:3 [INFO] [stderr] | [INFO] [stderr] 563 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:644:3 [INFO] [stderr] | [INFO] [stderr] 644 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:679:3 [INFO] [stderr] | [INFO] [stderr] 679 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/sequence.rs:933:3 [INFO] [stderr] | [INFO] [stderr] 933 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/nom.rs:801:1 [INFO] [stderr] | [INFO] [stderr] 801 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: lint name `doc_markdown` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:355:45 [INFO] [stderr] | [INFO] [stderr] 355 | #![cfg_attr(feature = "cargo-clippy", allow(doc_markdown))] [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::doc_markdown` [INFO] [stderr] [INFO] [stderr] warning: lint name `implicit_hasher` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/util.rs:312:44 [INFO] [stderr] | [INFO] [stderr] 312 | #[cfg_attr(feature = "cargo-clippy", allow(implicit_hasher))] [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::implicit_hasher` [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 126 | named!(#[doc="Matches a newline character '\\n'"], pub newline, char!('\n')); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | named!(#[doc="Matches a newline character '\\n'"], pub newline, char!('\n')); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 128 | named!(#[doc="Matches a tab character '\\t'"], pub tab, char!('\t')); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 128 | named!(#[doc="Matches a tab character '\\t'"], pub tab, char!('\t')); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/nom.rs:403:6 [INFO] [stderr] | [INFO] [stderr] 403 | if input.len() >= len + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::int_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 403 | if input.len() > len { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/nom.rs:767:5 [INFO] [stderr] | [INFO] [stderr] 767 | return need_more_err(input, Needed::Unknown, ErrorKind::NonEmpty::); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `need_more_err(input, Needed::Unknown, ErrorKind::NonEmpty::)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: lint name `doc_markdown` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:355:45 [INFO] [stderr] | [INFO] [stderr] 355 | #![cfg_attr(feature = "cargo-clippy", allow(doc_markdown))] [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::doc_markdown` [INFO] [stderr] [INFO] [stderr] warning: lint name `implicit_hasher` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/util.rs:312:44 [INFO] [stderr] | [INFO] [stderr] 312 | #[cfg_attr(feature = "cargo-clippy", allow(implicit_hasher))] [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::implicit_hasher` [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | / match self { [INFO] [stderr] 108 | | &Err::Incomplete(..) => "there was not enough data", [INFO] [stderr] 109 | | &Err::Error(Context::Code(_, ref error_kind)) | &Err::Failure(Context::Code(_, ref error_kind)) => error_kind.description(), [INFO] [stderr] 110 | | #[cfg(feature = "verbose-errors")] [INFO] [stderr] 111 | | &Err::Error(Context::List(..)) | &Err::Failure(Context::List(..)) => "list of errors", [INFO] [stderr] 112 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 107 | match *self { [INFO] [stderr] 108 | Err::Incomplete(..) => "there was not enough data", [INFO] [stderr] 109 | Err::Error(Context::Code(_, ref error_kind)) | Err::Failure(Context::Code(_, ref error_kind)) => error_kind.description(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `input_len` which has no body [INFO] [stderr] --> src/traits.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 32 | | fn input_len(&self) -> usize; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: trait `AsChar` has a `len` method but no (possibly inherited) `is_empty` method [INFO] [stderr] --> src/traits.rs:161:1 [INFO] [stderr] | [INFO] [stderr] 161 | / pub trait AsChar { [INFO] [stderr] 162 | | /// makes a char from self [INFO] [stderr] 163 | | #[inline] [INFO] [stderr] 164 | | fn as_char(self) -> char; [INFO] [stderr] ... | [INFO] [stderr] 188 | | fn len(self) -> usize; [INFO] [stderr] 189 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `as_char` which has no body [INFO] [stderr] --> src/traits.rs:163:3 [INFO] [stderr] | [INFO] [stderr] 163 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 164 | | fn as_char(self) -> char; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_alpha` which has no body [INFO] [stderr] --> src/traits.rs:170:3 [INFO] [stderr] | [INFO] [stderr] 170 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 171 | | fn is_alpha(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_alphanum` which has no body [INFO] [stderr] --> src/traits.rs:175:3 [INFO] [stderr] | [INFO] [stderr] 175 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 176 | | fn is_alphanum(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_dec_digit` which has no body [INFO] [stderr] --> src/traits.rs:178:3 [INFO] [stderr] | [INFO] [stderr] 178 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 179 | | fn is_dec_digit(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_hex_digit` which has no body [INFO] [stderr] --> src/traits.rs:181:3 [INFO] [stderr] | [INFO] [stderr] 181 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 182 | | fn is_hex_digit(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_oct_digit` which has no body [INFO] [stderr] --> src/traits.rs:184:3 [INFO] [stderr] | [INFO] [stderr] 184 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 185 | | fn is_oct_digit(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `len` which has no body [INFO] [stderr] --> src/traits.rs:187:3 [INFO] [stderr] | [INFO] [stderr] 187 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 188 | | fn len(self) -> usize; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/traits.rs:352:15 [INFO] [stderr] | [INFO] [stderr] 352 | fn star(r_u8: &u8) -> u8 { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/traits.rs:360:19 [INFO] [stderr] | [INFO] [stderr] 360 | type IterElem = Map, fn(&u8) -> u8>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/traits.rs:576:12 [INFO] [stderr] | [INFO] [stderr] 576 | if self.0.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.0.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/traits.rs:638:12 [INFO] [stderr] | [INFO] [stderr] 638 | if self.0.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.0.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `slice` which has no body [INFO] [stderr] --> src/traits.rs:907:3 [INFO] [stderr] | [INFO] [stderr] 907 | #[inline(always)] [INFO] [stderr] | ___-^^^^^^^^^^^^^^^^ [INFO] [stderr] 908 | | fn slice(&self, range: R) -> Self; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `new_builder` which has no body [INFO] [stderr] --> src/traits.rs:1069:3 [INFO] [stderr] | [INFO] [stderr] 1069 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 1070 | | fn new_builder(&self) -> Self::Extender; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `extend_into` which has no body [INFO] [stderr] --> src/traits.rs:1072:3 [INFO] [stderr] | [INFO] [stderr] 1072 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 1073 | | fn extend_into(&self, acc: &mut Self::Extender); [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/nom.rs:25:41 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn tag_cl<'a, 'b>(rec: &'a [u8]) -> Box IResult<&'b [u8], &'b [u8]> + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/nom.rs:404:35 [INFO] [stderr] | [INFO] [stderr] 404 | Ok((&input[len + 1..], &input[1..len + 1])) [INFO] [stderr] | ^^^^^^^^^^ help: use: `1..=len` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/nom.rs:413:6 [INFO] [stderr] | [INFO] [stderr] 413 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:426:16 [INFO] [stderr] | [INFO] [stderr] 426 | let res = ((i[0] as u16) << 8) + i[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:426:38 [INFO] [stderr] | [INFO] [stderr] 426 | let res = ((i[0] as u16) << 8) + i[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:437:16 [INFO] [stderr] | [INFO] [stderr] 437 | let res = ((i[0] as u32) << 16) + ((i[1] as u32) << 8) + (i[2] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:437:40 [INFO] [stderr] | [INFO] [stderr] 437 | let res = ((i[0] as u32) << 16) + ((i[1] as u32) << 8) + (i[2] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:437:62 [INFO] [stderr] | [INFO] [stderr] 437 | let res = ((i[0] as u32) << 16) + ((i[1] as u32) << 8) + (i[2] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:448:16 [INFO] [stderr] | [INFO] [stderr] 448 | let res = ((i[0] as u32) << 24) + ((i[1] as u32) << 16) + ((i[2] as u32) << 8) + i[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:448:40 [INFO] [stderr] | [INFO] [stderr] 448 | let res = ((i[0] as u32) << 24) + ((i[1] as u32) << 16) + ((i[2] as u32) << 8) + i[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:448:64 [INFO] [stderr] | [INFO] [stderr] 448 | let res = ((i[0] as u32) << 24) + ((i[1] as u32) << 16) + ((i[2] as u32) << 8) + i[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:448:86 [INFO] [stderr] | [INFO] [stderr] 448 | let res = ((i[0] as u32) << 24) + ((i[1] as u32) << 16) + ((i[2] as u32) << 8) + i[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:16 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:40 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:64 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:88 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:112 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:460:10 [INFO] [stderr] | [INFO] [stderr] 460 | + ((i[5] as u64) << 16) + ((i[6] as u64) << 8) + i[7] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:460:34 [INFO] [stderr] | [INFO] [stderr] 460 | + ((i[5] as u64) << 16) + ((i[6] as u64) << 8) + i[7] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:460:56 [INFO] [stderr] | [INFO] [stderr] 460 | + ((i[5] as u64) << 16) + ((i[6] as u64) << 8) + i[7] as u64; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(i[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:471:16 [INFO] [stderr] | [INFO] [stderr] 471 | let res = ((i[0] as u128) << 120) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:472:10 [INFO] [stderr] | [INFO] [stderr] 472 | + ((i[1] as u128) << 112) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:473:10 [INFO] [stderr] | [INFO] [stderr] 473 | + ((i[2] as u128) << 104) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:474:10 [INFO] [stderr] | [INFO] [stderr] 474 | + ((i[3] as u128) << 96) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:475:10 [INFO] [stderr] | [INFO] [stderr] 475 | + ((i[4] as u128) << 88) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:476:10 [INFO] [stderr] | [INFO] [stderr] 476 | + ((i[5] as u128) << 80) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:477:10 [INFO] [stderr] | [INFO] [stderr] 477 | + ((i[6] as u128) << 72) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:478:10 [INFO] [stderr] | [INFO] [stderr] 478 | + ((i[7] as u128) << 64) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:479:10 [INFO] [stderr] | [INFO] [stderr] 479 | + ((i[8] as u128) << 56) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[8])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:480:10 [INFO] [stderr] | [INFO] [stderr] 480 | + ((i[9] as u128) << 48) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[9])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:481:10 [INFO] [stderr] | [INFO] [stderr] 481 | + ((i[10] as u128) << 40) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[10])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:482:10 [INFO] [stderr] | [INFO] [stderr] 482 | + ((i[11] as u128) << 32) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[11])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:483:10 [INFO] [stderr] | [INFO] [stderr] 483 | + ((i[12] as u128) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[12])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:484:10 [INFO] [stderr] | [INFO] [stderr] 484 | + ((i[13] as u128) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[13])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:485:10 [INFO] [stderr] | [INFO] [stderr] 485 | + ((i[14] as u128) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[14])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:486:9 [INFO] [stderr] | [INFO] [stderr] 486 | + i[15] as u128; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u128::from(i[15])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 126 | named!(#[doc="Matches a newline character '\\n'"], pub newline, char!('\n')); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | named!(#[doc="Matches a newline character '\\n'"], pub newline, char!('\n')); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 128 | named!(#[doc="Matches a tab character '\\t'"], pub tab, char!('\t')); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 128 | named!(#[doc="Matches a tab character '\\t'"], pub tab, char!('\t')); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 191 | named!(f, char!('c')); [INFO] [stderr] | ---------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 191 | named!(f, char!('c')); [INFO] [stderr] | ---------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 202 | named!(f<&str, char>, char!('c')); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 202 | named!(f<&str, char>, char!('c')); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/nom.rs:535:6 [INFO] [stderr] | [INFO] [stderr] 535 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 214 | named!(f, char!('c')); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 214 | named!(f, char!('c')); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:548:16 [INFO] [stderr] | [INFO] [stderr] 548 | let res = ((i[1] as u16) << 8) + i[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:548:38 [INFO] [stderr] | [INFO] [stderr] 548 | let res = ((i[1] as u16) << 8) + i[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:559:15 [INFO] [stderr] | [INFO] [stderr] 559 | let res = (i[0] as u32) + ((i[1] as u32) << 8) + ((i[2] as u32) << 16); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:559:32 [INFO] [stderr] | [INFO] [stderr] 559 | let res = (i[0] as u32) + ((i[1] as u32) << 8) + ((i[2] as u32) << 16); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:559:55 [INFO] [stderr] | [INFO] [stderr] 559 | let res = (i[0] as u32) + ((i[1] as u32) << 8) + ((i[2] as u32) << 16); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:570:16 [INFO] [stderr] | [INFO] [stderr] 570 | let res = ((i[3] as u32) << 24) + ((i[2] as u32) << 16) + ((i[1] as u32) << 8) + i[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:570:40 [INFO] [stderr] | [INFO] [stderr] 570 | let res = ((i[3] as u32) << 24) + ((i[2] as u32) << 16) + ((i[1] as u32) << 8) + i[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:570:64 [INFO] [stderr] | [INFO] [stderr] 570 | let res = ((i[3] as u32) << 24) + ((i[2] as u32) << 16) + ((i[1] as u32) << 8) + i[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:570:86 [INFO] [stderr] | [INFO] [stderr] 570 | let res = ((i[3] as u32) << 24) + ((i[2] as u32) << 16) + ((i[1] as u32) << 8) + i[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/nom.rs:403:6 [INFO] [stderr] | [INFO] [stderr] 403 | if input.len() >= len + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::int_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 403 | if input.len() > len { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:16 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:40 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:64 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:88 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:112 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:582:10 [INFO] [stderr] | [INFO] [stderr] 582 | + ((i[2] as u64) << 16) + ((i[1] as u64) << 8) + i[0] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:582:34 [INFO] [stderr] | [INFO] [stderr] 582 | + ((i[2] as u64) << 16) + ((i[1] as u64) << 8) + i[0] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:582:56 [INFO] [stderr] | [INFO] [stderr] 582 | + ((i[2] as u64) << 16) + ((i[1] as u64) << 8) + i[0] as u64; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:593:16 [INFO] [stderr] | [INFO] [stderr] 593 | let res = ((i[15] as u128) << 120) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[15])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:594:10 [INFO] [stderr] | [INFO] [stderr] 594 | + ((i[14] as u128) << 112) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[14])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:595:10 [INFO] [stderr] | [INFO] [stderr] 595 | + ((i[13] as u128) << 104) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[13])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:596:10 [INFO] [stderr] | [INFO] [stderr] 596 | + ((i[12] as u128) << 96) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[12])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:597:10 [INFO] [stderr] | [INFO] [stderr] 597 | + ((i[11] as u128) << 88) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[11])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:598:10 [INFO] [stderr] | [INFO] [stderr] 598 | + ((i[10] as u128) << 80) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[10])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:599:10 [INFO] [stderr] | [INFO] [stderr] 599 | + ((i[9] as u128) << 72) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[9])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:600:10 [INFO] [stderr] | [INFO] [stderr] 600 | + ((i[8] as u128) << 64) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[8])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:601:10 [INFO] [stderr] | [INFO] [stderr] 601 | + ((i[7] as u128) << 56) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:602:10 [INFO] [stderr] | [INFO] [stderr] 602 | + ((i[6] as u128) << 48) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:603:10 [INFO] [stderr] | [INFO] [stderr] 603 | + ((i[5] as u128) << 40) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:604:10 [INFO] [stderr] | [INFO] [stderr] 604 | + ((i[4] as u128) << 32) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:605:10 [INFO] [stderr] | [INFO] [stderr] 605 | + ((i[3] as u128) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:606:10 [INFO] [stderr] | [INFO] [stderr] 606 | + ((i[2] as u128) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:607:10 [INFO] [stderr] | [INFO] [stderr] 607 | + ((i[1] as u128) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:608:9 [INFO] [stderr] | [INFO] [stderr] 608 | + i[0] as u128; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u128::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/nom.rs:767:5 [INFO] [stderr] | [INFO] [stderr] 767 | return need_more_err(input, Needed::Unknown, ErrorKind::NonEmpty::); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `need_more_err(input, Needed::Unknown, ErrorKind::NonEmpty::)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/nom.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / recognize!(input, [INFO] [stderr] 812 | | tuple!( [INFO] [stderr] 813 | | opt!(alt!(char!('+') | char!('-'))), [INFO] [stderr] 814 | | alt!( [INFO] [stderr] ... | [INFO] [stderr] 824 | | ) [INFO] [stderr] 825 | | ) [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u32` to a `f32` [INFO] [stderr] --> src/nom.rs:700:35 [INFO] [stderr] | [INFO] [stderr] 700 | Ok((i, o)) => unsafe { Ok((i, transmute::(o))) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(o)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_int_to_float)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u64` to a `f64` [INFO] [stderr] --> src/nom.rs:709:35 [INFO] [stderr] | [INFO] [stderr] 709 | Ok((i, o)) => unsafe { Ok((i, transmute::(o))) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f64::from_bits(o)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u32` to a `f32` [INFO] [stderr] --> src/nom.rs:718:35 [INFO] [stderr] | [INFO] [stderr] 718 | Ok((i, o)) => unsafe { Ok((i, transmute::(o))) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(o)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u64` to a `f64` [INFO] [stderr] --> src/nom.rs:727:35 [INFO] [stderr] | [INFO] [stderr] 727 | Ok((i, o)) => unsafe { Ok((i, transmute::(o))) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f64::from_bits(o)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: calling `.extend(_.chars())` [INFO] [stderr] --> src/types.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | acc.extend(self.0.chars()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `acc.push_str(self.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_extend_chars)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_extend_chars [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/types.rs:266:19 [INFO] [stderr] | [INFO] [stderr] 266 | type IterElem = Map, fn(&u8) -> u8>; //Iter<'a, Self::RawItem>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/whitespace.rs:1173:3 [INFO] [stderr] | [INFO] [stderr] 1173 | / named!(pipeline_statement<&[u8], ()>, [INFO] [stderr] 1174 | | ws!( [INFO] [stderr] 1175 | | do_parse!( [INFO] [stderr] 1176 | | tag!("pipeline") >> [INFO] [stderr] ... | [INFO] [stderr] 1189 | | ) [INFO] [stderr] 1190 | | ); [INFO] [stderr] | |____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/whitespace.rs:1173:3 [INFO] [stderr] | [INFO] [stderr] 1173 | / named!(pipeline_statement<&[u8], ()>, [INFO] [stderr] 1174 | | ws!( [INFO] [stderr] 1175 | | do_parse!( [INFO] [stderr] 1176 | | tag!("pipeline") >> [INFO] [stderr] ... | [INFO] [stderr] 1189 | | ) [INFO] [stderr] 1190 | | ); [INFO] [stderr] | |____- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/whitespace.rs:1173:3 [INFO] [stderr] | [INFO] [stderr] 1173 | / named!(pipeline_statement<&[u8], ()>, [INFO] [stderr] 1174 | | ws!( [INFO] [stderr] 1175 | | do_parse!( [INFO] [stderr] 1176 | | tag!("pipeline") >> [INFO] [stderr] ... | [INFO] [stderr] 1189 | | ) [INFO] [stderr] 1190 | | ); [INFO] [stderr] | |____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/whitespace.rs:1173:3 [INFO] [stderr] | [INFO] [stderr] 1173 | / named!(pipeline_statement<&[u8], ()>, [INFO] [stderr] 1174 | | ws!( [INFO] [stderr] 1175 | | do_parse!( [INFO] [stderr] 1176 | | tag!("pipeline") >> [INFO] [stderr] ... | [INFO] [stderr] 1189 | | ) [INFO] [stderr] 1190 | | ); [INFO] [stderr] | |____- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/character.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | b [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] ::: src/whitespace.rs:1173:3 [INFO] [stderr] | [INFO] [stderr] 1173 | / named!(pipeline_statement<&[u8], ()>, [INFO] [stderr] 1174 | | ws!( [INFO] [stderr] 1175 | | do_parse!( [INFO] [stderr] 1176 | | tag!("pipeline") >> [INFO] [stderr] ... | [INFO] [stderr] 1189 | | ) [INFO] [stderr] 1190 | | ); [INFO] [stderr] | |____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/character.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | let b = c.as_char() == $c; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/whitespace.rs:1173:3 [INFO] [stderr] | [INFO] [stderr] 1173 | / named!(pipeline_statement<&[u8], ()>, [INFO] [stderr] 1174 | | ws!( [INFO] [stderr] 1175 | | do_parse!( [INFO] [stderr] 1176 | | tag!("pipeline") >> [INFO] [stderr] ... | [INFO] [stderr] 1189 | | ) [INFO] [stderr] 1190 | | ); [INFO] [stderr] | |____- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/whitespace.rs:1186:9 [INFO] [stderr] | [INFO] [stderr] 1186 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `nom`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | / match self { [INFO] [stderr] 108 | | &Err::Incomplete(..) => "there was not enough data", [INFO] [stderr] 109 | | &Err::Error(Context::Code(_, ref error_kind)) | &Err::Failure(Context::Code(_, ref error_kind)) => error_kind.description(), [INFO] [stderr] 110 | | #[cfg(feature = "verbose-errors")] [INFO] [stderr] 111 | | &Err::Error(Context::List(..)) | &Err::Failure(Context::List(..)) => "list of errors", [INFO] [stderr] 112 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 107 | match *self { [INFO] [stderr] 108 | Err::Incomplete(..) => "there was not enough data", [INFO] [stderr] 109 | Err::Error(Context::Code(_, ref error_kind)) | Err::Failure(Context::Code(_, ref error_kind)) => error_kind.description(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `input_len` which has no body [INFO] [stderr] --> src/traits.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 32 | | fn input_len(&self) -> usize; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: trait `AsChar` has a `len` method but no (possibly inherited) `is_empty` method [INFO] [stderr] --> src/traits.rs:161:1 [INFO] [stderr] | [INFO] [stderr] 161 | / pub trait AsChar { [INFO] [stderr] 162 | | /// makes a char from self [INFO] [stderr] 163 | | #[inline] [INFO] [stderr] 164 | | fn as_char(self) -> char; [INFO] [stderr] ... | [INFO] [stderr] 188 | | fn len(self) -> usize; [INFO] [stderr] 189 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `as_char` which has no body [INFO] [stderr] --> src/traits.rs:163:3 [INFO] [stderr] | [INFO] [stderr] 163 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 164 | | fn as_char(self) -> char; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_alpha` which has no body [INFO] [stderr] --> src/traits.rs:170:3 [INFO] [stderr] | [INFO] [stderr] 170 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 171 | | fn is_alpha(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_alphanum` which has no body [INFO] [stderr] --> src/traits.rs:175:3 [INFO] [stderr] | [INFO] [stderr] 175 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 176 | | fn is_alphanum(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_dec_digit` which has no body [INFO] [stderr] --> src/traits.rs:178:3 [INFO] [stderr] | [INFO] [stderr] 178 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 179 | | fn is_dec_digit(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_hex_digit` which has no body [INFO] [stderr] --> src/traits.rs:181:3 [INFO] [stderr] | [INFO] [stderr] 181 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 182 | | fn is_hex_digit(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `is_oct_digit` which has no body [INFO] [stderr] --> src/traits.rs:184:3 [INFO] [stderr] | [INFO] [stderr] 184 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 185 | | fn is_oct_digit(self) -> bool; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `len` which has no body [INFO] [stderr] --> src/traits.rs:187:3 [INFO] [stderr] | [INFO] [stderr] 187 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 188 | | fn len(self) -> usize; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/traits.rs:352:15 [INFO] [stderr] | [INFO] [stderr] 352 | fn star(r_u8: &u8) -> u8 { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/traits.rs:360:19 [INFO] [stderr] | [INFO] [stderr] 360 | type IterElem = Map, fn(&u8) -> u8>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/traits.rs:576:12 [INFO] [stderr] | [INFO] [stderr] 576 | if self.0.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.0.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/traits.rs:638:12 [INFO] [stderr] | [INFO] [stderr] 638 | if self.0.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.0.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `slice` which has no body [INFO] [stderr] --> src/traits.rs:907:3 [INFO] [stderr] | [INFO] [stderr] 907 | #[inline(always)] [INFO] [stderr] | ___-^^^^^^^^^^^^^^^^ [INFO] [stderr] 908 | | fn slice(&self, range: R) -> Self; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `new_builder` which has no body [INFO] [stderr] --> src/traits.rs:1069:3 [INFO] [stderr] | [INFO] [stderr] 1069 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 1070 | | fn new_builder(&self) -> Self::Extender; [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `extend_into` which has no body [INFO] [stderr] --> src/traits.rs:1072:3 [INFO] [stderr] | [INFO] [stderr] 1072 | #[inline] [INFO] [stderr] | ___-^^^^^^^^ [INFO] [stderr] 1073 | | fn extend_into(&self, acc: &mut Self::Extender); [INFO] [stderr] | |__- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/macros.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | / pub(crate) fn $name<'a>( i: &'a [u8] ) -> $crate::IResult<&[u8], &[u8], u32> { [INFO] [stderr] 179 | | $submac!(i, $($args)*) [INFO] [stderr] 180 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] ... [INFO] [stderr] 1478 | named!(pub(crate) tst, tag!("abcd")); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/macros.rs:1565:17 [INFO] [stderr] | [INFO] [stderr] 1565 | let f_true: Box IResult<&[u8], Option<&[u8]>, CustomError>> = Box::new(closure!( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/macros.rs:1569:18 [INFO] [stderr] | [INFO] [stderr] 1569 | let f_false: Box IResult<&[u8], Option<&[u8]>, CustomError>> = Box::new(closure!( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/macros.rs:1589:17 [INFO] [stderr] | [INFO] [stderr] 1589 | let f_true: Box IResult<&[u8], Option<&[u8]>, CustomError>> = Box::new(closure!( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/macros.rs:1593:18 [INFO] [stderr] | [INFO] [stderr] 1593 | let f_false: Box IResult<&[u8], Option<&[u8]>, CustomError>> = Box::new(closure!( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: reference to uninitialized memory [INFO] [stderr] --> src/multi.rs:654:45 [INFO] [stderr] | [INFO] [stderr] 654 | let mut res: [$typ; $count] = unsafe{[$crate::lib::std::mem::uninitialized(); $count as usize]}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1423 | named!( cnt_2<&[u8], [&[u8]; TIMES] >, count_fixed!(&[u8], tag_abc, TIMES ) ); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::invalid_ref)] on by default [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [INFO] [stderr] [INFO] [stderr] error: reference to uninitialized memory [INFO] [stderr] --> src/multi.rs:654:45 [INFO] [stderr] | [INFO] [stderr] 654 | let mut res: [$typ; $count] = unsafe{[$crate::lib::std::mem::uninitialized(); $count as usize]}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1473 | named!( counter_2<&[u8], [&[u8]; TIMES], NilError >, count_fixed!(&[u8], fix_error!(NilError, tag_abc), TIMES ) ); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [INFO] [stderr] [INFO] [stderr] warning: the variable `count` is used as a loop counter. Consider using `for (count, item) in $i.char_indices().enumerate()` or similar iterators [INFO] [stderr] --> src/methods.rs:321:25 [INFO] [stderr] | [INFO] [stderr] 321 | for (o, _) in $i.char_indices() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 352 | method!(take3, &'a str, &'a str>, self, take_s!(3)); [INFO] [stderr] | --------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bytes.rs:569:31 [INFO] [stderr] | [INFO] [stderr] 569 | input.split_at_position(|c| $submac!(c, $($args)*)) [INFO] [stderr] | _______________________________^ [INFO] [stderr] 570 | | } [INFO] [stderr] 571 | | ); [INFO] [stderr] 572 | | ($input:expr, $f:expr) => ( [INFO] [stderr] 573 | | take_till!($input, call!($f)); [INFO] [stderr] | |___________________________^ help: remove closure as shown: `is_alphabetic` [INFO] [stderr] ... [INFO] [stderr] 1773 | named!(f, take_till!(is_alphabetic)); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bytes.rs:569:31 [INFO] [stderr] | [INFO] [stderr] 569 | input.split_at_position(|c| $submac!(c, $($args)*)) [INFO] [stderr] | _______________________________^ [INFO] [stderr] 570 | | } [INFO] [stderr] 571 | | ); [INFO] [stderr] 572 | | ($input:expr, $f:expr) => ( [INFO] [stderr] 573 | | take_till!($input, call!($f)); [INFO] [stderr] | |___________________________^ help: remove closure as shown: `is_alphabetic` [INFO] [stderr] ... [INFO] [stderr] 1788 | named!(f, take_till!(is_alphabetic)); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bytes.rs:602:32 [INFO] [stderr] | [INFO] [stderr] 602 | input.split_at_position1(|c| $submac!(c, $($args)*), ErrorKind::TakeTill1) [INFO] [stderr] | ________________________________^ [INFO] [stderr] 603 | | } [INFO] [stderr] 604 | | ); [INFO] [stderr] 605 | | ($input:expr, $f:expr) => ( [INFO] [stderr] 606 | | take_till1!($input, call!($f)); [INFO] [stderr] | |____________________________^ help: remove closure as shown: `is_alphabetic` [INFO] [stderr] ... [INFO] [stderr] 1809 | named!(f, take_till1!(is_alphabetic)); [INFO] [stderr] | -------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bytes.rs:569:31 [INFO] [stderr] | [INFO] [stderr] 569 | input.split_at_position(|c| $submac!(c, $($args)*)) [INFO] [stderr] | _______________________________^ [INFO] [stderr] 570 | | } [INFO] [stderr] 571 | | ); [INFO] [stderr] 572 | | ($input:expr, $f:expr) => ( [INFO] [stderr] 573 | | take_till!($input, call!($f)); [INFO] [stderr] | |___________________________^ help: remove closure as shown: `|c:char| { c == '點' }` [INFO] [stderr] ... [INFO] [stderr] 1842 | named!(f<&str,&str>, take_till!(|c:char| { c == '點' })); [INFO] [stderr] | --------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bytes.rs:569:31 [INFO] [stderr] | [INFO] [stderr] 569 | input.split_at_position(|c| $submac!(c, $($args)*)) [INFO] [stderr] | _______________________________^ [INFO] [stderr] 570 | | } [INFO] [stderr] 571 | | ); [INFO] [stderr] 572 | | ($input:expr, $f:expr) => ( [INFO] [stderr] 573 | | take_till!($input, call!($f)); [INFO] [stderr] | |___________________________^ help: remove closure as shown: `|c:char| { c != '點' }` [INFO] [stderr] ... [INFO] [stderr] 1849 | named!(g<&str,&str>, take_till!(|c:char| { c != '點' })); [INFO] [stderr] | --------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 106 [INFO] [stderr] --> src/bits.rs:377:3 [INFO] [stderr] | [INFO] [stderr] 377 | / fn take_bits() { [INFO] [stderr] 378 | | let input = [0b10_10_10_10, 0b11_11_00_00, 0b00_11_00_11]; [INFO] [stderr] 379 | | let sl = &input[..]; [INFO] [stderr] 380 | | [INFO] [stderr] ... | [INFO] [stderr] 398 | | ); [INFO] [stderr] 399 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/nom.rs:25:41 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn tag_cl<'a, 'b>(rec: &'a [u8]) -> Box IResult<&'b [u8], &'b [u8]> + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/nom.rs:404:35 [INFO] [stderr] | [INFO] [stderr] 404 | Ok((&input[len + 1..], &input[1..len + 1])) [INFO] [stderr] | ^^^^^^^^^^ help: use: `1..=len` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/nom.rs:413:6 [INFO] [stderr] | [INFO] [stderr] 413 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:426:16 [INFO] [stderr] | [INFO] [stderr] 426 | let res = ((i[0] as u16) << 8) + i[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:426:38 [INFO] [stderr] | [INFO] [stderr] 426 | let res = ((i[0] as u16) << 8) + i[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:437:16 [INFO] [stderr] | [INFO] [stderr] 437 | let res = ((i[0] as u32) << 16) + ((i[1] as u32) << 8) + (i[2] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:437:40 [INFO] [stderr] | [INFO] [stderr] 437 | let res = ((i[0] as u32) << 16) + ((i[1] as u32) << 8) + (i[2] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:437:62 [INFO] [stderr] | [INFO] [stderr] 437 | let res = ((i[0] as u32) << 16) + ((i[1] as u32) << 8) + (i[2] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:448:16 [INFO] [stderr] | [INFO] [stderr] 448 | let res = ((i[0] as u32) << 24) + ((i[1] as u32) << 16) + ((i[2] as u32) << 8) + i[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:448:40 [INFO] [stderr] | [INFO] [stderr] 448 | let res = ((i[0] as u32) << 24) + ((i[1] as u32) << 16) + ((i[2] as u32) << 8) + i[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:448:64 [INFO] [stderr] | [INFO] [stderr] 448 | let res = ((i[0] as u32) << 24) + ((i[1] as u32) << 16) + ((i[2] as u32) << 8) + i[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:448:86 [INFO] [stderr] | [INFO] [stderr] 448 | let res = ((i[0] as u32) << 24) + ((i[1] as u32) << 16) + ((i[2] as u32) << 8) + i[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:16 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:40 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:64 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:88 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:459:112 [INFO] [stderr] | [INFO] [stderr] 459 | let res = ((i[0] as u64) << 56) + ((i[1] as u64) << 48) + ((i[2] as u64) << 40) + ((i[3] as u64) << 32) + ((i[4] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:460:10 [INFO] [stderr] | [INFO] [stderr] 460 | + ((i[5] as u64) << 16) + ((i[6] as u64) << 8) + i[7] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:460:34 [INFO] [stderr] | [INFO] [stderr] 460 | + ((i[5] as u64) << 16) + ((i[6] as u64) << 8) + i[7] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:460:56 [INFO] [stderr] | [INFO] [stderr] 460 | + ((i[5] as u64) << 16) + ((i[6] as u64) << 8) + i[7] as u64; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(i[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:471:16 [INFO] [stderr] | [INFO] [stderr] 471 | let res = ((i[0] as u128) << 120) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:472:10 [INFO] [stderr] | [INFO] [stderr] 472 | + ((i[1] as u128) << 112) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:473:10 [INFO] [stderr] | [INFO] [stderr] 473 | + ((i[2] as u128) << 104) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:474:10 [INFO] [stderr] | [INFO] [stderr] 474 | + ((i[3] as u128) << 96) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:475:10 [INFO] [stderr] | [INFO] [stderr] 475 | + ((i[4] as u128) << 88) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:476:10 [INFO] [stderr] | [INFO] [stderr] 476 | + ((i[5] as u128) << 80) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:477:10 [INFO] [stderr] | [INFO] [stderr] 477 | + ((i[6] as u128) << 72) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:478:10 [INFO] [stderr] | [INFO] [stderr] 478 | + ((i[7] as u128) << 64) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:479:10 [INFO] [stderr] | [INFO] [stderr] 479 | + ((i[8] as u128) << 56) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[8])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:480:10 [INFO] [stderr] | [INFO] [stderr] 480 | + ((i[9] as u128) << 48) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[9])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:481:10 [INFO] [stderr] | [INFO] [stderr] 481 | + ((i[10] as u128) << 40) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[10])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:482:10 [INFO] [stderr] | [INFO] [stderr] 482 | + ((i[11] as u128) << 32) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[11])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:483:10 [INFO] [stderr] | [INFO] [stderr] 483 | + ((i[12] as u128) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[12])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:484:10 [INFO] [stderr] | [INFO] [stderr] 484 | + ((i[13] as u128) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[13])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:485:10 [INFO] [stderr] | [INFO] [stderr] 485 | + ((i[14] as u128) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[14])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:486:9 [INFO] [stderr] | [INFO] [stderr] 486 | + i[15] as u128; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u128::from(i[15])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/nom.rs:535:6 [INFO] [stderr] | [INFO] [stderr] 535 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:548:16 [INFO] [stderr] | [INFO] [stderr] 548 | let res = ((i[1] as u16) << 8) + i[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:548:38 [INFO] [stderr] | [INFO] [stderr] 548 | let res = ((i[1] as u16) << 8) + i[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:559:15 [INFO] [stderr] | [INFO] [stderr] 559 | let res = (i[0] as u32) + ((i[1] as u32) << 8) + ((i[2] as u32) << 16); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:559:32 [INFO] [stderr] | [INFO] [stderr] 559 | let res = (i[0] as u32) + ((i[1] as u32) << 8) + ((i[2] as u32) << 16); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:559:55 [INFO] [stderr] | [INFO] [stderr] 559 | let res = (i[0] as u32) + ((i[1] as u32) << 8) + ((i[2] as u32) << 16); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:570:16 [INFO] [stderr] | [INFO] [stderr] 570 | let res = ((i[3] as u32) << 24) + ((i[2] as u32) << 16) + ((i[1] as u32) << 8) + i[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:570:40 [INFO] [stderr] | [INFO] [stderr] 570 | let res = ((i[3] as u32) << 24) + ((i[2] as u32) << 16) + ((i[1] as u32) << 8) + i[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:570:64 [INFO] [stderr] | [INFO] [stderr] 570 | let res = ((i[3] as u32) << 24) + ((i[2] as u32) << 16) + ((i[1] as u32) << 8) + i[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:570:86 [INFO] [stderr] | [INFO] [stderr] 570 | let res = ((i[3] as u32) << 24) + ((i[2] as u32) << 16) + ((i[1] as u32) << 8) + i[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:16 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:40 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:64 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:88 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:581:112 [INFO] [stderr] | [INFO] [stderr] 581 | let res = ((i[7] as u64) << 56) + ((i[6] as u64) << 48) + ((i[5] as u64) << 40) + ((i[4] as u64) << 32) + ((i[3] as u64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:582:10 [INFO] [stderr] | [INFO] [stderr] 582 | + ((i[2] as u64) << 16) + ((i[1] as u64) << 8) + i[0] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:582:34 [INFO] [stderr] | [INFO] [stderr] 582 | + ((i[2] as u64) << 16) + ((i[1] as u64) << 8) + i[0] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:582:56 [INFO] [stderr] | [INFO] [stderr] 582 | + ((i[2] as u64) << 16) + ((i[1] as u64) << 8) + i[0] as u64; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:593:16 [INFO] [stderr] | [INFO] [stderr] 593 | let res = ((i[15] as u128) << 120) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[15])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:594:10 [INFO] [stderr] | [INFO] [stderr] 594 | + ((i[14] as u128) << 112) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[14])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:595:10 [INFO] [stderr] | [INFO] [stderr] 595 | + ((i[13] as u128) << 104) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[13])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:596:10 [INFO] [stderr] | [INFO] [stderr] 596 | + ((i[12] as u128) << 96) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[12])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:597:10 [INFO] [stderr] | [INFO] [stderr] 597 | + ((i[11] as u128) << 88) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[11])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:598:10 [INFO] [stderr] | [INFO] [stderr] 598 | + ((i[10] as u128) << 80) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u128::from(i[10])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:599:10 [INFO] [stderr] | [INFO] [stderr] 599 | + ((i[9] as u128) << 72) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[9])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:600:10 [INFO] [stderr] | [INFO] [stderr] 600 | + ((i[8] as u128) << 64) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[8])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:601:10 [INFO] [stderr] | [INFO] [stderr] 601 | + ((i[7] as u128) << 56) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:602:10 [INFO] [stderr] | [INFO] [stderr] 602 | + ((i[6] as u128) << 48) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:603:10 [INFO] [stderr] | [INFO] [stderr] 603 | + ((i[5] as u128) << 40) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:604:10 [INFO] [stderr] | [INFO] [stderr] 604 | + ((i[4] as u128) << 32) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:605:10 [INFO] [stderr] | [INFO] [stderr] 605 | + ((i[3] as u128) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:606:10 [INFO] [stderr] | [INFO] [stderr] 606 | + ((i[2] as u128) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:607:10 [INFO] [stderr] | [INFO] [stderr] 607 | + ((i[1] as u128) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u128::from(i[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u128 may become silently lossy if types change [INFO] [stderr] --> src/nom.rs:608:9 [INFO] [stderr] | [INFO] [stderr] 608 | + i[0] as u128; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u128::from(i[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u32` to a `f32` [INFO] [stderr] --> src/nom.rs:700:35 [INFO] [stderr] | [INFO] [stderr] 700 | Ok((i, o)) => unsafe { Ok((i, transmute::(o))) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(o)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_int_to_float)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u64` to a `f64` [INFO] [stderr] --> src/nom.rs:709:35 [INFO] [stderr] | [INFO] [stderr] 709 | Ok((i, o)) => unsafe { Ok((i, transmute::(o))) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f64::from_bits(o)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u32` to a `f32` [INFO] [stderr] --> src/nom.rs:718:35 [INFO] [stderr] | [INFO] [stderr] 718 | Ok((i, o)) => unsafe { Ok((i, transmute::(o))) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f32::from_bits(o)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: transmute from a `u64` to a `f64` [INFO] [stderr] --> src/nom.rs:727:35 [INFO] [stderr] | [INFO] [stderr] 727 | Ok((i, o)) => unsafe { Ok((i, transmute::(o))) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `f64::from_bits(o)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_int_to_float [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/nom.rs:911:3 [INFO] [stderr] | [INFO] [stderr] 911 | / fn character() { [INFO] [stderr] 912 | | let empty: &[u8] = b""; [INFO] [stderr] 913 | | let a: &[u8] = b"abcd"; [INFO] [stderr] 914 | | let b: &[u8] = b"1234"; [INFO] [stderr] ... | [INFO] [stderr] 1005 | | ); [INFO] [stderr] 1006 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/nom.rs:1010:3 [INFO] [stderr] | [INFO] [stderr] 1010 | / fn character_s() { [INFO] [stderr] 1011 | | let empty = ""; [INFO] [stderr] 1012 | | let a = "abcd"; [INFO] [stderr] 1013 | | let b = "1234"; [INFO] [stderr] ... | [INFO] [stderr] 1098 | | assert_eq!(space(e), Err(Err::Incomplete(Needed::Size(1)))); [INFO] [stderr] 1099 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/nom.rs:1405:21 [INFO] [stderr] | [INFO] [stderr] 1405 | Ok((&b""[..], 185_728_392_f32)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `185_728_380` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/nom.rs:1426:21 [INFO] [stderr] | [INFO] [stderr] 1426 | Ok((&b""[..], 185_728_392_f32)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `185_728_380` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/nom.rs:1557:20 [INFO] [stderr] | [INFO] [stderr] 1557 | let int_parse: Box IResult<&[u8], u16>> = if x == 2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bytes.rs:569:31 [INFO] [stderr] | [INFO] [stderr] 205 | | } [INFO] [stderr] | |_____________________________^ help: remove closure as shown: `till_s` [INFO] [stderr] ... [INFO] [stderr] 569 | input.split_at_position(|c| $submac!(c, $($args)*)) [INFO] [stderr] | _______________________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/str.rs:435:7 [INFO] [stderr] | [INFO] [stderr] 435 | take_till_s!(input, till_s) [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/str.rs:560:7 [INFO] [stderr] | [INFO] [stderr] 560 | c == 'β' || c == 'è' || c == 'ƒ' || c == 'ô' || c == 'ř' || c == 'è' || c == 'Â' || c == 'ß' || c == 'Ç' [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 560 | c == 'Ç' || c == 'ß' || c == 'Â' || c == 'ř' || c == 'ô' || c == 'ƒ' || c == 'è' || c == 'β' [INFO] [stderr] | [INFO] [stderr] 560 | !(c != 'β' && c != 'è' && c != 'ƒ' && c != 'ô' && c != 'ř' && c != 'Â' && c != 'ß' && c != 'Ç') [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/str.rs:609:7 [INFO] [stderr] | [INFO] [stderr] 609 | c == 'β' || c == 'è' || c == 'ƒ' || c == 'ô' || c == 'ř' || c == 'è' || c == 'Â' || c == 'ß' || c == 'Ç' [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 609 | c == 'Ç' || c == 'ß' || c == 'Â' || c == 'ř' || c == 'ô' || c == 'ƒ' || c == 'è' || c == 'β' [INFO] [stderr] | [INFO] [stderr] 609 | !(c != 'β' && c != 'è' && c != 'ƒ' && c != 'ô' && c != 'ř' && c != 'Â' && c != 'ß' && c != 'Ç') [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: calling `.extend(_.chars())` [INFO] [stderr] --> src/types.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | acc.extend(self.0.chars()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `acc.push_str(self.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_extend_chars)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_extend_chars [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/types.rs:266:19 [INFO] [stderr] | [INFO] [stderr] 266 | type IterElem = Map, fn(&u8) -> u8>; //Iter<'a, Self::RawItem>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: aborting due to 13 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `nom`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "56d4c0a69499bba16a623a9188ff20aa2e83c6bc62980446ac1a0de42b67dba7"` [INFO] running `"docker" "rm" "-f" "56d4c0a69499bba16a623a9188ff20aa2e83c6bc62980446ac1a0de42b67dba7"` [INFO] [stdout] 56d4c0a69499bba16a623a9188ff20aa2e83c6bc62980446ac1a0de42b67dba7