[INFO] crate tiny_http 0.6.0 is already in cache [INFO] extracting crate tiny_http 0.6.0 into work/ex/clippy-test-run/sources/stable/reg/tiny_http/0.6.0 [INFO] extracting crate tiny_http 0.6.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tiny_http/0.6.0 [INFO] validating manifest of tiny_http-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 tiny_http-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 tiny_http-0.6.0 [INFO] finished frobbing tiny_http-0.6.0 [INFO] frobbed toml for tiny_http-0.6.0 written to work/ex/clippy-test-run/sources/stable/reg/tiny_http/0.6.0/Cargo.toml [INFO] started frobbing tiny_http-0.6.0 [INFO] finished frobbing tiny_http-0.6.0 [INFO] frobbed toml for tiny_http-0.6.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tiny_http/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 tiny_http-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-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/tiny_http/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] 17baf0a272c12ef6dc07726a33465c2457cedc8420256701f7c4831ee6ce8d12 [INFO] running `"docker" "start" "-a" "17baf0a272c12ef6dc07726a33465c2457cedc8420256701f7c4831ee6ce8d12"` [INFO] [stderr] Checking tiny_http v0.6.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/client.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/client.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | remote_addr: remote_addr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_addr` [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/client.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | secure: secure, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `secure` [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/common.rs:189:36 [INFO] [stderr] | [INFO] [stderr] 189 | Ok(Header { field: header, 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/common.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | field: field, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `field` [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/common.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | 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/request.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | remote_addr: remote_addr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_addr` [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/request.rs:205:9 [INFO] [stderr] | [INFO] [stderr] 205 | secure: secure, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `secure` [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/request.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | method: method, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `method` [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/request.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/request.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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/response.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | status_code: status_code, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `status_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/response.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | data_length: data_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_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/response.rs:259:13 [INFO] [stderr] | [INFO] [stderr] 259 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/response.rs:262:13 [INFO] [stderr] | [INFO] [stderr] 262 | data_length: data_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_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/util/custom_stream.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/util/custom_stream.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | writer: writer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [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/util/encoding_decoder.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/util/encoding_decoder.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | encoding: encoding, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding` [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/util/equal_reader.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/util/equal_reader.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/util/refined_tcp_stream.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | stream: stream, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [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/util/task_pool.rs:53:24 [INFO] [stderr] | [INFO] [stderr] 53 | Registration { nb: nb } [INFO] [stderr] | ^^^^^^ help: replace it with: `nb` [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:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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:232:13 [INFO] [stderr] | [INFO] [stderr] 232 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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:352:13 [INFO] [stderr] | [INFO] [stderr] 352 | messages: messages, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `messages` [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/client.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/client.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | remote_addr: remote_addr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_addr` [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/client.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | secure: secure, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `secure` [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/common.rs:189:36 [INFO] [stderr] | [INFO] [stderr] 189 | Ok(Header { field: header, 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/common.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | field: field, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `field` [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/common.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | 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/request.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | remote_addr: remote_addr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_addr` [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/request.rs:205:9 [INFO] [stderr] | [INFO] [stderr] 205 | secure: secure, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `secure` [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/request.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | method: method, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `method` [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/request.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/request.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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/response.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | status_code: status_code, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `status_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/response.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | data_length: data_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_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/response.rs:259:13 [INFO] [stderr] | [INFO] [stderr] 259 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/response.rs:262:13 [INFO] [stderr] | [INFO] [stderr] 262 | data_length: data_length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_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/util/custom_stream.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/util/custom_stream.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | writer: writer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [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/util/encoding_decoder.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/util/encoding_decoder.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | encoding: encoding, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding` [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/util/equal_reader.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/util/equal_reader.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/util/refined_tcp_stream.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | stream: stream, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [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/util/task_pool.rs:53:24 [INFO] [stderr] | [INFO] [stderr] 53 | Registration { nb: nb } [INFO] [stderr] | ^^^^^^ help: replace it with: `nb` [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:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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:232:13 [INFO] [stderr] | [INFO] [stderr] 232 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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:352:13 [INFO] [stderr] | [INFO] [stderr] 352 | messages: messages, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `messages` [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: long literal lacking separators [INFO] [stderr] --> src/util/messages_queue.rs:59:70 [INFO] [stderr] | [INFO] [stderr] 59 | (duration.as_secs() == 0 && duration.subsec_nanos() < 1000000) { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [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/util/task_pool.rs:149:41 [INFO] [stderr] | [INFO] [stderr] 149 | self.sharing.active_tasks.store(999999999, Ordering::Release); [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_999` [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/util/messages_queue.rs:59:70 [INFO] [stderr] | [INFO] [stderr] 59 | (duration.as_secs() == 0 && duration.subsec_nanos() < 1000000) { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [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: unneeded return statement [INFO] [stderr] --> src/lib.rs:381:36 [INFO] [stderr] | [INFO] [stderr] 381 | Message::Error(err) => return Err(err), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(err)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:382:40 [INFO] [stderr] | [INFO] [stderr] 382 | Message::NewRequest(rq) => return Ok(rq), [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(rq)` [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/lib.rs:389:42 [INFO] [stderr] | [INFO] [stderr] 389 | Some(Message::Error(err)) => return Err(err), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(err)` [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/lib.rs:390:46 [INFO] [stderr] | [INFO] [stderr] 390 | Some(Message::NewRequest(rq)) => return Ok(Some(rq)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(rq))` [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/lib.rs:391:21 [INFO] [stderr] | [INFO] [stderr] 391 | None => return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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/lib.rs:398:42 [INFO] [stderr] | [INFO] [stderr] 398 | Some(Message::Error(err)) => return Err(err), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(err)` [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/lib.rs:399:46 [INFO] [stderr] | [INFO] [stderr] 399 | Some(Message::NewRequest(rq)) => return Ok(Some(rq)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(rq))` [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/lib.rs:400:21 [INFO] [stderr] | [INFO] [stderr] 400 | None => return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: long literal lacking separators [INFO] [stderr] --> src/util/task_pool.rs:149:41 [INFO] [stderr] | [INFO] [stderr] 149 | self.sharing.active_tasks.store(999999999, Ordering::Release); [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_999` [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: unneeded return statement [INFO] [stderr] --> src/lib.rs:381:36 [INFO] [stderr] | [INFO] [stderr] 381 | Message::Error(err) => return Err(err), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(err)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:382:40 [INFO] [stderr] | [INFO] [stderr] 382 | Message::NewRequest(rq) => return Ok(rq), [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(rq)` [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/lib.rs:389:42 [INFO] [stderr] | [INFO] [stderr] 389 | Some(Message::Error(err)) => return Err(err), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(err)` [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/lib.rs:390:46 [INFO] [stderr] | [INFO] [stderr] 390 | Some(Message::NewRequest(rq)) => return Ok(Some(rq)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(rq))` [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/lib.rs:391:21 [INFO] [stderr] | [INFO] [stderr] 391 | None => return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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/lib.rs:398:42 [INFO] [stderr] | [INFO] [stderr] 398 | Some(Message::Error(err)) => return Err(err), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(err)` [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/lib.rs:399:46 [INFO] [stderr] | [INFO] [stderr] 399 | Some(Message::NewRequest(rq)) => return Ok(Some(rq)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(rq))` [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/lib.rs:400:21 [INFO] [stderr] | [INFO] [stderr] 400 | None => return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/client.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | 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/common.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/request.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/response.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/client.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | 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/common.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/request.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/response.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/client.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | 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/common.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/request.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/response.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/client.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | 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/common.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/request.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/response.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/client.rs:121:63 [INFO] [stderr] | [INFO] [stderr] 121 | let line = try!(self.read_next_line().map_err(|e| ReadError::ReadIoError(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ReadError::ReadIoError` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/client.rs:132:67 [INFO] [stderr] | [INFO] [stderr] 132 | let line = try!(self.read_next_line().map_err(|e| ReadError::ReadIoError(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ReadError::ReadIoError` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/client.rs:134:24 [INFO] [stderr] | [INFO] [stderr] 134 | if line.len() == 0 { break }; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line.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: using `clone` on a `Copy` type [INFO] [stderr] --> src/client.rs:158:26 [INFO] [stderr] | [INFO] [stderr] 158 | headers, self.remote_addr.as_ref().unwrap().clone(), data_source, writer) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.remote_addr.as_ref().unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/common.rs:109:20 [INFO] [stderr] | [INFO] [stderr] 109 | StatusCode(in_code as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(in_code)` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/common.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | / pub fn as_str<'a>(&'a self) -> &'a AsciiStr { [INFO] [stderr] 240 | | match self { &HeaderField(ref s) => s } [INFO] [stderr] 241 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/common.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | match self { &HeaderField(ref s) => s } [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] 240 | match *self { HeaderField(ref s) => s } [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/common.rs:384:30 [INFO] [stderr] | [INFO] [stderr] 384 | let (major, minor) = match self { &HTTPVersion(m, n) => (m, n) }; [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] 384 | let (major, minor) = match *self { HTTPVersion(m, n) => (m, n) }; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/common.rs:391:36 [INFO] [stderr] | [INFO] [stderr] 391 | let (my_major, my_minor) = match self { &HTTPVersion(m, n) => (m, n) }; [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] 391 | let (my_major, my_minor) = match *self { HTTPVersion(m, n) => (m, n) }; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/common.rs:392:42 [INFO] [stderr] | [INFO] [stderr] 392 | let (other_major, other_minor) = match other { &HTTPVersion(m, n) => (m, n) }; [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] 392 | let (other_major, other_minor) = match *other { HTTPVersion(m, n) => (m, n) }; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/request.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | / pub fn new_request(secure: bool, method: Method, path: String, [INFO] [stderr] 111 | | version: HTTPVersion, headers: Vec
, [INFO] [stderr] 112 | | remote_addr: SocketAddr, mut source_data: R, writer: W) [INFO] [stderr] 113 | | -> Result [INFO] [stderr] ... | [INFO] [stderr] 212 | | }) [INFO] [stderr] 213 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/request.rs:337:25 [INFO] [stderr] | [INFO] [stderr] 337 | fn into_writer_impl(&mut self) -> Box { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/request.rs:347:25 [INFO] [stderr] | [INFO] [stderr] 347 | fn into_reader_impl(&mut self) -> Box { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [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/response.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | / match ::from_str(value.0) { [INFO] [stderr] 148 | | Ok(te) => return Some(te), [INFO] [stderr] 149 | | _ => () // unrecognized/unsupported encoding [INFO] [stderr] 150 | | }; [INFO] [stderr] | |_________________^ help: try this: `if let Ok(te) = ::from_str(value.0) { return Some(te) }` [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] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/response.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | / match ::from_str(header.value.as_str()) { [INFO] [stderr] 229 | | Ok(val) => self.data_length = Some(val), [INFO] [stderr] 230 | | Err(_) => () // wrong value for content-length [INFO] [stderr] 231 | | }; [INFO] [stderr] | |_____________^ help: try this: `if let Ok(val) = ::from_str(header.value.as_str()) { self.data_length = Some(val) }` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/response.rs:465:26 [INFO] [stderr] | [INFO] [stderr] 465 | data_length: self.data_length.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.data_length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/util/encoding_decoder.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | Err(_) => panic!(), // FIXME: return Err(old_io::standard_error(old_io::InvalidInput)) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/client.rs:121:63 [INFO] [stderr] | [INFO] [stderr] 121 | let line = try!(self.read_next_line().map_err(|e| ReadError::ReadIoError(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ReadError::ReadIoError` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/client.rs:132:67 [INFO] [stderr] | [INFO] [stderr] 132 | let line = try!(self.read_next_line().map_err(|e| ReadError::ReadIoError(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ReadError::ReadIoError` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/client.rs:134:24 [INFO] [stderr] | [INFO] [stderr] 134 | if line.len() == 0 { break }; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line.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: using `clone` on a `Copy` type [INFO] [stderr] --> src/client.rs:158:26 [INFO] [stderr] | [INFO] [stderr] 158 | headers, self.remote_addr.as_ref().unwrap().clone(), data_source, writer) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.remote_addr.as_ref().unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/client.rs:316:17 [INFO] [stderr] | [INFO] [stderr] 316 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/util/sequential.rs:129:9 [INFO] [stderr] | [INFO] [stderr] 129 | self.trigger.as_mut().map(|v| v.recv().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(v) = self.trigger.as_mut() { v.recv().unwrap() }` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/util/sequential.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | self.trigger.as_mut().map(|v| v.recv().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(v) = self.trigger.as_mut() { v.recv().unwrap() }` [INFO] [stderr] | [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/common.rs:109:20 [INFO] [stderr] | [INFO] [stderr] 109 | StatusCode(in_code as u16) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(in_code)` [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: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/util/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | if t.is_none() { return None; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace_it_with: `t?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [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/util/mod.rs:50:17 [INFO] [stderr] | [INFO] [stderr] 50 | / match FromStr::from_str(&p.trim_left()[2..].trim()) { [INFO] [stderr] 51 | | Ok(val) => { value = val; break }, [INFO] [stderr] 52 | | _ => () [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Ok(val) = FromStr::from_str(&p.trim_left()[2..].trim()) { value = val; break }` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/common.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | / pub fn as_str<'a>(&'a self) -> &'a AsciiStr { [INFO] [stderr] 240 | | match self { &HeaderField(ref s) => s } [INFO] [stderr] 241 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/common.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | match self { &HeaderField(ref s) => s } [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] 240 | match *self { HeaderField(ref s) => s } [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/common.rs:384:30 [INFO] [stderr] | [INFO] [stderr] 384 | let (major, minor) = match self { &HTTPVersion(m, n) => (m, n) }; [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] 384 | let (major, minor) = match *self { HTTPVersion(m, n) => (m, n) }; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/common.rs:391:36 [INFO] [stderr] | [INFO] [stderr] 391 | let (my_major, my_minor) = match self { &HTTPVersion(m, n) => (m, n) }; [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] 391 | let (my_major, my_minor) = match *self { HTTPVersion(m, n) => (m, n) }; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/common.rs:392:42 [INFO] [stderr] | [INFO] [stderr] 392 | let (other_major, other_minor) = match other { &HTTPVersion(m, n) => (m, n) }; [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] 392 | let (other_major, other_minor) = match *other { HTTPVersion(m, n) => (m, n) }; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:369:9 [INFO] [stderr] | [INFO] [stderr] 369 | self.listening_addr.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.listening_addr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/request.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | / pub fn new_request(secure: bool, method: Method, path: String, [INFO] [stderr] 111 | | version: HTTPVersion, headers: Vec
, [INFO] [stderr] 112 | | remote_addr: SocketAddr, mut source_data: R, writer: W) [INFO] [stderr] 113 | | -> Result [INFO] [stderr] ... | [INFO] [stderr] 212 | | }) [INFO] [stderr] 213 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/request.rs:337:25 [INFO] [stderr] | [INFO] [stderr] 337 | fn into_writer_impl(&mut self) -> Box { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/request.rs:347:25 [INFO] [stderr] | [INFO] [stderr] 347 | fn into_reader_impl(&mut self) -> Box { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [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/response.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | / match ::from_str(value.0) { [INFO] [stderr] 148 | | Ok(te) => return Some(te), [INFO] [stderr] 149 | | _ => () // unrecognized/unsupported encoding [INFO] [stderr] 150 | | }; [INFO] [stderr] | |_________________^ help: try this: `if let Ok(te) = ::from_str(value.0) { return Some(te) }` [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] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/response.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | / match ::from_str(header.value.as_str()) { [INFO] [stderr] 229 | | Ok(val) => self.data_length = Some(val), [INFO] [stderr] 230 | | Err(_) => () // wrong value for content-length [INFO] [stderr] 231 | | }; [INFO] [stderr] | |_____________^ help: try this: `if let Ok(val) = ::from_str(header.value.as_str()) { self.data_length = Some(val) }` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/response.rs:465:26 [INFO] [stderr] | [INFO] [stderr] 465 | data_length: self.data_length.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.data_length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/util/encoding_decoder.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | Err(_) => panic!(), // FIXME: return Err(old_io::standard_error(old_io::InvalidInput)) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/util/equal_reader.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | equal_reader.read(&mut vec).unwrap(); [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] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/util/sequential.rs:129:9 [INFO] [stderr] | [INFO] [stderr] 129 | self.trigger.as_mut().map(|v| v.recv().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(v) = self.trigger.as_mut() { v.recv().unwrap() }` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/util/sequential.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | self.trigger.as_mut().map(|v| v.recv().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(v) = self.trigger.as_mut() { v.recv().unwrap() }` [INFO] [stderr] | [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: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/util/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | if t.is_none() { return None; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace_it_with: `t?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [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/util/mod.rs:50:17 [INFO] [stderr] | [INFO] [stderr] 50 | / match FromStr::from_str(&p.trim_left()[2..].trim()) { [INFO] [stderr] 51 | | Ok(val) => { value = val; break }, [INFO] [stderr] 52 | | _ => () [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Ok(val) = FromStr::from_str(&p.trim_left()[2..].trim()) { value = val; break }` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/util/mod.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | assert_eq!(result[0].1, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/util/mod.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | assert_eq!(result[0].1, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: strict comparison of f32 or f64 [INFO] [stderr] --> src/util/mod.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | assert_eq!(result[1].1, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/util/mod.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | assert_eq!(result[1].1, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: strict comparison of f32 or f64 [INFO] [stderr] --> src/util/mod.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | assert_eq!(result[2].1, 2.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/util/mod.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | assert_eq!(result[2].1, 2.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:369:9 [INFO] [stderr] | [INFO] [stderr] 369 | self.listening_addr.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.listening_addr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `tiny_http`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> examples/serve-root.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | / loop { [INFO] [stderr] 33 | | let rq = match server.recv() { [INFO] [stderr] 34 | | Ok(rq) => rq, [INFO] [stderr] 35 | | Err(_) => break [INFO] [stderr] ... | [INFO] [stderr] 59 | | } [INFO] [stderr] 60 | | } [INFO] [stderr] | |_____^ help: try: `while let Ok(rq) = server.recv() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> examples/websockets.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | / match request.headers().iter() [INFO] [stderr] 63 | | .find(|h| h.field.equiv(&"Upgrade")) [INFO] [stderr] 64 | | .and_then(|hdr| if hdr.value == "websocket" { Some(hdr) } else { None }) [INFO] [stderr] 65 | | { [INFO] [stderr] ... | [INFO] [stderr] 71 | | _ => () [INFO] [stderr] 72 | | }; [INFO] [stderr] | |_____________^ [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] 62 | if let None = request.headers().iter() [INFO] [stderr] 63 | .find(|h| h.field.equiv(&"Upgrade")) [INFO] [stderr] 64 | .and_then(|hdr| if hdr.value == "websocket" { Some(hdr) } else { None }) { [INFO] [stderr] 65 | // sending the HTML page [INFO] [stderr] 66 | request.respond(home_page(port)); [INFO] [stderr] 67 | return [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/websockets.rs:68:21 [INFO] [stderr] | [INFO] [stderr] 68 | request.respond(home_page(port)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/websockets.rs:81:21 [INFO] [stderr] | [INFO] [stderr] 81 | request.respond(response); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> tests/support/mod.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | / match server.try_recv().unwrap() { [INFO] [stderr] 27 | | Some(rq) => { [INFO] [stderr] 28 | | let response = tiny_http::Response::from_string("hello world".to_string()); [INFO] [stderr] 29 | | rq.respond(response).unwrap(); [INFO] [stderr] 30 | | }, [INFO] [stderr] 31 | | _ => () [INFO] [stderr] 32 | | }; [INFO] [stderr] | |_____________^ [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] 26 | if let Some(rq) = server.try_recv().unwrap() { [INFO] [stderr] 27 | let response = tiny_http::Response::from_string("hello world".to_string()); [INFO] [stderr] 28 | rq.respond(response).unwrap(); [INFO] [stderr] 29 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> tests/input-tests.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | client.read(&mut content).unwrap(); [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] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `tiny_http`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/readme-example.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | request.respond(response); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error[E0463]: can't find crate for `time` [INFO] [stderr] --> benches/bench.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | extern crate time; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0463`. [INFO] [stderr] error: Could not compile `tiny_http`. [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] --> tests/support/mod.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | / match server.try_recv().unwrap() { [INFO] [stderr] 27 | | Some(rq) => { [INFO] [stderr] 28 | | let response = tiny_http::Response::from_string("hello world".to_string()); [INFO] [stderr] 29 | | rq.respond(response).unwrap(); [INFO] [stderr] 30 | | }, [INFO] [stderr] 31 | | _ => () [INFO] [stderr] 32 | | }; [INFO] [stderr] | |_____________^ [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] 26 | if let Some(rq) = server.try_recv().unwrap() { [INFO] [stderr] 27 | let response = tiny_http::Response::from_string("hello world".to_string()); [INFO] [stderr] 28 | rq.respond(response).unwrap(); [INFO] [stderr] 29 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> tests/simple-test.rs:16:54 [INFO] [stderr] | [INFO] [stderr] 16 | request.respond(tiny_http::Response::from_string(format!("hello world"))).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"hello world".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "17baf0a272c12ef6dc07726a33465c2457cedc8420256701f7c4831ee6ce8d12"` [INFO] running `"docker" "rm" "-f" "17baf0a272c12ef6dc07726a33465c2457cedc8420256701f7c4831ee6ce8d12"` [INFO] [stdout] 17baf0a272c12ef6dc07726a33465c2457cedc8420256701f7c4831ee6ce8d12