[INFO] updating cached repository dekellum/hyperx [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/dekellum/hyperx [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/dekellum/hyperx" "work/ex/clippy-test-run/sources/stable/gh/dekellum/hyperx"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/dekellum/hyperx'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/dekellum/hyperx" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dekellum/hyperx"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dekellum/hyperx'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] db9015cd56cf9ebfd29ec52c5763a120c76a15c6 [INFO] sha for GitHub repo dekellum/hyperx: db9015cd56cf9ebfd29ec52c5763a120c76a15c6 [INFO] validating manifest of dekellum/hyperx 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 dekellum/hyperx 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 dekellum/hyperx [INFO] finished frobbing dekellum/hyperx [INFO] frobbed toml for dekellum/hyperx written to work/ex/clippy-test-run/sources/stable/gh/dekellum/hyperx/Cargo.toml [INFO] started frobbing dekellum/hyperx [INFO] finished frobbing dekellum/hyperx [INFO] frobbed toml for dekellum/hyperx written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dekellum/hyperx/Cargo.toml [INFO] crate dekellum/hyperx has a lockfile. skipping [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 dekellum/hyperx against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/dekellum/hyperx:/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] 7ec8e88f3e5c2b4c44a095233b01322f6f395a9937bd6a9548d4c2743c54a23c [INFO] running `"docker" "start" "-a" "7ec8e88f3e5c2b4c44a095233b01322f6f395a9937bd6a9548d4c2743c54a23c"` [INFO] [stderr] Checking http v0.1.11 [INFO] [stderr] Checking hyperx v0.13.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/header/common/authorization.rs:188:25 [INFO] [stderr] | [INFO] [stderr] 188 | password: password [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `password` [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/header/common/content_range.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | range: range, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `range` [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/header/common/content_range.rs:148:21 [INFO] [stderr] | [INFO] [stderr] 148 | instance_length: instance_length [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instance_length` [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/header/common/host.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [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/header/common/origin.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | scheme: scheme, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `scheme` [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/header/common/origin.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | host: host [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `host` [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/header/common/strict_transport_security.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | max_age: max_age, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `max_age` [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/header/common/strict_transport_security.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | max_age: max_age, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `max_age` [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/header/common/upgrade.rs:140:20 [INFO] [stderr] | [INFO] [stderr] 140 | Protocol { name: name, version: version } [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/header/common/upgrade.rs:140:32 [INFO] [stderr] | [INFO] [stderr] 140 | Protocol { name: name, version: version } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/header/common/warning.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | code: code, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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/header/common/warning.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | agent: agent, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `agent` [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/header/common/warning.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | text: text, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `text` [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/header/common/warning.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | 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/header/internals/vec_map.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/header/internals/vec_map.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [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/header/shared/entity.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | EntityTag { weak: weak, tag: tag } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `weak` [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/header/shared/entity.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | EntityTag { weak: weak, tag: tag } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `tag` [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/header/shared/quality_item.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | item: item, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `item` [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/header/shared/quality_item.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | quality: quality [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `quality` [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/header/parsing.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | charset: charset, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `charset` [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/header/parsing.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | 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/header/common/authorization.rs:188:25 [INFO] [stderr] | [INFO] [stderr] 188 | password: password [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `password` [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/header/common/content_range.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | range: range, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `range` [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/header/common/content_range.rs:148:21 [INFO] [stderr] | [INFO] [stderr] 148 | instance_length: instance_length [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instance_length` [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/header/common/host.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [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/header/common/origin.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | scheme: scheme, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `scheme` [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/header/common/origin.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | host: host [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `host` [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/header/common/strict_transport_security.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | max_age: max_age, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `max_age` [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/header/common/strict_transport_security.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | max_age: max_age, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `max_age` [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/header/common/upgrade.rs:140:20 [INFO] [stderr] | [INFO] [stderr] 140 | Protocol { name: name, version: version } [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/header/common/upgrade.rs:140:32 [INFO] [stderr] | [INFO] [stderr] 140 | Protocol { name: name, version: version } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/header/common/warning.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | code: code, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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/header/common/warning.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | agent: agent, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `agent` [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/header/common/warning.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | text: text, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `text` [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/header/common/warning.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | 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/header/internals/vec_map.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/header/internals/vec_map.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [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/header/shared/entity.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | EntityTag { weak: weak, tag: tag } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `weak` [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/header/shared/entity.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | EntityTag { weak: weak, tag: tag } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `tag` [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/header/shared/quality_item.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | item: item, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `item` [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/header/shared/quality_item.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | quality: quality [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `quality` [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/header/parsing.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | charset: charset, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `charset` [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/header/parsing.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | 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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/header/common/access_control_allow_credentials.rs:43:47 [INFO] [stderr] | [INFO] [stderr] 43 | const ACCESS_CONTROL_ALLOW_CREDENTIALS_TRUE: &'static str = "true"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/header/common/access_control_allow_credentials.rs:43:47 [INFO] [stderr] | [INFO] [stderr] 43 | const ACCESS_CONTROL_ALLOW_CREDENTIALS_TRUE: &'static str = "true"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/header/common/strict_transport_security.rs:157:95 [INFO] [stderr] | [INFO] [stderr] 157 | assert_eq!(h.ok(), Some(StrictTransportSecurity { include_subdomains: false, max_age: 31536000u64 })); [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `31_536_000u64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/header/common/strict_transport_security.rs:169:95 [INFO] [stderr] | [INFO] [stderr] 169 | assert_eq!(h.ok(), Some(StrictTransportSecurity { include_subdomains: false, max_age: 31536000u64 })); [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `31_536_000u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/header/common/strict_transport_security.rs:175:95 [INFO] [stderr] | [INFO] [stderr] 175 | assert_eq!(h.ok(), Some(StrictTransportSecurity { include_subdomains: false, max_age: 31536000u64 })); [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `31_536_000u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/header/common/strict_transport_security.rs:181:94 [INFO] [stderr] | [INFO] [stderr] 181 | assert_eq!(h.ok(), Some(StrictTransportSecurity { include_subdomains: true, max_age: 15768000u64 })); [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `15_768_000u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/method.rs:98:19 [INFO] [stderr] | [INFO] [stderr] 98 | $n => match s { [INFO] [stderr] | ___________________^ [INFO] [stderr] 99 | | $( [INFO] [stderr] 100 | | $text => return Ok($var), [INFO] [stderr] 101 | | )* [INFO] [stderr] 102 | | _ => {}, [INFO] [stderr] 103 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 115 | / from_str!(s, { [INFO] [stderr] 116 | | 3 => { [INFO] [stderr] 117 | | "GET" => Get, [INFO] [stderr] 118 | | "PUT" => Put, [INFO] [stderr] ... | [INFO] [stderr] 134 | | }, [INFO] [stderr] 135 | | }) [INFO] [stderr] | |__________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 98 | $n => if let "DELETE" = s { from_str!(s, { [INFO] [stderr] 99 | 3 => { [INFO] [stderr] 100 | "GET" => Get, [INFO] [stderr] 101 | "PUT" => Put, [INFO] [stderr] 102 | }, [INFO] [stderr] 103 | 4 => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `header::common::cookie::Cookie` [INFO] [stderr] --> src/header/common/cookie.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn new() -> Cookie { [INFO] [stderr] 39 | | Cookie(VecMap::with_capacity(0)) [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 36 | impl Default for header::common::cookie::Cookie { [INFO] [stderr] 37 | fn default() -> Self { [INFO] [stderr] 38 | Self::new() [INFO] [stderr] 39 | } [INFO] [stderr] 40 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:313:21 [INFO] [stderr] | [INFO] [stderr] 313 | let mut v = self.rel.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.rel.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:331:21 [INFO] [stderr] | [INFO] [stderr] 331 | let mut v = self.rev.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.rev.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:342:21 [INFO] [stderr] | [INFO] [stderr] 342 | let mut v = self.href_lang.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.href_lang.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:353:21 [INFO] [stderr] | [INFO] [stderr] 353 | let mut v = self.media_desc.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.media_desc.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:553:33 [INFO] [stderr] | [INFO] [stderr] 553 | let mut v = link_header.href_lang.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `link_header.href_lang.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 41 [INFO] [stderr] --> src/header/common/link.rs:719:5 [INFO] [stderr] | [INFO] [stderr] 719 | / fn from_str(s: &str) -> ::Result { [INFO] [stderr] 720 | | if "alternate".eq_ignore_ascii_case(s) { [INFO] [stderr] 721 | | Ok(RelationType::Alternate) [INFO] [stderr] 722 | | } else if "appendix".eq_ignore_ascii_case(s) { [INFO] [stderr] ... | [INFO] [stderr] 802 | | } [INFO] [stderr] 803 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/header/common/link.rs:857:8 [INFO] [stderr] | [INFO] [stderr] 857 | if p.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!p.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/header/common/origin.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | / match self { [INFO] [stderr] 67 | | &Origin(OriginOrNull::Null) => true, [INFO] [stderr] 68 | | _ => false, [INFO] [stderr] 69 | | } [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] 66 | match *self { [INFO] [stderr] 67 | Origin(OriginOrNull::Null) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/header/common/origin.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | / match self { [INFO] [stderr] 81 | | &Origin(OriginOrNull::Origin { ref scheme, .. }) => Some(&scheme), [INFO] [stderr] 82 | | _ => None, [INFO] [stderr] 83 | | } [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] 80 | match *self { [INFO] [stderr] 81 | Origin(OriginOrNull::Origin { ref scheme, .. }) => Some(&scheme), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/header/common/origin.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / match self { [INFO] [stderr] 95 | | &Origin(OriginOrNull::Origin { ref host, .. }) => Some(&host), [INFO] [stderr] 96 | | _ => None, [INFO] [stderr] 97 | | } [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] 94 | match *self { [INFO] [stderr] 95 | Origin(OriginOrNull::Origin { ref host, .. }) => Some(&host), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/header/common/range.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | / match self { [INFO] [stderr] 122 | | &ByteRangeSpec::FromTo(from, to) => { [INFO] [stderr] 123 | | if from < full_length && from <= to { [INFO] [stderr] 124 | | Some((from, ::std::cmp::min(to, full_length - 1))) [INFO] [stderr] ... | [INFO] [stderr] 149 | | } [INFO] [stderr] 150 | | } [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] 121 | match *self { [INFO] [stderr] 122 | ByteRangeSpec::FromTo(from, to) => { [INFO] [stderr] 123 | if from < full_length && from <= to { [INFO] [stderr] 124 | Some((from, ::std::cmp::min(to, full_length - 1))) [INFO] [stderr] 125 | } else { [INFO] [stderr] 126 | None [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: called `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/header/common/warning.rs:137:26 [INFO] [stderr] | [INFO] [stderr] 137 | let date = match warning_split.skip(1).next() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/header/internals/item.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | parse::(self.raw.as_ref().expect("item.raw must exist")).map(|typed| { [INFO] [stderr] | _____________^ [INFO] [stderr] | |_____________| [INFO] [stderr] | || [INFO] [stderr] 72 | || unsafe { self.typed.insert(tid, typed); } [INFO] [stderr] 73 | || }); [INFO] [stderr] | ||______________^- help: try this: `if let Some(typed) = parse::(self.raw.as_ref().expect("item.raw must exist")) { self.typed.insert(tid, typed); }` [INFO] [stderr] | |_______________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: item `header::raw::Raw` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/header/raw.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / impl Raw { [INFO] [stderr] 10 | | /// Returns the amount of lines. [INFO] [stderr] 11 | | #[inline] [INFO] [stderr] 12 | | pub fn len(&self) -> usize { [INFO] [stderr] ... | [INFO] [stderr] 67 | | } [INFO] [stderr] 68 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/header/raw.rs:195:20 [INFO] [stderr] | [INFO] [stderr] 195 | Raw(Lines::One(From::from(val))) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `From::from()`: `val` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/header/parsing.rs:34:37 [INFO] [stderr] | [INFO] [stderr] 34 | let s = try!(str::from_utf8(s.as_ref())); [INFO] [stderr] | ^^^^^^^^^^ help: try this: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `fmt_header` which has no body [INFO] [stderr] --> src/header/mod.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 136 | | fn fmt_header(&self, f: &mut Formatter) -> fmt::Result; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: item `header::Headers` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/header/mod.rs:371:1 [INFO] [stderr] | [INFO] [stderr] 371 | / impl Headers { [INFO] [stderr] 372 | | [INFO] [stderr] 373 | | /// Creates a new, empty headers map. [INFO] [stderr] 374 | | #[inline] [INFO] [stderr] ... | [INFO] [stderr] 528 | | [INFO] [stderr] 529 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/uri.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | #[derive(Clone, Hash)] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/uri.rs:272:1 [INFO] [stderr] | [INFO] [stderr] 272| / impl PartialEq for Uri { [INFO] [stderr] 273| | fn eq(&self, other: &Uri) -> bool { [INFO] [stderr] 274| | self.source.as_str() == other.source.as_str() [INFO] [stderr] 275| | } [INFO] [stderr] 276| | } [INFO] [stderr] | |_^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/uri.rs:89:51 [INFO] [stderr] | [INFO] [stderr] 89 | } else if s.as_bytes()[slash] != b'/' { [INFO] [stderr] | ___________________________________________________^ [INFO] [stderr] 90 | | s.insert(slash, '/'); [INFO] [stderr] 91 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/uri.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | if s.len() == slash { [INFO] [stderr] | _________________________________^ [INFO] [stderr] 88 | | s.insert(slash, '/'); [INFO] [stderr] 89 | | } else if s.as_bytes()[slash] != b'/' { [INFO] [stderr] | |_____________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/uri.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | } else if s.contains("/") || s.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/uri.rs:103:49 [INFO] [stderr] | [INFO] [stderr] 103 | } else if s.contains("/") || s.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'?'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/uri.rs:137:28 [INFO] [stderr] | [INFO] [stderr] 137 | self.authority_end.unwrap_or(self.scheme_end.unwrap_or(0)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.scheme_end.unwrap_or(0))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/uri.rs:241:10 [INFO] [stderr] | [INFO] [stderr] 241 | .unwrap_or(s.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `hyperx`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/method.rs:98:19 [INFO] [stderr] | [INFO] [stderr] 98 | $n => match s { [INFO] [stderr] | ___________________^ [INFO] [stderr] 99 | | $( [INFO] [stderr] 100 | | $text => return Ok($var), [INFO] [stderr] 101 | | )* [INFO] [stderr] 102 | | _ => {}, [INFO] [stderr] 103 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 115 | / from_str!(s, { [INFO] [stderr] 116 | | 3 => { [INFO] [stderr] 117 | | "GET" => Get, [INFO] [stderr] 118 | | "PUT" => Put, [INFO] [stderr] ... | [INFO] [stderr] 134 | | }, [INFO] [stderr] 135 | | }) [INFO] [stderr] | |__________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 98 | $n => if let "DELETE" = s { from_str!(s, { [INFO] [stderr] 99 | 3 => { [INFO] [stderr] 100 | "GET" => Get, [INFO] [stderr] 101 | "PUT" => Put, [INFO] [stderr] 102 | }, [INFO] [stderr] 103 | 4 => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `header::common::cookie::Cookie` [INFO] [stderr] --> src/header/common/cookie.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn new() -> Cookie { [INFO] [stderr] 39 | | Cookie(VecMap::with_capacity(0)) [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 36 | impl Default for header::common::cookie::Cookie { [INFO] [stderr] 37 | fn default() -> Self { [INFO] [stderr] 38 | Self::new() [INFO] [stderr] 39 | } [INFO] [stderr] 40 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:313:21 [INFO] [stderr] | [INFO] [stderr] 313 | let mut v = self.rel.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.rel.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:331:21 [INFO] [stderr] | [INFO] [stderr] 331 | let mut v = self.rev.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.rev.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:342:21 [INFO] [stderr] | [INFO] [stderr] 342 | let mut v = self.href_lang.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.href_lang.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:353:21 [INFO] [stderr] | [INFO] [stderr] 353 | let mut v = self.media_desc.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.media_desc.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/header/common/link.rs:553:33 [INFO] [stderr] | [INFO] [stderr] 553 | let mut v = link_header.href_lang.take().unwrap_or(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `link_header.href_lang.take().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 41 [INFO] [stderr] --> src/header/common/link.rs:719:5 [INFO] [stderr] | [INFO] [stderr] 719 | / fn from_str(s: &str) -> ::Result { [INFO] [stderr] 720 | | if "alternate".eq_ignore_ascii_case(s) { [INFO] [stderr] 721 | | Ok(RelationType::Alternate) [INFO] [stderr] 722 | | } else if "appendix".eq_ignore_ascii_case(s) { [INFO] [stderr] ... | [INFO] [stderr] 802 | | } [INFO] [stderr] 803 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/header/common/link.rs:857:8 [INFO] [stderr] | [INFO] [stderr] 857 | if p.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!p.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/header/common/origin.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | / match self { [INFO] [stderr] 67 | | &Origin(OriginOrNull::Null) => true, [INFO] [stderr] 68 | | _ => false, [INFO] [stderr] 69 | | } [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] 66 | match *self { [INFO] [stderr] 67 | Origin(OriginOrNull::Null) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/header/common/origin.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | / match self { [INFO] [stderr] 81 | | &Origin(OriginOrNull::Origin { ref scheme, .. }) => Some(&scheme), [INFO] [stderr] 82 | | _ => None, [INFO] [stderr] 83 | | } [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] 80 | match *self { [INFO] [stderr] 81 | Origin(OriginOrNull::Origin { ref scheme, .. }) => Some(&scheme), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/header/common/origin.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / match self { [INFO] [stderr] 95 | | &Origin(OriginOrNull::Origin { ref host, .. }) => Some(&host), [INFO] [stderr] 96 | | _ => None, [INFO] [stderr] 97 | | } [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] 94 | match *self { [INFO] [stderr] 95 | Origin(OriginOrNull::Origin { ref host, .. }) => Some(&host), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/header/common/origin.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | / match $expr { [INFO] [stderr] 163 | | Cow::Owned(ref v) => panic!("assertion failed: `{}` owns {:?}", stringify!($expr), v), [INFO] [stderr] 164 | | _ => {} [INFO] [stderr] 165 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Cow::Owned(ref v) = origin.scheme().unwrap().into() { assert_borrowed!(origin.scheme().unwrap().into()); }` [INFO] [stderr] ... [INFO] [stderr] 173 | assert_borrowed!(origin.scheme().unwrap().into()); [INFO] [stderr] | -------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/header/common/origin.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | / match $expr { [INFO] [stderr] 163 | | Cow::Owned(ref v) => panic!("assertion failed: `{}` owns {:?}", stringify!($expr), v), [INFO] [stderr] 164 | | _ => {} [INFO] [stderr] 165 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Cow::Owned(ref v) = origin.scheme().unwrap().into() { assert_borrowed!(origin.scheme().unwrap().into()); }` [INFO] [stderr] ... [INFO] [stderr] 177 | assert_borrowed!(origin.scheme().unwrap().into()); [INFO] [stderr] | -------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/header/common/range.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | / match self { [INFO] [stderr] 122 | | &ByteRangeSpec::FromTo(from, to) => { [INFO] [stderr] 123 | | if from < full_length && from <= to { [INFO] [stderr] 124 | | Some((from, ::std::cmp::min(to, full_length - 1))) [INFO] [stderr] ... | [INFO] [stderr] 149 | | } [INFO] [stderr] 150 | | } [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] 121 | match *self { [INFO] [stderr] 122 | ByteRangeSpec::FromTo(from, to) => { [INFO] [stderr] 123 | if from < full_length && from <= to { [INFO] [stderr] 124 | Some((from, ::std::cmp::min(to, full_length - 1))) [INFO] [stderr] 125 | } else { [INFO] [stderr] 126 | None [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: called `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/header/common/warning.rs:137:26 [INFO] [stderr] | [INFO] [stderr] 137 | let date = match warning_split.skip(1).next() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/header/internals/item.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | parse::(self.raw.as_ref().expect("item.raw must exist")).map(|typed| { [INFO] [stderr] | _____________^ [INFO] [stderr] | |_____________| [INFO] [stderr] | || [INFO] [stderr] 72 | || unsafe { self.typed.insert(tid, typed); } [INFO] [stderr] 73 | || }); [INFO] [stderr] | ||______________^- help: try this: `if let Some(typed) = parse::(self.raw.as_ref().expect("item.raw must exist")) { self.typed.insert(tid, typed); }` [INFO] [stderr] | |_______________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: item `header::raw::Raw` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/header/raw.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / impl Raw { [INFO] [stderr] 10 | | /// Returns the amount of lines. [INFO] [stderr] 11 | | #[inline] [INFO] [stderr] 12 | | pub fn len(&self) -> usize { [INFO] [stderr] ... | [INFO] [stderr] 67 | | } [INFO] [stderr] 68 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/header/raw.rs:195:20 [INFO] [stderr] | [INFO] [stderr] 195 | Raw(Lines::One(From::from(val))) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `From::from()`: `val` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/header/parsing.rs:34:37 [INFO] [stderr] | [INFO] [stderr] 34 | let s = try!(str::from_utf8(s.as_ref())); [INFO] [stderr] | ^^^^^^^^^^ help: try this: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `fmt_header` which has no body [INFO] [stderr] --> src/header/mod.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 136 | | fn fmt_header(&self, f: &mut Formatter) -> fmt::Result; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: item `header::Headers` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/header/mod.rs:371:1 [INFO] [stderr] | [INFO] [stderr] 371 | / impl Headers { [INFO] [stderr] 372 | | [INFO] [stderr] 373 | | /// Creates a new, empty headers map. [INFO] [stderr] 374 | | #[inline] [INFO] [stderr] ... | [INFO] [stderr] 528 | | [INFO] [stderr] 529 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/uri.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | #[derive(Clone, Hash)] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/uri.rs:272:1 [INFO] [stderr] | [INFO] [stderr] 272| / impl PartialEq for Uri { [INFO] [stderr] 273| | fn eq(&self, other: &Uri) -> bool { [INFO] [stderr] 274| | self.source.as_str() == other.source.as_str() [INFO] [stderr] 275| | } [INFO] [stderr] 276| | } [INFO] [stderr] | |_^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/uri.rs:89:51 [INFO] [stderr] | [INFO] [stderr] 89 | } else if s.as_bytes()[slash] != b'/' { [INFO] [stderr] | ___________________________________________________^ [INFO] [stderr] 90 | | s.insert(slash, '/'); [INFO] [stderr] 91 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/uri.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | if s.len() == slash { [INFO] [stderr] | _________________________________^ [INFO] [stderr] 88 | | s.insert(slash, '/'); [INFO] [stderr] 89 | | } else if s.as_bytes()[slash] != b'/' { [INFO] [stderr] | |_____________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/uri.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | } else if s.contains("/") || s.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/uri.rs:103:49 [INFO] [stderr] | [INFO] [stderr] 103 | } else if s.contains("/") || s.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'?'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/uri.rs:137:28 [INFO] [stderr] | [INFO] [stderr] 137 | self.authority_end.unwrap_or(self.scheme_end.unwrap_or(0)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.scheme_end.unwrap_or(0))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/uri.rs:241:10 [INFO] [stderr] | [INFO] [stderr] 241 | .unwrap_or(s.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `hyperx`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "7ec8e88f3e5c2b4c44a095233b01322f6f395a9937bd6a9548d4c2743c54a23c"` [INFO] running `"docker" "rm" "-f" "7ec8e88f3e5c2b4c44a095233b01322f6f395a9937bd6a9548d4c2743c54a23c"` [INFO] [stdout] 7ec8e88f3e5c2b4c44a095233b01322f6f395a9937bd6a9548d4c2743c54a23c