[INFO] crate email-format 0.6.0 is already in cache [INFO] extracting crate email-format 0.6.0 into work/ex/clippy-test-run/sources/stable/reg/email-format/0.6.0 [INFO] extracting crate email-format 0.6.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/email-format/0.6.0 [INFO] validating manifest of email-format-0.6.0 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 email-format-0.6.0 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 email-format-0.6.0 [INFO] finished frobbing email-format-0.6.0 [INFO] frobbed toml for email-format-0.6.0 written to work/ex/clippy-test-run/sources/stable/reg/email-format/0.6.0/Cargo.toml [INFO] started frobbing email-format-0.6.0 [INFO] finished frobbing email-format-0.6.0 [INFO] frobbed toml for email-format-0.6.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/email-format/0.6.0/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 email-format-0.6.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/email-format/0.6.0:/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] 2bc8650c024686cec8a100f590da66b4633bbbf5180f90ddd75e05e060918a25 [INFO] running `"docker" "start" "-a" "2bc8650c024686cec8a100f590da66b4633bbbf5180f90ddd75e05e060918a25"` [INFO] [stderr] Checking buf-read-ext v0.3.0 [INFO] [stderr] Checking email-format v0.6.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | ccontent: ccontent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `ccontent` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | comments: comments, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `comments` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:279:17 [INFO] [stderr] | [INFO] [stderr] 279 | atext: atext, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `atext` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:464:13 [INFO] [stderr] | [INFO] [stderr] 464 | qcontent: qcontent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `qcontent` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:585:13 [INFO] [stderr] | [INFO] [stderr] 585 | leading_ws: leading_ws, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `leading_ws` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:679:13 [INFO] [stderr] | [INFO] [stderr] 679 | dtext: dtext, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `dtext` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1211:29 [INFO] [stderr] | [INFO] [stderr] 1211 | hour: hour, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hour` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1212:29 [INFO] [stderr] | [INFO] [stderr] 1212 | minute: minute, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `minute` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1218:21 [INFO] [stderr] | [INFO] [stderr] 1218 | hour: hour, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hour` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1219:21 [INFO] [stderr] | [INFO] [stderr] 1219 | minute: minute, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `minute` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1256:21 [INFO] [stderr] | [INFO] [stderr] 1256 | zone: zone [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `zone` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1401:25 [INFO] [stderr] | [INFO] [stderr] 1401 | day: day, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `day` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1402:25 [INFO] [stderr] | [INFO] [stderr] 1402 | month: month, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `month` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1403:25 [INFO] [stderr] | [INFO] [stderr] 1403 | year: year, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `year` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1517:21 [INFO] [stderr] | [INFO] [stderr] 1517 | day_of_week: day_of_week, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `day_of_week` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1518:21 [INFO] [stderr] | [INFO] [stderr] 1518 | date: date, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1519:21 [INFO] [stderr] | [INFO] [stderr] 1519 | time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `time` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:865:21 [INFO] [stderr] | [INFO] [stderr] 865 | received_tokens: received_tokens, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `received_tokens` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:968:29 [INFO] [stderr] | [INFO] [stderr] 968 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:969:29 [INFO] [stderr] | [INFO] [stderr] 969 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:1007:13 [INFO] [stderr] | [INFO] [stderr] 1007 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:1008:13 [INFO] [stderr] | [INFO] [stderr] 1008 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | received: received, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `received` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:431:13 [INFO] [stderr] | [INFO] [stderr] 431 | trace_blocks: trace_blocks, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `trace_blocks` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:432:13 [INFO] [stderr] | [INFO] [stderr] 432 | fields: fields, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fields` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:533:21 [INFO] [stderr] | [INFO] [stderr] 533 | fields: fields, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fields` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:539:17 [INFO] [stderr] | [INFO] [stderr] 539 | fields: fields, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fields` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:667:40 [INFO] [stderr] | [INFO] [stderr] 667 | Ok(message) => Ok((Email { message: message}, rem)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | ccontent: ccontent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `ccontent` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | comments: comments, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `comments` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:279:17 [INFO] [stderr] | [INFO] [stderr] 279 | atext: atext, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `atext` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:464:13 [INFO] [stderr] | [INFO] [stderr] 464 | qcontent: qcontent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `qcontent` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:585:13 [INFO] [stderr] | [INFO] [stderr] 585 | leading_ws: leading_ws, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `leading_ws` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:679:13 [INFO] [stderr] | [INFO] [stderr] 679 | dtext: dtext, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `dtext` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1211:29 [INFO] [stderr] | [INFO] [stderr] 1211 | hour: hour, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hour` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1212:29 [INFO] [stderr] | [INFO] [stderr] 1212 | minute: minute, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `minute` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1218:21 [INFO] [stderr] | [INFO] [stderr] 1218 | hour: hour, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hour` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1219:21 [INFO] [stderr] | [INFO] [stderr] 1219 | minute: minute, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `minute` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1256:21 [INFO] [stderr] | [INFO] [stderr] 1256 | zone: zone [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `zone` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1401:25 [INFO] [stderr] | [INFO] [stderr] 1401 | day: day, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `day` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1402:25 [INFO] [stderr] | [INFO] [stderr] 1402 | month: month, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `month` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1403:25 [INFO] [stderr] | [INFO] [stderr] 1403 | year: year, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `year` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1517:21 [INFO] [stderr] | [INFO] [stderr] 1517 | day_of_week: day_of_week, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `day_of_week` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1518:21 [INFO] [stderr] | [INFO] [stderr] 1518 | date: date, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/types.rs:1519:21 [INFO] [stderr] | [INFO] [stderr] 1519 | time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `time` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:865:21 [INFO] [stderr] | [INFO] [stderr] 865 | received_tokens: received_tokens, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `received_tokens` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:968:29 [INFO] [stderr] | [INFO] [stderr] 968 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:969:29 [INFO] [stderr] | [INFO] [stderr] 969 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:1007:13 [INFO] [stderr] | [INFO] [stderr] 1007 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/headers.rs:1008:13 [INFO] [stderr] | [INFO] [stderr] 1008 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | received: received, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `received` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:431:13 [INFO] [stderr] | [INFO] [stderr] 431 | trace_blocks: trace_blocks, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `trace_blocks` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:432:13 [INFO] [stderr] | [INFO] [stderr] 432 | fields: fields, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fields` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:533:21 [INFO] [stderr] | [INFO] [stderr] 533 | fields: fields, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fields` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rfc5322/mod.rs:539:17 [INFO] [stderr] | [INFO] [stderr] 539 | fields: fields, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fields` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:667:40 [INFO] [stderr] | [INFO] [stderr] 667 | Ok(message) => Ok((Email { message: message}, rem)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/types.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | / return Ok((Comment { [INFO] [stderr] 173 | | ccontent: ccontent, [INFO] [stderr] 174 | | trailing_ws: ws, [INFO] [stderr] 175 | | }, rem)); [INFO] [stderr] | |_________________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 172 | Ok((Comment { [INFO] [stderr] 173 | ccontent: ccontent, [INFO] [stderr] 174 | trailing_ws: ws, [INFO] [stderr] 175 | }, rem)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | return Ok((From(mbl), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((From(mbl), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | return Ok((Sender(mb), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Sender(mb), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | return Ok((ReplyTo(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ReplyTo(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:206:17 [INFO] [stderr] | [INFO] [stderr] 206 | return Ok((To(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((To(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:234:17 [INFO] [stderr] | [INFO] [stderr] 234 | return Ok((Cc(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Cc(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | return Ok((Bcc::Empty, rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Bcc::Empty, rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:324:17 [INFO] [stderr] | [INFO] [stderr] 324 | return Ok((MessageId(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((MessageId(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:480:17 [INFO] [stderr] | [INFO] [stderr] 480 | return Ok((Subject(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Subject(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:508:17 [INFO] [stderr] | [INFO] [stderr] 508 | return Ok((Comments(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Comments(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:633:17 [INFO] [stderr] | [INFO] [stderr] 633 | return Ok((ResentFrom(mbl), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentFrom(mbl), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:661:17 [INFO] [stderr] | [INFO] [stderr] 661 | return Ok((ResentSender(mb), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentSender(mb), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:689:17 [INFO] [stderr] | [INFO] [stderr] 689 | return Ok((ResentTo(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentTo(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:717:17 [INFO] [stderr] | [INFO] [stderr] 717 | return Ok((ResentCc(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentCc(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:755:9 [INFO] [stderr] | [INFO] [stderr] 755 | return Ok((ResentBcc::Empty, rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentBcc::Empty, rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:807:17 [INFO] [stderr] | [INFO] [stderr] 807 | return Ok((ResentMessageId(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentMessageId(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:864:17 [INFO] [stderr] | [INFO] [stderr] 864 | / return Ok((Received { [INFO] [stderr] 865 | | received_tokens: received_tokens, [INFO] [stderr] 866 | | date_time: dt [INFO] [stderr] 867 | | }, rem)); [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 864 | Ok((Received { [INFO] [stderr] 865 | received_tokens: received_tokens, [INFO] [stderr] 866 | date_time: dt [INFO] [stderr] 867 | }, rem)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:901:13 [INFO] [stderr] | [INFO] [stderr] 901 | return Err(ParseError::TrailingInput("Received", input.len() - rem.len())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::TrailingInput("Received", input.len() - rem.len()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:934:17 [INFO] [stderr] | [INFO] [stderr] 934 | return Ok((Return(path), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Return(path), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:967:25 [INFO] [stderr] | [INFO] [stderr] 967 | / return Ok((OptionalField { [INFO] [stderr] 968 | | name: name, [INFO] [stderr] 969 | | value: value, [INFO] [stderr] 970 | | }, rem)); [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 967 | Ok((OptionalField { [INFO] [stderr] 968 | name: name, [INFO] [stderr] 969 | value: value, [INFO] [stderr] 970 | }, rem)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/rfc5322/types.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/rfc5322/headers.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/types.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | / return Ok((Comment { [INFO] [stderr] 173 | | ccontent: ccontent, [INFO] [stderr] 174 | | trailing_ws: ws, [INFO] [stderr] 175 | | }, rem)); [INFO] [stderr] | |_________________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 172 | Ok((Comment { [INFO] [stderr] 173 | ccontent: ccontent, [INFO] [stderr] 174 | trailing_ws: ws, [INFO] [stderr] 175 | }, rem)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | return Ok((From(mbl), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((From(mbl), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | return Ok((Sender(mb), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Sender(mb), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | return Ok((ReplyTo(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ReplyTo(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:206:17 [INFO] [stderr] | [INFO] [stderr] 206 | return Ok((To(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((To(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:234:17 [INFO] [stderr] | [INFO] [stderr] 234 | return Ok((Cc(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Cc(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | return Ok((Bcc::Empty, rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Bcc::Empty, rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:324:17 [INFO] [stderr] | [INFO] [stderr] 324 | return Ok((MessageId(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((MessageId(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:480:17 [INFO] [stderr] | [INFO] [stderr] 480 | return Ok((Subject(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Subject(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:508:17 [INFO] [stderr] | [INFO] [stderr] 508 | return Ok((Comments(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Comments(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:633:17 [INFO] [stderr] | [INFO] [stderr] 633 | return Ok((ResentFrom(mbl), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentFrom(mbl), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:661:17 [INFO] [stderr] | [INFO] [stderr] 661 | return Ok((ResentSender(mb), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentSender(mb), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:689:17 [INFO] [stderr] | [INFO] [stderr] 689 | return Ok((ResentTo(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentTo(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:717:17 [INFO] [stderr] | [INFO] [stderr] 717 | return Ok((ResentCc(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentCc(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:755:9 [INFO] [stderr] | [INFO] [stderr] 755 | return Ok((ResentBcc::Empty, rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentBcc::Empty, rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:807:17 [INFO] [stderr] | [INFO] [stderr] 807 | return Ok((ResentMessageId(x), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((ResentMessageId(x), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:864:17 [INFO] [stderr] | [INFO] [stderr] 864 | / return Ok((Received { [INFO] [stderr] 865 | | received_tokens: received_tokens, [INFO] [stderr] 866 | | date_time: dt [INFO] [stderr] 867 | | }, rem)); [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 864 | Ok((Received { [INFO] [stderr] 865 | received_tokens: received_tokens, [INFO] [stderr] 866 | date_time: dt [INFO] [stderr] 867 | }, rem)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:901:13 [INFO] [stderr] | [INFO] [stderr] 901 | return Err(ParseError::TrailingInput("Received", input.len() - rem.len())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::TrailingInput("Received", input.len() - rem.len()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:934:17 [INFO] [stderr] | [INFO] [stderr] 934 | return Ok((Return(path), rem)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((Return(path), rem))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rfc5322/headers.rs:967:25 [INFO] [stderr] | [INFO] [stderr] 967 | / return Ok((OptionalField { [INFO] [stderr] 968 | | name: name, [INFO] [stderr] 969 | | value: value, [INFO] [stderr] 970 | | }, rem)); [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 967 | Ok((OptionalField { [INFO] [stderr] 968 | name: name, [INFO] [stderr] 969 | value: value, [INFO] [stderr] 970 | }, rem)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/rfc5322/types.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/rfc5322/headers.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/rfc5322/types.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/rfc5322/headers.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/rfc5322/types.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/rfc5322/headers.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | impl_display!(VChar); [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | impl_display!(WSP); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | impl_display!(ASCII); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | impl_display!(Digit); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | impl_display!(Alpha); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | impl_display!(QuotedPair); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:80:12 [INFO] [stderr] | [INFO] [stderr] 80 | if rem.len() == 0 { return Err(ParseError::Eof("Folding White Space")); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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/rfc5322/types.rs:81:15 [INFO] [stderr] | [INFO] [stderr] 81 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:101:1 [INFO] [stderr] | [INFO] [stderr] 101 | impl_display!(FWS); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:111:1 [INFO] [stderr] | [INFO] [stderr] 111 | impl_display!(CText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | impl_display!(CContent); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:158:12 [INFO] [stderr] | [INFO] [stderr] 158 | if rem.len() == 0 { return Err(ParseError::Eof("Comment")); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:162:15 [INFO] [stderr] | [INFO] [stderr] 162 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:191:1 [INFO] [stderr] | [INFO] [stderr] 191 | impl_display!(Comment); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:202:12 [INFO] [stderr] | [INFO] [stderr] 202 | if input.len() == 0 { return Err(ParseError::Eof("Comment Folding White Space")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:206:15 [INFO] [stderr] | [INFO] [stderr] 206 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:215:12 [INFO] [stderr] | [INFO] [stderr] 215 | if comments.len() > 0 || ws { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!comments.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:236:1 [INFO] [stderr] | [INFO] [stderr] 236 | impl_display!(CFWS); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:260:1 [INFO] [stderr] | [INFO] [stderr] 260 | impl_display!(AText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:272:12 [INFO] [stderr] | [INFO] [stderr] 272 | if input.len()==0 { return Err(ParseError::Eof("Atom")); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:299:1 [INFO] [stderr] | [INFO] [stderr] 299 | impl_display!(Atom); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:313:15 [INFO] [stderr] | [INFO] [stderr] 313 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:339:1 [INFO] [stderr] | [INFO] [stderr] 339 | impl_display!(DotAtomText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:352:12 [INFO] [stderr] | [INFO] [stderr] 352 | if rem.len() == 0 { return Err(ParseError::Eof("DotAtom")); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:379:1 [INFO] [stderr] | [INFO] [stderr] 379 | impl_display!(DotAtom); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:399:1 [INFO] [stderr] | [INFO] [stderr] 399 | impl_display!(QText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:410:12 [INFO] [stderr] | [INFO] [stderr] 410 | if input.len() == 0 { return Err(ParseError::Eof("QContent")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:430:1 [INFO] [stderr] | [INFO] [stderr] 430 | impl_display!(QContent); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:445:12 [INFO] [stderr] | [INFO] [stderr] 445 | if input.len() == 0 { return Err(ParseError::Eof("QuotedString")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:451:15 [INFO] [stderr] | [INFO] [stderr] 451 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:492:1 [INFO] [stderr] | [INFO] [stderr] 492 | impl_display!(QuotedString); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:503:12 [INFO] [stderr] | [INFO] [stderr] 503 | if input.len() == 0 { return Err(ParseError::Eof("Word")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:523:1 [INFO] [stderr] | [INFO] [stderr] 523 | impl_display!(Word); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:531:12 [INFO] [stderr] | [INFO] [stderr] 531 | if input.len() == 0 { return Err(ParseError::Eof("Phrase")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:537:12 [INFO] [stderr] | [INFO] [stderr] 537 | if output.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:553:1 [INFO] [stderr] | [INFO] [stderr] 553 | impl_display!(Phrase); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:565:12 [INFO] [stderr] | [INFO] [stderr] 565 | if input.len() == 0 { return Err(ParseError::Eof("Unstructured")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:570:15 [INFO] [stderr] | [INFO] [stderr] 570 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:582:12 [INFO] [stderr] | [INFO] [stderr] 582 | if output.len() == 0 { return Err(ParseError::NotFound("Unstructured")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:607:1 [INFO] [stderr] | [INFO] [stderr] 607 | impl_display!(Unstructured); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:618:12 [INFO] [stderr] | [INFO] [stderr] 618 | if input.len() == 0 { return Err(ParseError::Eof("LocalPart")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:638:1 [INFO] [stderr] | [INFO] [stderr] 638 | impl_display!(LocalPart); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:647:1 [INFO] [stderr] | [INFO] [stderr] 647 | impl_display!(DText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:660:12 [INFO] [stderr] | [INFO] [stderr] 660 | if input.len() == 0 { return Err(ParseError::Eof("DomainLiteral")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:666:15 [INFO] [stderr] | [INFO] [stderr] 666 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:703:1 [INFO] [stderr] | [INFO] [stderr] 703 | impl_display!(DomainLiteral); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:714:12 [INFO] [stderr] | [INFO] [stderr] 714 | if input.len() == 0 { return Err(ParseError::Eof("Domain")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:734:1 [INFO] [stderr] | [INFO] [stderr] 734 | impl_display!(Domain); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:745:12 [INFO] [stderr] | [INFO] [stderr] 745 | if input.len() == 0 { return Err(ParseError::Eof("AddrSpec")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:747:16 [INFO] [stderr] | [INFO] [stderr] 747 | if rem.len() > 0 && rem[0]==b'@' { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:766:1 [INFO] [stderr] | [INFO] [stderr] 766 | impl_display!(AddrSpec); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:779:12 [INFO] [stderr] | [INFO] [stderr] 779 | if input.len() == 0 { return Err(ParseError::Eof("AngleAddr")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:810:1 [INFO] [stderr] | [INFO] [stderr] 810 | impl_display!(AngleAddr); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:826:1 [INFO] [stderr] | [INFO] [stderr] 826 | impl_display!(DisplayName); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:837:12 [INFO] [stderr] | [INFO] [stderr] 837 | if input.len() == 0 { return Err(ParseError::Eof("NameAddr")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:859:1 [INFO] [stderr] | [INFO] [stderr] 859 | impl_display!(NameAddr); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:870:12 [INFO] [stderr] | [INFO] [stderr] 870 | if input.len() == 0 { return Err(ParseError::Eof("Mailbox")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:890:1 [INFO] [stderr] | [INFO] [stderr] 890 | impl_display!(Mailbox); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:898:12 [INFO] [stderr] | [INFO] [stderr] 898 | if input.len() == 0 { return Err(ParseError::Eof("Mailbox List")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:905:16 [INFO] [stderr] | [INFO] [stderr] 905 | if rem.len()==0 || rem[0]!=b',' { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:911:12 [INFO] [stderr] | [INFO] [stderr] 911 | if output.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:932:1 [INFO] [stderr] | [INFO] [stderr] 932 | impl_display!(MailboxList); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:943:12 [INFO] [stderr] | [INFO] [stderr] 943 | if input.len() == 0 { return Err(ParseError::Eof("Group List")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:963:1 [INFO] [stderr] | [INFO] [stderr] 963 | impl_display!(GroupList); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:975:12 [INFO] [stderr] | [INFO] [stderr] 975 | if input.len() == 0 { return Err(ParseError::Eof("Group")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1006:1 [INFO] [stderr] | [INFO] [stderr] 1006 | impl_display!(Group); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/rfc5322/types.rs:1012:5 [INFO] [stderr] | [INFO] [stderr] 1012 | Mailbox(Mailbox), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 1012 | Mailbox(Box), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1017:12 [INFO] [stderr] | [INFO] [stderr] 1017 | if input.len() == 0 { return Err(ParseError::Eof("Address")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1037:1 [INFO] [stderr] | [INFO] [stderr] 1037 | impl_display!(Address); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1045:12 [INFO] [stderr] | [INFO] [stderr] 1045 | if input.len() == 0 { return Err(ParseError::Eof("Address List")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1052:16 [INFO] [stderr] | [INFO] [stderr] 1052 | if rem.len()==0 || rem[0]!=b',' { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1058:12 [INFO] [stderr] | [INFO] [stderr] 1058 | if output.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1079:1 [INFO] [stderr] | [INFO] [stderr] 1079 | impl_display!(AddressList); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1087:12 [INFO] [stderr] | [INFO] [stderr] 1087 | if input.len() == 0 { return Err(ParseError::Eof("Zone")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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 i32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1100:30 [INFO] [stderr] | [INFO] [stderr] 1100 | let v: i32 = (1000 * ((rem[1]-48) as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rem[1]-48)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1101:31 [INFO] [stderr] | [INFO] [stderr] 1101 | + 100 * ((rem[2]-48) as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rem[2]-48)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1102:30 [INFO] [stderr] | [INFO] [stderr] 1102 | + 10 * ((rem[3]-48) as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rem[3]-48)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1103:25 [INFO] [stderr] | [INFO] [stderr] 1103 | + ((rem[4]-48) as i32)) * sign; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rem[4]-48)` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rfc5322/types.rs:1110:13 [INFO] [stderr] | [INFO] [stderr] 1110 | try!(w.write(b" -")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rfc5322/types.rs:1113:13 [INFO] [stderr] | [INFO] [stderr] 1113 | try!(w.write(b" +")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1120:1 [INFO] [stderr] | [INFO] [stderr] 1120 | impl_display!(Zone); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1128:12 [INFO] [stderr] | [INFO] [stderr] 1128 | if input.len() == 0 { return Err(ParseError::Eof("Second")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1143:1 [INFO] [stderr] | [INFO] [stderr] 1143 | impl_display!(Second); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1151:12 [INFO] [stderr] | [INFO] [stderr] 1151 | if input.len() == 0 { return Err(ParseError::Eof("Minute")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1166:1 [INFO] [stderr] | [INFO] [stderr] 1166 | impl_display!(Minute); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1174:12 [INFO] [stderr] | [INFO] [stderr] 1174 | if input.len() == 0 { return Err(ParseError::Eof("Hour")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1189:1 [INFO] [stderr] | [INFO] [stderr] 1189 | impl_display!(Hour); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1201:12 [INFO] [stderr] | [INFO] [stderr] 1201 | if input.len() == 0 { return Err(ParseError::Eof("TimeOfDay")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1207:20 [INFO] [stderr] | [INFO] [stderr] 1207 | if rem.len() > 0 && rem[0]==b':' { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1239:1 [INFO] [stderr] | [INFO] [stderr] 1239 | impl_display!(TimeOfDay); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1250:12 [INFO] [stderr] | [INFO] [stderr] 1250 | if input.len() == 0 { return Err(ParseError::Eof("Time")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1269:1 [INFO] [stderr] | [INFO] [stderr] 1269 | impl_display!(Time); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1277:12 [INFO] [stderr] | [INFO] [stderr] 1277 | if input.len() == 0 { return Err(ParseError::Eof("Year")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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 u32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1285:29 [INFO] [stderr] | [INFO] [stderr] 1285 | let v: u32 = 1000 * ((rem[0]-48) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rem[0]-48)` [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/rfc5322/types.rs:1286:31 [INFO] [stderr] | [INFO] [stderr] 1286 | + 100 * ((rem[1]-48) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rem[1]-48)` [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/rfc5322/types.rs:1287:30 [INFO] [stderr] | [INFO] [stderr] 1287 | + 10 * ((rem[2]-48) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rem[2]-48)` [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/rfc5322/types.rs:1288:25 [INFO] [stderr] | [INFO] [stderr] 1288 | + ((rem[3]-48) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rem[3]-48)` [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1301:1 [INFO] [stderr] | [INFO] [stderr] 1301 | impl_display!(Year); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1311:12 [INFO] [stderr] | [INFO] [stderr] 1311 | if input.len() == 0 { return Err(ParseError::Eof("Month")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1349:1 [INFO] [stderr] | [INFO] [stderr] 1349 | impl_display!(Month); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1357:12 [INFO] [stderr] | [INFO] [stderr] 1357 | if input.len() == 0 { return Err(ParseError::Eof("Day")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1383:1 [INFO] [stderr] | [INFO] [stderr] 1383 | impl_display!(Day); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1395:12 [INFO] [stderr] | [INFO] [stderr] 1395 | if input.len() == 0 { return Err(ParseError::Eof("Date")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1418:1 [INFO] [stderr] | [INFO] [stderr] 1418 | impl_display!(Date); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1427:12 [INFO] [stderr] | [INFO] [stderr] 1427 | if input.len() == 0 { return Err(ParseError::Eof("DayName")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1455:1 [INFO] [stderr] | [INFO] [stderr] 1455 | impl_display!(DayName); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1466:12 [INFO] [stderr] | [INFO] [stderr] 1466 | if input.len() == 0 { return Err(ParseError::Eof("DayOfWeek")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1489:1 [INFO] [stderr] | [INFO] [stderr] 1489 | impl_display!(DayOfWeek); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1502:12 [INFO] [stderr] | [INFO] [stderr] 1502 | if input.len() == 0 { return Err(ParseError::Eof("DateTime")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1506:16 [INFO] [stderr] | [INFO] [stderr] 1506 | if rem.len() != 0 && rem[0]==b',' { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1542:1 [INFO] [stderr] | [INFO] [stderr] 1542 | impl_display!(DateTime); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1550:12 [INFO] [stderr] | [INFO] [stderr] 1550 | if input.len() == 0 { return Err(ParseError::Eof("No-Fold Literal")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1567:1 [INFO] [stderr] | [INFO] [stderr] 1567 | impl_display!(NoFoldLiteral); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1578:12 [INFO] [stderr] | [INFO] [stderr] 1578 | if input.len() == 0 { return Err(ParseError::Eof("Id-right")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1598:1 [INFO] [stderr] | [INFO] [stderr] 1598 | impl_display!(IdRight); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1606:12 [INFO] [stderr] | [INFO] [stderr] 1606 | if input.len() == 0 { return Err(ParseError::Eof("Id-left")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1619:1 [INFO] [stderr] | [INFO] [stderr] 1619 | impl_display!(IdLeft); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1632:12 [INFO] [stderr] | [INFO] [stderr] 1632 | if input.len() == 0 { return Err(ParseError::Eof("MsgId")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1672:1 [INFO] [stderr] | [INFO] [stderr] 1672 | impl_display!(MsgId); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1685:12 [INFO] [stderr] | [INFO] [stderr] 1685 | if input.len() == 0 { return Err(ParseError::Eof("Received Token")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1713:1 [INFO] [stderr] | [INFO] [stderr] 1713 | impl_display!(ReceivedToken); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rfc5322/types.rs:1742:17 [INFO] [stderr] | [INFO] [stderr] 1742 | / if let &Some(ref c) = c1 { [INFO] [stderr] 1743 | | count += try!(c.stream(w)); [INFO] [stderr] 1744 | | } [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] 1742 | if let Some(ref c) = *c1 { [INFO] [stderr] | ^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rfc5322/types.rs:1746:17 [INFO] [stderr] | [INFO] [stderr] 1746 | / if let &Some(ref c) = c2 { [INFO] [stderr] 1747 | | count += try!(c.stream(w)); [INFO] [stderr] 1748 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1746 | if let Some(ref c) = *c2 { [INFO] [stderr] | ^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rfc5322/types.rs:1750:17 [INFO] [stderr] | [INFO] [stderr] 1750 | / if let &Some(ref c) = c3 { [INFO] [stderr] 1751 | | count += try!(c.stream(w)); [INFO] [stderr] 1752 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1750 | if let Some(ref c) = *c3 { [INFO] [stderr] | ^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1758:1 [INFO] [stderr] | [INFO] [stderr] 1758 | impl_display!(Path); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1767:1 [INFO] [stderr] | [INFO] [stderr] 1767 | impl_display!(FText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1788:1 [INFO] [stderr] | [INFO] [stderr] 1788 | impl_display!(FieldName); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | if input.len() == 0 { return Err(ParseError::Eof("Date")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"date:"` [INFO] [stderr] ... [INFO] [stderr] 69 | req_name!(rem, "date:"); [INFO] [stderr] | ------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"date:"` [INFO] [stderr] ... [INFO] [stderr] 69 | req_name!(rem, "date:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:108:1 [INFO] [stderr] | [INFO] [stderr] 108 | impl_display!(OrigDate); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:116:12 [INFO] [stderr] | [INFO] [stderr] 116 | if input.len() == 0 { return Err(ParseError::Eof("From")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"from:"` [INFO] [stderr] ... [INFO] [stderr] 118 | req_name!(rem, "from:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"from:"` [INFO] [stderr] ... [INFO] [stderr] 118 | req_name!(rem, "from:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:136:1 [INFO] [stderr] | [INFO] [stderr] 136 | impl_display!(From); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:144:12 [INFO] [stderr] | [INFO] [stderr] 144 | if input.len() == 0 { return Err(ParseError::Eof("Sender")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"sender:"` [INFO] [stderr] ... [INFO] [stderr] 146 | req_name!(rem, "sender:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"sender:"` [INFO] [stderr] ... [INFO] [stderr] 146 | req_name!(rem, "sender:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:164:1 [INFO] [stderr] | [INFO] [stderr] 164 | impl_display!(Sender); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:172:12 [INFO] [stderr] | [INFO] [stderr] 172 | if input.len() == 0 { return Err(ParseError::Eof("Reply-To")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"reply-to:"` [INFO] [stderr] ... [INFO] [stderr] 174 | req_name!(rem, "reply-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"reply-to:"` [INFO] [stderr] ... [INFO] [stderr] 174 | req_name!(rem, "reply-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:192:1 [INFO] [stderr] | [INFO] [stderr] 192 | impl_display!(ReplyTo); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:200:12 [INFO] [stderr] | [INFO] [stderr] 200 | if input.len() == 0 { return Err(ParseError::Eof("To")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"to:"` [INFO] [stderr] ... [INFO] [stderr] 202 | req_name!(rem, "to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"to:"` [INFO] [stderr] ... [INFO] [stderr] 202 | req_name!(rem, "to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:220:1 [INFO] [stderr] | [INFO] [stderr] 220 | impl_display!(To); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:228:12 [INFO] [stderr] | [INFO] [stderr] 228 | if input.len() == 0 { return Err(ParseError::Eof("Cc")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"cc:"` [INFO] [stderr] ... [INFO] [stderr] 230 | req_name!(rem, "cc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"cc:"` [INFO] [stderr] ... [INFO] [stderr] 230 | req_name!(rem, "cc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:248:1 [INFO] [stderr] | [INFO] [stderr] 248 | impl_display!(Cc); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:260:12 [INFO] [stderr] | [INFO] [stderr] 260 | if input.len() == 0 { return Err(ParseError::Eof("Bcc")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"bcc:"` [INFO] [stderr] ... [INFO] [stderr] 262 | req_name!(rem, "bcc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"bcc:"` [INFO] [stderr] ... [INFO] [stderr] 262 | req_name!(rem, "bcc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:292:12 [INFO] [stderr] | [INFO] [stderr] 292 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:310:1 [INFO] [stderr] | [INFO] [stderr] 310 | impl_display!(Bcc); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:318:12 [INFO] [stderr] | [INFO] [stderr] 318 | if input.len() == 0 { return Err(ParseError::Eof("MessageId")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"message-id:"` [INFO] [stderr] ... [INFO] [stderr] 320 | req_name!(rem, "message-id:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"message-id:"` [INFO] [stderr] ... [INFO] [stderr] 320 | req_name!(rem, "message-id:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:338:1 [INFO] [stderr] | [INFO] [stderr] 338 | impl_display!(MessageId); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:346:12 [INFO] [stderr] | [INFO] [stderr] 346 | if input.len() == 0 { return Err(ParseError::Eof("InReplyTo")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"in-reply-to:"` [INFO] [stderr] ... [INFO] [stderr] 349 | req_name!(rem, "in-reply-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"in-reply-to:"` [INFO] [stderr] ... [INFO] [stderr] 349 | req_name!(rem, "in-reply-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:357:12 [INFO] [stderr] | [INFO] [stderr] 357 | if contents.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `contents.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:383:12 [INFO] [stderr] | [INFO] [stderr] 383 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:402:1 [INFO] [stderr] | [INFO] [stderr] 402 | impl_display!(InReplyTo); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:410:12 [INFO] [stderr] | [INFO] [stderr] 410 | if input.len() == 0 { return Err(ParseError::Eof("References")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"references:"` [INFO] [stderr] ... [INFO] [stderr] 413 | req_name!(rem, "references:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"references:"` [INFO] [stderr] ... [INFO] [stderr] 413 | req_name!(rem, "references:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:421:12 [INFO] [stderr] | [INFO] [stderr] 421 | if contents.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `contents.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:447:12 [INFO] [stderr] | [INFO] [stderr] 447 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:466:1 [INFO] [stderr] | [INFO] [stderr] 466 | impl_display!(References); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:474:12 [INFO] [stderr] | [INFO] [stderr] 474 | if input.len() == 0 { return Err(ParseError::Eof("Subject")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"subject:"` [INFO] [stderr] ... [INFO] [stderr] 476 | req_name!(rem, "subject:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"subject:"` [INFO] [stderr] ... [INFO] [stderr] 476 | req_name!(rem, "subject:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:494:1 [INFO] [stderr] | [INFO] [stderr] 494 | impl_display!(Subject); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:502:12 [INFO] [stderr] | [INFO] [stderr] 502 | if input.len() == 0 { return Err(ParseError::Eof("Comments")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"comments:"` [INFO] [stderr] ... [INFO] [stderr] 504 | req_name!(rem, "comments:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"comments:"` [INFO] [stderr] ... [INFO] [stderr] 504 | req_name!(rem, "comments:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:522:1 [INFO] [stderr] | [INFO] [stderr] 522 | impl_display!(Comments); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:530:12 [INFO] [stderr] | [INFO] [stderr] 530 | if input.len() == 0 { return Err(ParseError::Eof("Keywords")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"keywords:"` [INFO] [stderr] ... [INFO] [stderr] 532 | req_name!(rem, "keywords:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"keywords:"` [INFO] [stderr] ... [INFO] [stderr] 532 | req_name!(rem, "keywords:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:541:12 [INFO] [stderr] | [INFO] [stderr] 541 | if output.len()==0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:572:12 [INFO] [stderr] | [INFO] [stderr] 572 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:591:1 [INFO] [stderr] | [INFO] [stderr] 591 | impl_display!(Keywords); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:599:12 [INFO] [stderr] | [INFO] [stderr] 599 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Date")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-date:"` [INFO] [stderr] ... [INFO] [stderr] 601 | req_name!(rem, "resent-date:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-date:"` [INFO] [stderr] ... [INFO] [stderr] 601 | req_name!(rem, "resent-date:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:619:1 [INFO] [stderr] | [INFO] [stderr] 619 | impl_display!(ResentDate); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:627:12 [INFO] [stderr] | [INFO] [stderr] 627 | if input.len() == 0 { return Err(ParseError::Eof("Resent-From")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-from:"` [INFO] [stderr] ... [INFO] [stderr] 629 | req_name!(rem, "resent-from:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-from:"` [INFO] [stderr] ... [INFO] [stderr] 629 | req_name!(rem, "resent-from:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:647:1 [INFO] [stderr] | [INFO] [stderr] 647 | impl_display!(ResentFrom); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:655:12 [INFO] [stderr] | [INFO] [stderr] 655 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Sender")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-sender:"` [INFO] [stderr] ... [INFO] [stderr] 657 | req_name!(rem, "resent-sender:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-sender:"` [INFO] [stderr] ... [INFO] [stderr] 657 | req_name!(rem, "resent-sender:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:675:1 [INFO] [stderr] | [INFO] [stderr] 675 | impl_display!(ResentSender); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:683:12 [INFO] [stderr] | [INFO] [stderr] 683 | if input.len() == 0 { return Err(ParseError::Eof("Resent-To")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-to:"` [INFO] [stderr] ... [INFO] [stderr] 685 | req_name!(rem, "resent-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-to:"` [INFO] [stderr] ... [INFO] [stderr] 685 | req_name!(rem, "resent-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:703:1 [INFO] [stderr] | [INFO] [stderr] 703 | impl_display!(ResentTo); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:711:12 [INFO] [stderr] | [INFO] [stderr] 711 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Cc")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-cc:"` [INFO] [stderr] ... [INFO] [stderr] 713 | req_name!(rem, "resent-cc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-cc:"` [INFO] [stderr] ... [INFO] [stderr] 713 | req_name!(rem, "resent-cc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:731:1 [INFO] [stderr] | [INFO] [stderr] 731 | impl_display!(ResentCc); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:743:12 [INFO] [stderr] | [INFO] [stderr] 743 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Bcc")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-bcc:"` [INFO] [stderr] ... [INFO] [stderr] 745 | req_name!(rem, "resent-bcc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-bcc:"` [INFO] [stderr] ... [INFO] [stderr] 745 | req_name!(rem, "resent-bcc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:775:12 [INFO] [stderr] | [INFO] [stderr] 775 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:793:1 [INFO] [stderr] | [INFO] [stderr] 793 | impl_display!(ResentBcc); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:801:12 [INFO] [stderr] | [INFO] [stderr] 801 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Message-ID")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-message-id:"` [INFO] [stderr] ... [INFO] [stderr] 803 | req_name!(rem, "resent-message-id:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-message-id:"` [INFO] [stderr] ... [INFO] [stderr] 803 | req_name!(rem, "resent-message-id:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:821:1 [INFO] [stderr] | [INFO] [stderr] 821 | impl_display!(ResentMessageId); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:840:12 [INFO] [stderr] | [INFO] [stderr] 840 | if input.len() == 0 { return Err(ParseError::Eof("Received")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"received:"` [INFO] [stderr] ... [INFO] [stderr] 842 | req_name!(rem, "received:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"received:"` [INFO] [stderr] ... [INFO] [stderr] 842 | req_name!(rem, "received:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:851:34 [INFO] [stderr] | [INFO] [stderr] 851 | let received_tokens = if tokens.len()==0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `tokens.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:896:41 [INFO] [stderr] | [INFO] [stderr] 896 | let mut fudged_input: Vec = "Received:".as_bytes().to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"Received:"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:900:12 [INFO] [stderr] | [INFO] [stderr] 900 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:921:1 [INFO] [stderr] | [INFO] [stderr] 921 | impl_display!(Received); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"return-path:"` [INFO] [stderr] ... [INFO] [stderr] 930 | req_name!(rem, "return-path:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"return-path:"` [INFO] [stderr] ... [INFO] [stderr] 930 | req_name!(rem, "return-path:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:948:1 [INFO] [stderr] | [INFO] [stderr] 948 | impl_display!(Return); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:999:12 [INFO] [stderr] | [INFO] [stderr] 999 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:1003:12 [INFO] [stderr] | [INFO] [stderr] 1003 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:1018:1 [INFO] [stderr] | [INFO] [stderr] 1018 | impl_display!(OptionalField); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/rfc5322/mod.rs:117:12 [INFO] [stderr] | [INFO] [stderr] 117 | if received.len() < 1 { return Err(ParseError::NotFound("Trace")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `received.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 136 | impl_display!(Trace); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/rfc5322/mod.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | Sender(ResentSender), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 142 | Sender(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 188 | impl_display!(ResentField); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/rfc5322/mod.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | Sender(Sender), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 196 | Sender(Box), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 277 | impl_display!(Field); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/mod.rs:294:16 [INFO] [stderr] | [INFO] [stderr] 294 | if fields.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fields.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 317 | impl_display!(ResentTraceBlock); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/mod.rs:334:16 [INFO] [stderr] | [INFO] [stderr] 334 | if fields.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fields.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 357 | impl_display!(OptTraceBlock); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 388 | impl_display!(TraceBlock); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 448 | impl_display!(Fields); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/mod.rs:479:28 [INFO] [stderr] | [INFO] [stderr] 479 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/mod.rs:504:12 [INFO] [stderr] | [INFO] [stderr] 504 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 517 | impl_display!(Body); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 558 | impl_display!(Message); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `email-format`. [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/tests.rs:376:16 [INFO] [stderr] | [INFO] [stderr] 376 | assert_eq!(match mb2 { [INFO] [stderr] | ________________^ [INFO] [stderr] 377 | | &Mailbox::NameAddr(_) => true, [INFO] [stderr] 378 | | &Mailbox::AddrSpec(_) => false, [INFO] [stderr] 379 | | }, true); [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] 376 | assert_eq!(match *mb2 { [INFO] [stderr] 377 | Mailbox::NameAddr(_) => true, [INFO] [stderr] 378 | Mailbox::AddrSpec(_) => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:549:19 [INFO] [stderr] | [INFO] [stderr] 549 | AText("950910bae2c7eff8d34297870a93dbb8".as_bytes().to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"950910bae2c7eff8d34297870a93dbb8"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:552:19 [INFO] [stderr] | [INFO] [stderr] 552 | AText("a".as_bytes().to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"a"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:553:19 [INFO] [stderr] | [INFO] [stderr] 553 | AText("b".as_bytes().to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"b"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:554:19 [INFO] [stderr] | [INFO] [stderr] 554 | AText("co".as_bytes().to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"co"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:555:19 [INFO] [stderr] | [INFO] [stderr] 555 | AText("nz".as_bytes().to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"nz"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:662:20 [INFO] [stderr] | [INFO] [stderr] 662 | email.set_date("Wed, 6 Jan 2015 15:13:05 +1300".as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"Wed, 6 Jan 2015 15:13:05 +1300"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:669:20 [INFO] [stderr] | [INFO] [stderr] 669 | email.set_from("mike@sample.com".as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mike@sample.com"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:677:22 [INFO] [stderr] | [INFO] [stderr] 677 | email.set_sender("mike@sample.com".as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mike@sample.com"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:685:24 [INFO] [stderr] | [INFO] [stderr] 685 | email.set_reply_to("mike@sample.com".as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mike@sample.com"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:693:18 [INFO] [stderr] | [INFO] [stderr] 693 | email.set_to("mike@sample.com".as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mike@sample.com"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/tests.rs:701:18 [INFO] [stderr] | [INFO] [stderr] 701 | email.set_cc("mike@sample.com, webmaster@sample.com".as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mike@sample.com, webmaster@sample.com"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | impl_display!(VChar); [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | impl_display!(WSP); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | impl_display!(ASCII); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | impl_display!(Digit); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | impl_display!(Alpha); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | impl_display!(QuotedPair); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:80:12 [INFO] [stderr] | [INFO] [stderr] 80 | if rem.len() == 0 { return Err(ParseError::Eof("Folding White Space")); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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/rfc5322/types.rs:81:15 [INFO] [stderr] | [INFO] [stderr] 81 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:101:1 [INFO] [stderr] | [INFO] [stderr] 101 | impl_display!(FWS); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:111:1 [INFO] [stderr] | [INFO] [stderr] 111 | impl_display!(CText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | impl_display!(CContent); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:158:12 [INFO] [stderr] | [INFO] [stderr] 158 | if rem.len() == 0 { return Err(ParseError::Eof("Comment")); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:162:15 [INFO] [stderr] | [INFO] [stderr] 162 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:191:1 [INFO] [stderr] | [INFO] [stderr] 191 | impl_display!(Comment); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:202:12 [INFO] [stderr] | [INFO] [stderr] 202 | if input.len() == 0 { return Err(ParseError::Eof("Comment Folding White Space")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:206:15 [INFO] [stderr] | [INFO] [stderr] 206 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:215:12 [INFO] [stderr] | [INFO] [stderr] 215 | if comments.len() > 0 || ws { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!comments.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:236:1 [INFO] [stderr] | [INFO] [stderr] 236 | impl_display!(CFWS); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:260:1 [INFO] [stderr] | [INFO] [stderr] 260 | impl_display!(AText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:272:12 [INFO] [stderr] | [INFO] [stderr] 272 | if input.len()==0 { return Err(ParseError::Eof("Atom")); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:299:1 [INFO] [stderr] | [INFO] [stderr] 299 | impl_display!(Atom); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:313:15 [INFO] [stderr] | [INFO] [stderr] 313 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:339:1 [INFO] [stderr] | [INFO] [stderr] 339 | impl_display!(DotAtomText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:352:12 [INFO] [stderr] | [INFO] [stderr] 352 | if rem.len() == 0 { return Err(ParseError::Eof("DotAtom")); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:379:1 [INFO] [stderr] | [INFO] [stderr] 379 | impl_display!(DotAtom); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:399:1 [INFO] [stderr] | [INFO] [stderr] 399 | impl_display!(QText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:410:12 [INFO] [stderr] | [INFO] [stderr] 410 | if input.len() == 0 { return Err(ParseError::Eof("QContent")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:430:1 [INFO] [stderr] | [INFO] [stderr] 430 | impl_display!(QContent); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:445:12 [INFO] [stderr] | [INFO] [stderr] 445 | if input.len() == 0 { return Err(ParseError::Eof("QuotedString")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:451:15 [INFO] [stderr] | [INFO] [stderr] 451 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:492:1 [INFO] [stderr] | [INFO] [stderr] 492 | impl_display!(QuotedString); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:503:12 [INFO] [stderr] | [INFO] [stderr] 503 | if input.len() == 0 { return Err(ParseError::Eof("Word")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:523:1 [INFO] [stderr] | [INFO] [stderr] 523 | impl_display!(Word); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:531:12 [INFO] [stderr] | [INFO] [stderr] 531 | if input.len() == 0 { return Err(ParseError::Eof("Phrase")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:537:12 [INFO] [stderr] | [INFO] [stderr] 537 | if output.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:553:1 [INFO] [stderr] | [INFO] [stderr] 553 | impl_display!(Phrase); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:565:12 [INFO] [stderr] | [INFO] [stderr] 565 | if input.len() == 0 { return Err(ParseError::Eof("Unstructured")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:570:15 [INFO] [stderr] | [INFO] [stderr] 570 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:582:12 [INFO] [stderr] | [INFO] [stderr] 582 | if output.len() == 0 { return Err(ParseError::NotFound("Unstructured")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:607:1 [INFO] [stderr] | [INFO] [stderr] 607 | impl_display!(Unstructured); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:618:12 [INFO] [stderr] | [INFO] [stderr] 618 | if input.len() == 0 { return Err(ParseError::Eof("LocalPart")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:638:1 [INFO] [stderr] | [INFO] [stderr] 638 | impl_display!(LocalPart); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:647:1 [INFO] [stderr] | [INFO] [stderr] 647 | impl_display!(DText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:660:12 [INFO] [stderr] | [INFO] [stderr] 660 | if input.len() == 0 { return Err(ParseError::Eof("DomainLiteral")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:666:15 [INFO] [stderr] | [INFO] [stderr] 666 | while rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:703:1 [INFO] [stderr] | [INFO] [stderr] 703 | impl_display!(DomainLiteral); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:714:12 [INFO] [stderr] | [INFO] [stderr] 714 | if input.len() == 0 { return Err(ParseError::Eof("Domain")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:734:1 [INFO] [stderr] | [INFO] [stderr] 734 | impl_display!(Domain); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:745:12 [INFO] [stderr] | [INFO] [stderr] 745 | if input.len() == 0 { return Err(ParseError::Eof("AddrSpec")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:747:16 [INFO] [stderr] | [INFO] [stderr] 747 | if rem.len() > 0 && rem[0]==b'@' { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:766:1 [INFO] [stderr] | [INFO] [stderr] 766 | impl_display!(AddrSpec); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:779:12 [INFO] [stderr] | [INFO] [stderr] 779 | if input.len() == 0 { return Err(ParseError::Eof("AngleAddr")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:810:1 [INFO] [stderr] | [INFO] [stderr] 810 | impl_display!(AngleAddr); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:826:1 [INFO] [stderr] | [INFO] [stderr] 826 | impl_display!(DisplayName); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:837:12 [INFO] [stderr] | [INFO] [stderr] 837 | if input.len() == 0 { return Err(ParseError::Eof("NameAddr")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:859:1 [INFO] [stderr] | [INFO] [stderr] 859 | impl_display!(NameAddr); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:870:12 [INFO] [stderr] | [INFO] [stderr] 870 | if input.len() == 0 { return Err(ParseError::Eof("Mailbox")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:890:1 [INFO] [stderr] | [INFO] [stderr] 890 | impl_display!(Mailbox); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:898:12 [INFO] [stderr] | [INFO] [stderr] 898 | if input.len() == 0 { return Err(ParseError::Eof("Mailbox List")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:905:16 [INFO] [stderr] | [INFO] [stderr] 905 | if rem.len()==0 || rem[0]!=b',' { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:911:12 [INFO] [stderr] | [INFO] [stderr] 911 | if output.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:932:1 [INFO] [stderr] | [INFO] [stderr] 932 | impl_display!(MailboxList); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:943:12 [INFO] [stderr] | [INFO] [stderr] 943 | if input.len() == 0 { return Err(ParseError::Eof("Group List")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:963:1 [INFO] [stderr] | [INFO] [stderr] 963 | impl_display!(GroupList); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:975:12 [INFO] [stderr] | [INFO] [stderr] 975 | if input.len() == 0 { return Err(ParseError::Eof("Group")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1006:1 [INFO] [stderr] | [INFO] [stderr] 1006 | impl_display!(Group); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/rfc5322/types.rs:1012:5 [INFO] [stderr] | [INFO] [stderr] 1012 | Mailbox(Mailbox), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 1012 | Mailbox(Box), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1017:12 [INFO] [stderr] | [INFO] [stderr] 1017 | if input.len() == 0 { return Err(ParseError::Eof("Address")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1037:1 [INFO] [stderr] | [INFO] [stderr] 1037 | impl_display!(Address); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1045:12 [INFO] [stderr] | [INFO] [stderr] 1045 | if input.len() == 0 { return Err(ParseError::Eof("Address List")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1052:16 [INFO] [stderr] | [INFO] [stderr] 1052 | if rem.len()==0 || rem[0]!=b',' { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1058:12 [INFO] [stderr] | [INFO] [stderr] 1058 | if output.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1079:1 [INFO] [stderr] | [INFO] [stderr] 1079 | impl_display!(AddressList); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1087:12 [INFO] [stderr] | [INFO] [stderr] 1087 | if input.len() == 0 { return Err(ParseError::Eof("Zone")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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 i32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1100:30 [INFO] [stderr] | [INFO] [stderr] 1100 | let v: i32 = (1000 * ((rem[1]-48) as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rem[1]-48)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1101:31 [INFO] [stderr] | [INFO] [stderr] 1101 | + 100 * ((rem[2]-48) as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rem[2]-48)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1102:30 [INFO] [stderr] | [INFO] [stderr] 1102 | + 10 * ((rem[3]-48) as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rem[3]-48)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1103:25 [INFO] [stderr] | [INFO] [stderr] 1103 | + ((rem[4]-48) as i32)) * sign; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rem[4]-48)` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rfc5322/types.rs:1110:13 [INFO] [stderr] | [INFO] [stderr] 1110 | try!(w.write(b" -")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rfc5322/types.rs:1113:13 [INFO] [stderr] | [INFO] [stderr] 1113 | try!(w.write(b" +")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1120:1 [INFO] [stderr] | [INFO] [stderr] 1120 | impl_display!(Zone); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1128:12 [INFO] [stderr] | [INFO] [stderr] 1128 | if input.len() == 0 { return Err(ParseError::Eof("Second")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1143:1 [INFO] [stderr] | [INFO] [stderr] 1143 | impl_display!(Second); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1151:12 [INFO] [stderr] | [INFO] [stderr] 1151 | if input.len() == 0 { return Err(ParseError::Eof("Minute")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1166:1 [INFO] [stderr] | [INFO] [stderr] 1166 | impl_display!(Minute); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1174:12 [INFO] [stderr] | [INFO] [stderr] 1174 | if input.len() == 0 { return Err(ParseError::Eof("Hour")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1189:1 [INFO] [stderr] | [INFO] [stderr] 1189 | impl_display!(Hour); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1201:12 [INFO] [stderr] | [INFO] [stderr] 1201 | if input.len() == 0 { return Err(ParseError::Eof("TimeOfDay")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1207:20 [INFO] [stderr] | [INFO] [stderr] 1207 | if rem.len() > 0 && rem[0]==b':' { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1239:1 [INFO] [stderr] | [INFO] [stderr] 1239 | impl_display!(TimeOfDay); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1250:12 [INFO] [stderr] | [INFO] [stderr] 1250 | if input.len() == 0 { return Err(ParseError::Eof("Time")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1269:1 [INFO] [stderr] | [INFO] [stderr] 1269 | impl_display!(Time); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1277:12 [INFO] [stderr] | [INFO] [stderr] 1277 | if input.len() == 0 { return Err(ParseError::Eof("Year")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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 u32 may become silently lossy if types change [INFO] [stderr] --> src/rfc5322/types.rs:1285:29 [INFO] [stderr] | [INFO] [stderr] 1285 | let v: u32 = 1000 * ((rem[0]-48) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rem[0]-48)` [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/rfc5322/types.rs:1286:31 [INFO] [stderr] | [INFO] [stderr] 1286 | + 100 * ((rem[1]-48) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rem[1]-48)` [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/rfc5322/types.rs:1287:30 [INFO] [stderr] | [INFO] [stderr] 1287 | + 10 * ((rem[2]-48) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rem[2]-48)` [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/rfc5322/types.rs:1288:25 [INFO] [stderr] | [INFO] [stderr] 1288 | + ((rem[3]-48) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rem[3]-48)` [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1301:1 [INFO] [stderr] | [INFO] [stderr] 1301 | impl_display!(Year); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1311:12 [INFO] [stderr] | [INFO] [stderr] 1311 | if input.len() == 0 { return Err(ParseError::Eof("Month")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1349:1 [INFO] [stderr] | [INFO] [stderr] 1349 | impl_display!(Month); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1357:12 [INFO] [stderr] | [INFO] [stderr] 1357 | if input.len() == 0 { return Err(ParseError::Eof("Day")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1383:1 [INFO] [stderr] | [INFO] [stderr] 1383 | impl_display!(Day); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1395:12 [INFO] [stderr] | [INFO] [stderr] 1395 | if input.len() == 0 { return Err(ParseError::Eof("Date")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1418:1 [INFO] [stderr] | [INFO] [stderr] 1418 | impl_display!(Date); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1427:12 [INFO] [stderr] | [INFO] [stderr] 1427 | if input.len() == 0 { return Err(ParseError::Eof("DayName")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1455:1 [INFO] [stderr] | [INFO] [stderr] 1455 | impl_display!(DayName); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1466:12 [INFO] [stderr] | [INFO] [stderr] 1466 | if input.len() == 0 { return Err(ParseError::Eof("DayOfWeek")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1489:1 [INFO] [stderr] | [INFO] [stderr] 1489 | impl_display!(DayOfWeek); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1502:12 [INFO] [stderr] | [INFO] [stderr] 1502 | if input.len() == 0 { return Err(ParseError::Eof("DateTime")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1506:16 [INFO] [stderr] | [INFO] [stderr] 1506 | if rem.len() != 0 && rem[0]==b',' { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1542:1 [INFO] [stderr] | [INFO] [stderr] 1542 | impl_display!(DateTime); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1550:12 [INFO] [stderr] | [INFO] [stderr] 1550 | if input.len() == 0 { return Err(ParseError::Eof("No-Fold Literal")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1567:1 [INFO] [stderr] | [INFO] [stderr] 1567 | impl_display!(NoFoldLiteral); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1578:12 [INFO] [stderr] | [INFO] [stderr] 1578 | if input.len() == 0 { return Err(ParseError::Eof("Id-right")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1598:1 [INFO] [stderr] | [INFO] [stderr] 1598 | impl_display!(IdRight); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1606:12 [INFO] [stderr] | [INFO] [stderr] 1606 | if input.len() == 0 { return Err(ParseError::Eof("Id-left")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1619:1 [INFO] [stderr] | [INFO] [stderr] 1619 | impl_display!(IdLeft); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1632:12 [INFO] [stderr] | [INFO] [stderr] 1632 | if input.len() == 0 { return Err(ParseError::Eof("MsgId")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1672:1 [INFO] [stderr] | [INFO] [stderr] 1672 | impl_display!(MsgId); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/types.rs:1685:12 [INFO] [stderr] | [INFO] [stderr] 1685 | if input.len() == 0 { return Err(ParseError::Eof("Received Token")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1713:1 [INFO] [stderr] | [INFO] [stderr] 1713 | impl_display!(ReceivedToken); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rfc5322/types.rs:1742:17 [INFO] [stderr] | [INFO] [stderr] 1742 | / if let &Some(ref c) = c1 { [INFO] [stderr] 1743 | | count += try!(c.stream(w)); [INFO] [stderr] 1744 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1742 | if let Some(ref c) = *c1 { [INFO] [stderr] | ^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rfc5322/types.rs:1746:17 [INFO] [stderr] | [INFO] [stderr] 1746 | / if let &Some(ref c) = c2 { [INFO] [stderr] 1747 | | count += try!(c.stream(w)); [INFO] [stderr] 1748 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1746 | if let Some(ref c) = *c2 { [INFO] [stderr] | ^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rfc5322/types.rs:1750:17 [INFO] [stderr] | [INFO] [stderr] 1750 | / if let &Some(ref c) = c3 { [INFO] [stderr] 1751 | | count += try!(c.stream(w)); [INFO] [stderr] 1752 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1750 | if let Some(ref c) = *c3 { [INFO] [stderr] | ^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1758:1 [INFO] [stderr] | [INFO] [stderr] 1758 | impl_display!(Path); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1767:1 [INFO] [stderr] | [INFO] [stderr] 1767 | impl_display!(FText); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/types.rs:1788:1 [INFO] [stderr] | [INFO] [stderr] 1788 | impl_display!(FieldName); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | if input.len() == 0 { return Err(ParseError::Eof("Date")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"date:"` [INFO] [stderr] ... [INFO] [stderr] 69 | req_name!(rem, "date:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"date:"` [INFO] [stderr] ... [INFO] [stderr] 69 | req_name!(rem, "date:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:108:1 [INFO] [stderr] | [INFO] [stderr] 108 | impl_display!(OrigDate); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:116:12 [INFO] [stderr] | [INFO] [stderr] 116 | if input.len() == 0 { return Err(ParseError::Eof("From")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"from:"` [INFO] [stderr] ... [INFO] [stderr] 118 | req_name!(rem, "from:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"from:"` [INFO] [stderr] ... [INFO] [stderr] 118 | req_name!(rem, "from:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:136:1 [INFO] [stderr] | [INFO] [stderr] 136 | impl_display!(From); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:144:12 [INFO] [stderr] | [INFO] [stderr] 144 | if input.len() == 0 { return Err(ParseError::Eof("Sender")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"sender:"` [INFO] [stderr] ... [INFO] [stderr] 146 | req_name!(rem, "sender:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"sender:"` [INFO] [stderr] ... [INFO] [stderr] 146 | req_name!(rem, "sender:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:164:1 [INFO] [stderr] | [INFO] [stderr] 164 | impl_display!(Sender); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:172:12 [INFO] [stderr] | [INFO] [stderr] 172 | if input.len() == 0 { return Err(ParseError::Eof("Reply-To")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"reply-to:"` [INFO] [stderr] ... [INFO] [stderr] 174 | req_name!(rem, "reply-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"reply-to:"` [INFO] [stderr] ... [INFO] [stderr] 174 | req_name!(rem, "reply-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:192:1 [INFO] [stderr] | [INFO] [stderr] 192 | impl_display!(ReplyTo); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:200:12 [INFO] [stderr] | [INFO] [stderr] 200 | if input.len() == 0 { return Err(ParseError::Eof("To")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"to:"` [INFO] [stderr] ... [INFO] [stderr] 202 | req_name!(rem, "to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"to:"` [INFO] [stderr] ... [INFO] [stderr] 202 | req_name!(rem, "to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:220:1 [INFO] [stderr] | [INFO] [stderr] 220 | impl_display!(To); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:228:12 [INFO] [stderr] | [INFO] [stderr] 228 | if input.len() == 0 { return Err(ParseError::Eof("Cc")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"cc:"` [INFO] [stderr] ... [INFO] [stderr] 230 | req_name!(rem, "cc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"cc:"` [INFO] [stderr] ... [INFO] [stderr] 230 | req_name!(rem, "cc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:248:1 [INFO] [stderr] | [INFO] [stderr] 248 | impl_display!(Cc); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:260:12 [INFO] [stderr] | [INFO] [stderr] 260 | if input.len() == 0 { return Err(ParseError::Eof("Bcc")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"bcc:"` [INFO] [stderr] ... [INFO] [stderr] 262 | req_name!(rem, "bcc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"bcc:"` [INFO] [stderr] ... [INFO] [stderr] 262 | req_name!(rem, "bcc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:292:12 [INFO] [stderr] | [INFO] [stderr] 292 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:310:1 [INFO] [stderr] | [INFO] [stderr] 310 | impl_display!(Bcc); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:318:12 [INFO] [stderr] | [INFO] [stderr] 318 | if input.len() == 0 { return Err(ParseError::Eof("MessageId")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"message-id:"` [INFO] [stderr] ... [INFO] [stderr] 320 | req_name!(rem, "message-id:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"message-id:"` [INFO] [stderr] ... [INFO] [stderr] 320 | req_name!(rem, "message-id:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:338:1 [INFO] [stderr] | [INFO] [stderr] 338 | impl_display!(MessageId); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:346:12 [INFO] [stderr] | [INFO] [stderr] 346 | if input.len() == 0 { return Err(ParseError::Eof("InReplyTo")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"in-reply-to:"` [INFO] [stderr] ... [INFO] [stderr] 349 | req_name!(rem, "in-reply-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"in-reply-to:"` [INFO] [stderr] ... [INFO] [stderr] 349 | req_name!(rem, "in-reply-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:357:12 [INFO] [stderr] | [INFO] [stderr] 357 | if contents.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `contents.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:383:12 [INFO] [stderr] | [INFO] [stderr] 383 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:402:1 [INFO] [stderr] | [INFO] [stderr] 402 | impl_display!(InReplyTo); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:410:12 [INFO] [stderr] | [INFO] [stderr] 410 | if input.len() == 0 { return Err(ParseError::Eof("References")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"references:"` [INFO] [stderr] ... [INFO] [stderr] 413 | req_name!(rem, "references:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"references:"` [INFO] [stderr] ... [INFO] [stderr] 413 | req_name!(rem, "references:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:421:12 [INFO] [stderr] | [INFO] [stderr] 421 | if contents.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `contents.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:447:12 [INFO] [stderr] | [INFO] [stderr] 447 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:466:1 [INFO] [stderr] | [INFO] [stderr] 466 | impl_display!(References); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:474:12 [INFO] [stderr] | [INFO] [stderr] 474 | if input.len() == 0 { return Err(ParseError::Eof("Subject")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"subject:"` [INFO] [stderr] ... [INFO] [stderr] 476 | req_name!(rem, "subject:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"subject:"` [INFO] [stderr] ... [INFO] [stderr] 476 | req_name!(rem, "subject:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:494:1 [INFO] [stderr] | [INFO] [stderr] 494 | impl_display!(Subject); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:502:12 [INFO] [stderr] | [INFO] [stderr] 502 | if input.len() == 0 { return Err(ParseError::Eof("Comments")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"comments:"` [INFO] [stderr] ... [INFO] [stderr] 504 | req_name!(rem, "comments:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"comments:"` [INFO] [stderr] ... [INFO] [stderr] 504 | req_name!(rem, "comments:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:522:1 [INFO] [stderr] | [INFO] [stderr] 522 | impl_display!(Comments); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:530:12 [INFO] [stderr] | [INFO] [stderr] 530 | if input.len() == 0 { return Err(ParseError::Eof("Keywords")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"keywords:"` [INFO] [stderr] ... [INFO] [stderr] 532 | req_name!(rem, "keywords:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"keywords:"` [INFO] [stderr] ... [INFO] [stderr] 532 | req_name!(rem, "keywords:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:541:12 [INFO] [stderr] | [INFO] [stderr] 541 | if output.len()==0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `output.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:572:12 [INFO] [stderr] | [INFO] [stderr] 572 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:591:1 [INFO] [stderr] | [INFO] [stderr] 591 | impl_display!(Keywords); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:599:12 [INFO] [stderr] | [INFO] [stderr] 599 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Date")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-date:"` [INFO] [stderr] ... [INFO] [stderr] 601 | req_name!(rem, "resent-date:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-date:"` [INFO] [stderr] ... [INFO] [stderr] 601 | req_name!(rem, "resent-date:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:619:1 [INFO] [stderr] | [INFO] [stderr] 619 | impl_display!(ResentDate); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:627:12 [INFO] [stderr] | [INFO] [stderr] 627 | if input.len() == 0 { return Err(ParseError::Eof("Resent-From")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-from:"` [INFO] [stderr] ... [INFO] [stderr] 629 | req_name!(rem, "resent-from:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-from:"` [INFO] [stderr] ... [INFO] [stderr] 629 | req_name!(rem, "resent-from:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:647:1 [INFO] [stderr] | [INFO] [stderr] 647 | impl_display!(ResentFrom); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:655:12 [INFO] [stderr] | [INFO] [stderr] 655 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Sender")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-sender:"` [INFO] [stderr] ... [INFO] [stderr] 657 | req_name!(rem, "resent-sender:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-sender:"` [INFO] [stderr] ... [INFO] [stderr] 657 | req_name!(rem, "resent-sender:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:675:1 [INFO] [stderr] | [INFO] [stderr] 675 | impl_display!(ResentSender); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:683:12 [INFO] [stderr] | [INFO] [stderr] 683 | if input.len() == 0 { return Err(ParseError::Eof("Resent-To")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-to:"` [INFO] [stderr] ... [INFO] [stderr] 685 | req_name!(rem, "resent-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-to:"` [INFO] [stderr] ... [INFO] [stderr] 685 | req_name!(rem, "resent-to:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:703:1 [INFO] [stderr] | [INFO] [stderr] 703 | impl_display!(ResentTo); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:711:12 [INFO] [stderr] | [INFO] [stderr] 711 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Cc")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-cc:"` [INFO] [stderr] ... [INFO] [stderr] 713 | req_name!(rem, "resent-cc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-cc:"` [INFO] [stderr] ... [INFO] [stderr] 713 | req_name!(rem, "resent-cc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:731:1 [INFO] [stderr] | [INFO] [stderr] 731 | impl_display!(ResentCc); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:743:12 [INFO] [stderr] | [INFO] [stderr] 743 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Bcc")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-bcc:"` [INFO] [stderr] ... [INFO] [stderr] 745 | req_name!(rem, "resent-bcc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-bcc:"` [INFO] [stderr] ... [INFO] [stderr] 745 | req_name!(rem, "resent-bcc:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:775:12 [INFO] [stderr] | [INFO] [stderr] 775 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:793:1 [INFO] [stderr] | [INFO] [stderr] 793 | impl_display!(ResentBcc); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:801:12 [INFO] [stderr] | [INFO] [stderr] 801 | if input.len() == 0 { return Err(ParseError::Eof("Resent-Message-ID")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-message-id:"` [INFO] [stderr] ... [INFO] [stderr] 803 | req_name!(rem, "resent-message-id:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"resent-message-id:"` [INFO] [stderr] ... [INFO] [stderr] 803 | req_name!(rem, "resent-message-id:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:821:1 [INFO] [stderr] | [INFO] [stderr] 821 | impl_display!(ResentMessageId); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:840:12 [INFO] [stderr] | [INFO] [stderr] 840 | if input.len() == 0 { return Err(ParseError::Eof("Received")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"received:"` [INFO] [stderr] ... [INFO] [stderr] 842 | req_name!(rem, "received:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"received:"` [INFO] [stderr] ... [INFO] [stderr] 842 | req_name!(rem, "received:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:851:34 [INFO] [stderr] | [INFO] [stderr] 851 | let received_tokens = if tokens.len()==0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `tokens.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:896:41 [INFO] [stderr] | [INFO] [stderr] 896 | let mut fudged_input: Vec = "Received:".as_bytes().to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"Received:"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:900:12 [INFO] [stderr] | [INFO] [stderr] 900 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:921:1 [INFO] [stderr] | [INFO] [stderr] 921 | impl_display!(Received); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let len: usize = $str.as_bytes().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"return-path:"` [INFO] [stderr] ... [INFO] [stderr] 930 | req_name!(rem, "return-path:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/rfc5322/headers.rs:14:66 [INFO] [stderr] | [INFO] [stderr] 14 | &(&$rem[0..len]).to_ascii_lowercase().as_slice() != &$str.as_bytes() [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"return-path:"` [INFO] [stderr] ... [INFO] [stderr] 930 | req_name!(rem, "return-path:"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:948:1 [INFO] [stderr] | [INFO] [stderr] 948 | impl_display!(Return); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:999:12 [INFO] [stderr] | [INFO] [stderr] 999 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/headers.rs:1003:12 [INFO] [stderr] | [INFO] [stderr] 1003 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] | [INFO] [stderr] ::: src/rfc5322/headers.rs:1018:1 [INFO] [stderr] | [INFO] [stderr] 1018 | impl_display!(OptionalField); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/rfc5322/mod.rs:117:12 [INFO] [stderr] | [INFO] [stderr] 117 | if received.len() < 1 { return Err(ParseError::NotFound("Trace")); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `received.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 136 | impl_display!(Trace); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/rfc5322/mod.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | Sender(ResentSender), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 142 | Sender(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 188 | impl_display!(ResentField); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/rfc5322/mod.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | Sender(Sender), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 196 | Sender(Box), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 277 | impl_display!(Field); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/mod.rs:294:16 [INFO] [stderr] | [INFO] [stderr] 294 | if fields.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fields.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 317 | impl_display!(ResentTraceBlock); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/mod.rs:334:16 [INFO] [stderr] | [INFO] [stderr] 334 | if fields.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fields.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 357 | impl_display!(OptTraceBlock); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 388 | impl_display!(TraceBlock); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 448 | impl_display!(Fields); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rfc5322/mod.rs:479:28 [INFO] [stderr] | [INFO] [stderr] 479 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: length comparison to zero [INFO] [stderr] --> src/rfc5322/mod.rs:504:12 [INFO] [stderr] | [INFO] [stderr] 504 | if rem.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 517 | impl_display!(Body); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/rfc5322/mod.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | if let Err(_) = self.stream(&mut output) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 64 | | return Err(::std::fmt::Error); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________- help: try this: `if self.stream(&mut output).is_err()` [INFO] [stderr] ... [INFO] [stderr] 558 | impl_display!(Message); [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_pattern_matching [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `email-format`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "2bc8650c024686cec8a100f590da66b4633bbbf5180f90ddd75e05e060918a25"` [INFO] running `"docker" "rm" "-f" "2bc8650c024686cec8a100f590da66b4633bbbf5180f90ddd75e05e060918a25"` [INFO] [stdout] 2bc8650c024686cec8a100f590da66b4633bbbf5180f90ddd75e05e060918a25