[INFO] crate trust-dns-server 0.15.0 is already in cache [INFO] extracting crate trust-dns-server 0.15.0 into work/ex/clippy-test-run/sources/stable/reg/trust-dns-server/0.15.0 [INFO] extracting crate trust-dns-server 0.15.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/trust-dns-server/0.15.0 [INFO] validating manifest of trust-dns-server-0.15.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 trust-dns-server-0.15.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 trust-dns-server-0.15.0 [INFO] finished frobbing trust-dns-server-0.15.0 [INFO] frobbed toml for trust-dns-server-0.15.0 written to work/ex/clippy-test-run/sources/stable/reg/trust-dns-server/0.15.0/Cargo.toml [INFO] started frobbing trust-dns-server-0.15.0 [INFO] finished frobbing trust-dns-server-0.15.0 [INFO] frobbed toml for trust-dns-server-0.15.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/trust-dns-server/0.15.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 trust-dns-server-0.15.0 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/reg/trust-dns-server/0.15.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] 6bc5da50fd9db97bd7e9de92fd23e577ea746e6ccbbe6614e80f2ed6aa524739 [INFO] running `"docker" "start" "-a" "6bc5da50fd9db97bd7e9de92fd23e577ea746e6ccbbe6614e80f2ed6aa524739"` [INFO] [stderr] Compiling data-encoding v2.1.2 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Compiling libsqlite3-sys v0.10.0 [INFO] [stderr] Checking socket2 v0.3.8 [INFO] [stderr] Checking tokio-tls v0.2.1 [INFO] [stderr] Checking trust-dns-proto v0.5.0 [INFO] [stderr] Compiling data-encoding-macro-internal v0.1.6 [INFO] [stderr] Checking data-encoding-macro v0.1.6 [INFO] [stderr] Checking webpki v0.18.1 [INFO] [stderr] Checking sct v0.4.0 [INFO] [stderr] Checking trust-dns v0.15.0 [INFO] [stderr] Checking trust-dns-native-tls v0.4.0 [INFO] [stderr] Checking rustls v0.14.0 [INFO] [stderr] Checking tokio-rustls v0.8.1 [INFO] [stderr] Checking rusqlite v0.15.0 [INFO] [stderr] Checking trust-dns-server v0.15.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/authority/message_request.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [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/authority/message_request.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | queries: queries, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `queries` [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/authority/message_request.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | answers: answers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `answers` [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/authority/message_request.rs:204:13 [INFO] [stderr] | [INFO] [stderr] 204 | name_servers: name_servers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `name_servers` [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/authority/message_request.rs:205:13 [INFO] [stderr] | [INFO] [stderr] 205 | additionals: additionals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `additionals` [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/authority/message_request.rs:206:13 [INFO] [stderr] | [INFO] [stderr] 206 | sig0: sig0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `sig0` [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/authority/message_request.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | edns: edns, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `edns` [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/authority/persistence.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | conn: conn, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `conn` [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/authority/message_request.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [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/authority/message_request.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | queries: queries, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `queries` [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/authority/message_request.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | answers: answers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `answers` [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/authority/message_request.rs:204:13 [INFO] [stderr] | [INFO] [stderr] 204 | name_servers: name_servers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `name_servers` [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/authority/message_request.rs:205:13 [INFO] [stderr] | [INFO] [stderr] 205 | additionals: additionals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `additionals` [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/authority/message_request.rs:206:13 [INFO] [stderr] | [INFO] [stderr] 206 | sig0: sig0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `sig0` [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/authority/message_request.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | edns: edns, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `edns` [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/authority/persistence.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | conn: conn, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `conn` [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/authority/persistence.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | journal: journal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `journal` [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/config.rs:272:13 [INFO] [stderr] | [INFO] [stderr] 272 | key_path: key_path, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `key_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/config.rs:273:13 [INFO] [stderr] | [INFO] [stderr] 273 | password: password, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `password` [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/server/server_future.rs:503:9 [INFO] [stderr] | [INFO] [stderr] 503 | message: message, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/timeout_stream.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | 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/server/timeout_stream.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | timeout_duration: timeout_duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `timeout_duration` [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/server/timeout_stream.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | timeout: timeout, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `timeout` [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/authority/persistence.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | journal: journal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `journal` [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/config.rs:272:13 [INFO] [stderr] | [INFO] [stderr] 272 | key_path: key_path, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `key_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/config.rs:273:13 [INFO] [stderr] | [INFO] [stderr] 273 | password: password, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `password` [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/server/server_future.rs:503:9 [INFO] [stderr] | [INFO] [stderr] 503 | message: message, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/timeout_stream.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | 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/server/timeout_stream.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | timeout_duration: timeout_duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `timeout_duration` [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/server/timeout_stream.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | timeout: timeout, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `timeout` [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: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/authority/mod.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | pub mod authority; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/authority/authority.rs:648:29 [INFO] [stderr] | [INFO] [stderr] 648 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/authority/authority.rs:1143:9 [INFO] [stderr] | [INFO] [stderr] 1143 | return Err("DNSSEC is not enabled."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("DNSSEC is not enabled.")` [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/authority/catalog.rs:120:21 [INFO] [stderr] | [INFO] [stderr] 120 | return self.lookup(request_message, response_edns, response_handle) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.lookup(request_message, response_edns, response_handle)` [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/authority/catalog.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | return self.update(request_message, response_edns, response_handle) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.update(request_message, response_edns, response_handle)` [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/authority/catalog.rs:128:21 [INFO] [stderr] | [INFO] [stderr] 128 | / return response_handle.send_response(response.error_msg( [INFO] [stderr] 129 | | request_message.id(), [INFO] [stderr] 130 | | request_message.op_code(), [INFO] [stderr] 131 | | ResponseCode::NotImp, [INFO] [stderr] 132 | | )); [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 128 | response_handle.send_response(response.error_msg( [INFO] [stderr] 129 | request_message.id(), [INFO] [stderr] 130 | request_message.op_code(), [INFO] [stderr] 131 | ResponseCode::NotImp, [INFO] [stderr] 132 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/authority/catalog.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | / return response_handle.send_response(response.error_msg( [INFO] [stderr] 143 | | request_message.id(), [INFO] [stderr] 144 | | request_message.op_code(), [INFO] [stderr] 145 | | ResponseCode::FormErr, [INFO] [stderr] 146 | | )); [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 142 | response_handle.send_response(response.error_msg( [INFO] [stderr] 143 | request_message.id(), [INFO] [stderr] 144 | request_message.op_code(), [INFO] [stderr] 145 | ResponseCode::FormErr, [INFO] [stderr] 146 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/authority/catalog.rs:441:9 [INFO] [stderr] | [INFO] [stderr] 441 | / return send_response( [INFO] [stderr] 442 | | response_edns, [INFO] [stderr] 443 | | response.error_msg(request.id(), request.op_code(), ResponseCode::NXDomain), [INFO] [stderr] 444 | | response_handle, [INFO] [stderr] 445 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 441 | send_response( [INFO] [stderr] 442 | response_edns, [INFO] [stderr] 443 | response.error_msg(request.id(), request.op_code(), ResponseCode::NXDomain), [INFO] [stderr] 444 | response_handle, [INFO] [stderr] 445 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/authority/mod.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | pub mod authority; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/authority/authority.rs:648:29 [INFO] [stderr] | [INFO] [stderr] 648 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/authority/authority.rs:1143:9 [INFO] [stderr] | [INFO] [stderr] 1143 | return Err("DNSSEC is not enabled."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("DNSSEC is not enabled.")` [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/authority/catalog.rs:120:21 [INFO] [stderr] | [INFO] [stderr] 120 | return self.lookup(request_message, response_edns, response_handle) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.lookup(request_message, response_edns, response_handle)` [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/authority/catalog.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | return self.update(request_message, response_edns, response_handle) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.update(request_message, response_edns, response_handle)` [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/authority/catalog.rs:128:21 [INFO] [stderr] | [INFO] [stderr] 128 | / return response_handle.send_response(response.error_msg( [INFO] [stderr] 129 | | request_message.id(), [INFO] [stderr] 130 | | request_message.op_code(), [INFO] [stderr] 131 | | ResponseCode::NotImp, [INFO] [stderr] 132 | | )); [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 128 | response_handle.send_response(response.error_msg( [INFO] [stderr] 129 | request_message.id(), [INFO] [stderr] 130 | request_message.op_code(), [INFO] [stderr] 131 | ResponseCode::NotImp, [INFO] [stderr] 132 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/authority/catalog.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | / return response_handle.send_response(response.error_msg( [INFO] [stderr] 143 | | request_message.id(), [INFO] [stderr] 144 | | request_message.op_code(), [INFO] [stderr] 145 | | ResponseCode::FormErr, [INFO] [stderr] 146 | | )); [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 142 | response_handle.send_response(response.error_msg( [INFO] [stderr] 143 | request_message.id(), [INFO] [stderr] 144 | request_message.op_code(), [INFO] [stderr] 145 | ResponseCode::FormErr, [INFO] [stderr] 146 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/authority/catalog.rs:441:9 [INFO] [stderr] | [INFO] [stderr] 441 | / return send_response( [INFO] [stderr] 442 | | response_edns, [INFO] [stderr] 443 | | response.error_msg(request.id(), request.op_code(), ResponseCode::NXDomain), [INFO] [stderr] 444 | | response_handle, [INFO] [stderr] 445 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 441 | send_response( [INFO] [stderr] 442 | response_edns, [INFO] [stderr] 443 | response.error_msg(request.id(), request.op_code(), ResponseCode::NXDomain), [INFO] [stderr] 444 | response_handle, [INFO] [stderr] 445 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_reactor::Handle::current': semantics were sometimes surprising, use Handle::default() [INFO] [stderr] --> src/server/server_future.rs:81:53 [INFO] [stderr] | [INFO] [stderr] 81 | tokio_udp::UdpSocket::from_std(socket, &Handle::current()).expect("bad handle?"), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_reactor::Handle::current': semantics were sometimes surprising, use Handle::default() [INFO] [stderr] --> src/server/server_future.rs:160:57 [INFO] [stderr] | [INFO] [stderr] 160 | tokio_tcp::TcpListener::from_std(listener, &Handle::current())?, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_reactor::Handle::current': semantics were sometimes surprising, use Handle::default() [INFO] [stderr] --> src/server/server_future.rs:81:53 [INFO] [stderr] | [INFO] [stderr] 81 | tokio_udp::UdpSocket::from_std(socket, &Handle::current()).expect("bad handle?"), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_reactor::Handle::current': semantics were sometimes surprising, use Handle::default() [INFO] [stderr] --> src/server/server_future.rs:160:57 [INFO] [stderr] | [INFO] [stderr] 160 | tokio_tcp::TcpListener::from_std(listener, &Handle::current())?, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/authority/auth_lookup.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | AXFR(Chain, LookupRecords<'r, 'q>>, LookupRecords<'r, 'r>>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 35 | AXFR(Box, LookupRecords<'r, 'q>>, LookupRecords<'r, 'r>>>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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/authority/authority.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | / pub fn soa<'s>(&'s self) -> LookupRecords<'s, 's> { [INFO] [stderr] 209 | | // SOA should be origin|SOA [INFO] [stderr] 210 | | self.lookup( [INFO] [stderr] 211 | | &self.origin, [INFO] [stderr] ... | [INFO] [stderr] 215 | | ) [INFO] [stderr] 216 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/authority/authority.rs:219:5 [INFO] [stderr] | [INFO] [stderr] 219 | / pub fn soa_secure<'s>( [INFO] [stderr] 220 | | &'s self, [INFO] [stderr] 221 | | is_secure: bool, [INFO] [stderr] 222 | | supported_algorithms: SupportedAlgorithms, [INFO] [stderr] ... | [INFO] [stderr] 229 | | ) [INFO] [stderr] 230 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [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/authority/authority.rs:288:5 [INFO] [stderr] | [INFO] [stderr] 288 | / pub fn ns<'s>( [INFO] [stderr] 289 | | &'s self, [INFO] [stderr] 290 | | is_secure: bool, [INFO] [stderr] 291 | | supported_algorithms: SupportedAlgorithms, [INFO] [stderr] ... | [INFO] [stderr] 298 | | ) [INFO] [stderr] 299 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/authority/authority.rs:1118:34 [INFO] [stderr] | [INFO] [stderr] 1118 | .skip_while(|rr_set| name < &rr_set.name().into()) [INFO] [stderr] | ^^^^^^^--------------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rr_set.name().into()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/authority/authority.rs:1370:30 [INFO] [stderr] | [INFO] [stderr] 1370 | let record = records [INFO] [stderr] | ______________________________^ [INFO] [stderr] 1371 | | .by_ref() [INFO] [stderr] 1372 | | .filter(|rr_set| { [INFO] [stderr] 1373 | | query_type == RecordType::ANY || rr_set.record_type() != RecordType::SOA [INFO] [stderr] ... | [INFO] [stderr] 1376 | | || &LowerName::from(rr_set.name()) == query_name [INFO] [stderr] 1377 | | }).next(); [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/authority/authority.rs:1387:13 [INFO] [stderr] | [INFO] [stderr] 1387 | / if self.rrset.is_none() { [INFO] [stderr] 1388 | | return None; [INFO] [stderr] 1389 | | } [INFO] [stderr] | |_____________^ help: replace_it_with: `self.rrset?;` [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: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/authority/authority.rs:1418:29 [INFO] [stderr] | [INFO] [stderr] 1418 | pub fn is_totally_empty(self) -> bool { [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: the `c @ _` pattern can be written as just `c` [INFO] [stderr] --> src/authority/catalog.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | c @ _ => { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `authority::catalog::Catalog` [INFO] [stderr] --> src/authority/catalog.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn new() -> Self { [INFO] [stderr] 155 | | Catalog { [INFO] [stderr] 156 | | authorities: HashMap::new(), [INFO] [stderr] 157 | | } [INFO] [stderr] 158 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `authority::message_request::Queries<'r>` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/authority/message_request.rs:219:1 [INFO] [stderr] | [INFO] [stderr] 219 | / impl<'r> Queries<'r> { [INFO] [stderr] 220 | | fn read_queries(decoder: &mut BinDecoder<'r>, count: usize) -> ProtoResult> { [INFO] [stderr] 221 | | let mut queries = Vec::with_capacity(count); [INFO] [stderr] 222 | | for _ in 0..count { [INFO] [stderr] ... | [INFO] [stderr] 252 | | } [INFO] [stderr] 253 | | } [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: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/authority/message_request.rs:247:43 [INFO] [stderr] | [INFO] [stderr] 247 | pub(crate) fn into_emit_and_count<'s>(&'s self) -> QueriesEmitAndCount<'s> { [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/authority/message_request.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | / pub(crate) fn into_emit_and_count<'s>(&'s self) -> QueriesEmitAndCount<'s> { [INFO] [stderr] 248 | | QueriesEmitAndCount { [INFO] [stderr] 249 | | length: self.queries.len(), [INFO] [stderr] 250 | | original: self.original, [INFO] [stderr] 251 | | } [INFO] [stderr] 252 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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 are using an explicit closure for cloning elements [INFO] [stderr] --> src/authority/message_response.rs:84:18 [INFO] [stderr] | [INFO] [stderr] 84 | &mut self.additionals.iter().map(|r| *r), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.additionals.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/authority/persistence.rs:90:31 [INFO] [stderr] | [INFO] [stderr] 90 | let soa_serial: i64 = soa_serial as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i64::from(soa_serial)` [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: useless use of `format!` [INFO] [stderr] --> src/server/timeout_stream.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | format!("timeout fired immediately!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"timeout fired immediately!".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] warning: large size difference between variants [INFO] [stderr] --> src/authority/auth_lookup.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | AXFR(Chain, LookupRecords<'r, 'q>>, LookupRecords<'r, 'r>>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 35 | AXFR(Box, LookupRecords<'r, 'q>>, LookupRecords<'r, 'r>>>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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/authority/authority.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | / pub fn soa<'s>(&'s self) -> LookupRecords<'s, 's> { [INFO] [stderr] 209 | | // SOA should be origin|SOA [INFO] [stderr] 210 | | self.lookup( [INFO] [stderr] 211 | | &self.origin, [INFO] [stderr] ... | [INFO] [stderr] 215 | | ) [INFO] [stderr] 216 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/authority/authority.rs:219:5 [INFO] [stderr] | [INFO] [stderr] 219 | / pub fn soa_secure<'s>( [INFO] [stderr] 220 | | &'s self, [INFO] [stderr] 221 | | is_secure: bool, [INFO] [stderr] 222 | | supported_algorithms: SupportedAlgorithms, [INFO] [stderr] ... | [INFO] [stderr] 229 | | ) [INFO] [stderr] 230 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [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/authority/authority.rs:288:5 [INFO] [stderr] | [INFO] [stderr] 288 | / pub fn ns<'s>( [INFO] [stderr] 289 | | &'s self, [INFO] [stderr] 290 | | is_secure: bool, [INFO] [stderr] 291 | | supported_algorithms: SupportedAlgorithms, [INFO] [stderr] ... | [INFO] [stderr] 298 | | ) [INFO] [stderr] 299 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/authority/authority.rs:1118:34 [INFO] [stderr] | [INFO] [stderr] 1118 | .skip_while(|rr_set| name < &rr_set.name().into()) [INFO] [stderr] | ^^^^^^^--------------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rr_set.name().into()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/authority/authority.rs:1370:30 [INFO] [stderr] | [INFO] [stderr] 1370 | let record = records [INFO] [stderr] | ______________________________^ [INFO] [stderr] 1371 | | .by_ref() [INFO] [stderr] 1372 | | .filter(|rr_set| { [INFO] [stderr] 1373 | | query_type == RecordType::ANY || rr_set.record_type() != RecordType::SOA [INFO] [stderr] ... | [INFO] [stderr] 1376 | | || &LowerName::from(rr_set.name()) == query_name [INFO] [stderr] 1377 | | }).next(); [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/authority/authority.rs:1387:13 [INFO] [stderr] | [INFO] [stderr] 1387 | / if self.rrset.is_none() { [INFO] [stderr] 1388 | | return None; [INFO] [stderr] 1389 | | } [INFO] [stderr] | |_____________^ help: replace_it_with: `self.rrset?;` [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: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/authority/authority.rs:1418:29 [INFO] [stderr] | [INFO] [stderr] 1418 | pub fn is_totally_empty(self) -> bool { [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: the `c @ _` pattern can be written as just `c` [INFO] [stderr] --> src/authority/catalog.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | c @ _ => { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `authority::catalog::Catalog` [INFO] [stderr] --> src/authority/catalog.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn new() -> Self { [INFO] [stderr] 155 | | Catalog { [INFO] [stderr] 156 | | authorities: HashMap::new(), [INFO] [stderr] 157 | | } [INFO] [stderr] 158 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `authority::message_request::Queries<'r>` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/authority/message_request.rs:219:1 [INFO] [stderr] | [INFO] [stderr] 219 | / impl<'r> Queries<'r> { [INFO] [stderr] 220 | | fn read_queries(decoder: &mut BinDecoder<'r>, count: usize) -> ProtoResult> { [INFO] [stderr] 221 | | let mut queries = Vec::with_capacity(count); [INFO] [stderr] 222 | | for _ in 0..count { [INFO] [stderr] ... | [INFO] [stderr] 252 | | } [INFO] [stderr] 253 | | } [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: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/authority/message_request.rs:247:43 [INFO] [stderr] | [INFO] [stderr] 247 | pub(crate) fn into_emit_and_count<'s>(&'s self) -> QueriesEmitAndCount<'s> { [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/authority/message_request.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | / pub(crate) fn into_emit_and_count<'s>(&'s self) -> QueriesEmitAndCount<'s> { [INFO] [stderr] 248 | | QueriesEmitAndCount { [INFO] [stderr] 249 | | length: self.queries.len(), [INFO] [stderr] 250 | | original: self.original, [INFO] [stderr] 251 | | } [INFO] [stderr] 252 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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 are using an explicit closure for cloning elements [INFO] [stderr] --> src/authority/message_response.rs:84:18 [INFO] [stderr] | [INFO] [stderr] 84 | &mut self.additionals.iter().map(|r| *r), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.additionals.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/authority/persistence.rs:90:31 [INFO] [stderr] | [INFO] [stderr] 90 | let soa_serial: i64 = soa_serial as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i64::from(soa_serial)` [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: useless use of `format!` [INFO] [stderr] --> src/server/timeout_stream.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | format!("timeout fired immediately!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"timeout fired immediately!".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] warning: redundant field names in struct initialization [INFO] [stderr] --> benches/comparison_benches.rs:78:20 [INFO] [stderr] | [INFO] [stderr] 78 | NamedProcess { named: named } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `named` [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: the function has a cyclomatic complexity of 66 [INFO] [stderr] --> tests/txt_tests.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | / fn test_string() { [INFO] [stderr] 16 | | let lexer = Lexer::new( [INFO] [stderr] 17 | | "@ IN SOA venera action\\.domains ( [INFO] [stderr] 18 | | \ [INFO] [stderr] ... | [INFO] [stderr] 368 | | } [INFO] [stderr] 369 | | } [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:235:23 [INFO] [stderr] | [INFO] [stderr] 235 | Box::from("I".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"I"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:236:23 [INFO] [stderr] | [INFO] [stderr] 236 | Box::from("am".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"am"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:237:23 [INFO] [stderr] | [INFO] [stderr] 237 | Box::from("a".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"a"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:238:23 [INFO] [stderr] | [INFO] [stderr] 238 | Box::from("txt".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"txt"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:239:23 [INFO] [stderr] | [INFO] [stderr] 239 | Box::from("record".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"record"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:242:23 [INFO] [stderr] | [INFO] [stderr] 242 | Box::from("I".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"I"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:243:23 [INFO] [stderr] | [INFO] [stderr] 243 | Box::from("am".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"am"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:244:23 [INFO] [stderr] | [INFO] [stderr] 244 | Box::from("another".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"another"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:245:23 [INFO] [stderr] | [INFO] [stderr] 245 | Box::from("txt".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"txt"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:246:23 [INFO] [stderr] | [INFO] [stderr] 246 | Box::from("record".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"record"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:248:24 [INFO] [stderr] | [INFO] [stderr] 248 | vec![Box::from("key=val".as_bytes())], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"key=val"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:250:23 [INFO] [stderr] | [INFO] [stderr] 250 | Box::from("I am a different".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"I am a different"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/txt_tests.rs:251:23 [INFO] [stderr] | [INFO] [stderr] 251 | Box::from("txt record".as_bytes()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"txt record"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/named.rs:498:10 [INFO] [stderr] | [INFO] [stderr] 498 | .expect(&format!("could not read config: {:?}", config_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("could not read config: {:?}", config_path))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/named.rs:511:14 [INFO] [stderr] | [INFO] [stderr] 511 | .expect(&format!("bad zone name in {:?}", config_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("bad zone name in {:?}", config_path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import [INFO] [stderr] --> benches/comparison_benches.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use proto::error::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/named.rs:540:37 [INFO] [stderr] | [INFO] [stderr] 540 | .map(|x| UdpSocket::bind(x).expect(&format!("could not bind to udp: {}", x))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("could not bind to udp: {}", x))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/named.rs:544:39 [INFO] [stderr] | [INFO] [stderr] 544 | .map(|x| TcpListener::bind(x).expect(&format!("could not bind to tcp: {}", x))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("could not bind to tcp: {}", x))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/named.rs:569:35 [INFO] [stderr] | [INFO] [stderr] 569 | let tls_cert_config = config.get_tls_cert().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `config.get_tls_cert()` [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] error[E0412]: cannot find type `ProtoError` in this scope [INFO] [stderr] --> benches/comparison_benches.rs:114:33 [INFO] [stderr] | [INFO] [stderr] 114 | F: Future + Send + 'static, [INFO] [stderr] | ^^^^^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 11 | use trust_dns_proto::error::ProtoError; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0405]: cannot find trait `DnsClientStream` in this scope [INFO] [stderr] --> benches/comparison_benches.rs:115:8 [INFO] [stderr] | [INFO] [stderr] 115 | S: DnsClientStream + Send + 'static, [INFO] [stderr] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 11 | use trust_dns_proto::xfer::DnsClientStream; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `DnsStreamHandle` in this scope [INFO] [stderr] --> benches/comparison_benches.rs:112:63 [INFO] [stderr] | [INFO] [stderr] 112 | fn bench(b: &mut Bencher, stream: F, stream_handle: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^ did you mean `StreamHandle`? [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use trust_dns_proto::DnsStreamHandle; [INFO] [stderr] | [INFO] [stderr] 11 | use trust_dns_proto::xfer::DnsStreamHandle; [INFO] [stderr] | [INFO] [stderr] 11 | use trust_dns_proto::xfer::dns_handle::DnsStreamHandle; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/comparison_benches.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] Some errors occurred: E0405, E0412, E0432, E0554. [INFO] [stderr] For more information about an error, try `rustc --explain E0405`. [INFO] [stderr] error: Could not compile `trust-dns-server`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/named.rs:498:10 [INFO] [stderr] | [INFO] [stderr] 498 | .expect(&format!("could not read config: {:?}", config_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("could not read config: {:?}", config_path))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/named.rs:511:14 [INFO] [stderr] | [INFO] [stderr] 511 | .expect(&format!("bad zone name in {:?}", config_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("bad zone name in {:?}", config_path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/named.rs:540:37 [INFO] [stderr] | [INFO] [stderr] 540 | .map(|x| UdpSocket::bind(x).expect(&format!("could not bind to udp: {}", x))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("could not bind to udp: {}", x))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/named.rs:544:39 [INFO] [stderr] | [INFO] [stderr] 544 | .map(|x| TcpListener::bind(x).expect(&format!("could not bind to tcp: {}", x))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("could not bind to tcp: {}", x))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/named.rs:569:35 [INFO] [stderr] | [INFO] [stderr] 569 | let tls_cert_config = config.get_tls_cert().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `config.get_tls_cert()` [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] error: build failed [INFO] running `"docker" "inspect" "6bc5da50fd9db97bd7e9de92fd23e577ea746e6ccbbe6614e80f2ed6aa524739"` [INFO] running `"docker" "rm" "-f" "6bc5da50fd9db97bd7e9de92fd23e577ea746e6ccbbe6614e80f2ed6aa524739"` [INFO] [stdout] 6bc5da50fd9db97bd7e9de92fd23e577ea746e6ccbbe6614e80f2ed6aa524739