[INFO] crate sparkle-dns 0.0.2 is already in cache [INFO] extracting crate sparkle-dns 0.0.2 into work/ex/clippy-test-run/sources/stable/reg/sparkle-dns/0.0.2 [INFO] extracting crate sparkle-dns 0.0.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sparkle-dns/0.0.2 [INFO] validating manifest of sparkle-dns-0.0.2 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 sparkle-dns-0.0.2 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 sparkle-dns-0.0.2 [INFO] finished frobbing sparkle-dns-0.0.2 [INFO] frobbed toml for sparkle-dns-0.0.2 written to work/ex/clippy-test-run/sources/stable/reg/sparkle-dns/0.0.2/Cargo.toml [INFO] started frobbing sparkle-dns-0.0.2 [INFO] finished frobbing sparkle-dns-0.0.2 [INFO] frobbed toml for sparkle-dns-0.0.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sparkle-dns/0.0.2/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 sparkle-dns-0.0.2 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sparkle-dns/0.0.2:/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 -Dclippy::into_iter_on_array" "-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] bc3fa9f27b37e8975d960964f7850c11d8c16a06866c9b003158ff88346d0614 [INFO] running `"docker" "start" "-a" "bc3fa9f27b37e8975d960964f7850c11d8c16a06866c9b003158ff88346d0614"` [INFO] [stderr] Checking sparkle-dns v0.0.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/format.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | qtype: qtype, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `qtype` [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/format.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | qclass: qclass, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `qclass` [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/format.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | type_: type_, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `type_` [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/format.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `class` [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/wire.rs:273:13 [INFO] [stderr] | [INFO] [stderr] 273 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/wire.rs:633:13 [INFO] [stderr] | [INFO] [stderr] 633 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/wire.rs:821:13 [INFO] [stderr] | [INFO] [stderr] 821 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/wire.rs:843:13 [INFO] [stderr] | [INFO] [stderr] 843 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/wire.rs:874:13 [INFO] [stderr] | [INFO] [stderr] 874 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/wire.rs:875:13 [INFO] [stderr] | [INFO] [stderr] 875 | flags: flags, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/wire.rs:876:13 [INFO] [stderr] | [INFO] [stderr] 876 | question_section: question_section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `question_section` [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/wire.rs:877:13 [INFO] [stderr] | [INFO] [stderr] 877 | answer_section: answer_section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `answer_section` [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/wire.rs:878:13 [INFO] [stderr] | [INFO] [stderr] 878 | authority_section: authority_section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `authority_section` [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/wire.rs:879:13 [INFO] [stderr] | [INFO] [stderr] 879 | additional_section: additional_section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `additional_section` [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/format.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | qtype: qtype, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `qtype` [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/format.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | qclass: qclass, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `qclass` [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/format.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | type_: type_, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `type_` [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/format.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `class` [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/wire.rs:273:13 [INFO] [stderr] | [INFO] [stderr] 273 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/wire.rs:633:13 [INFO] [stderr] | [INFO] [stderr] 633 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/wire.rs:821:13 [INFO] [stderr] | [INFO] [stderr] 821 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/wire.rs:843:13 [INFO] [stderr] | [INFO] [stderr] 843 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/wire.rs:874:13 [INFO] [stderr] | [INFO] [stderr] 874 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/wire.rs:875:13 [INFO] [stderr] | [INFO] [stderr] 875 | flags: flags, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/wire.rs:876:13 [INFO] [stderr] | [INFO] [stderr] 876 | question_section: question_section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `question_section` [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/wire.rs:877:13 [INFO] [stderr] | [INFO] [stderr] 877 | answer_section: answer_section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `answer_section` [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/wire.rs:878:13 [INFO] [stderr] | [INFO] [stderr] 878 | authority_section: authority_section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `authority_section` [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/wire.rs:879:13 [INFO] [stderr] | [INFO] [stderr] 879 | additional_section: additional_section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `additional_section` [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/wire.rs:1327:52 [INFO] [stderr] | [INFO] [stderr] 1327 | let got = e.encode_u32_at(&mut cursor, 0x12345678); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1234_5678` [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/wire.rs:1345:52 [INFO] [stderr] | [INFO] [stderr] 1345 | let got = e.encode_u32_at(&mut cursor, 0x12345678); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1234_5678` [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/wire.rs:1730:38 [INFO] [stderr] | [INFO] [stderr] 1730 | serial: SerialNumber(0x01020304), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [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/wire.rs:1731:30 [INFO] [stderr] | [INFO] [stderr] 1731 | refresh: Ttl(0x5060708), [INFO] [stderr] | ^^^^^^^^^ help: consider: `0x0506_0708` [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/wire.rs:1732:28 [INFO] [stderr] | [INFO] [stderr] 1732 | retry: Ttl(0x090a0b0c), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x090a_0b0c` [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/wire.rs:1733:29 [INFO] [stderr] | [INFO] [stderr] 1733 | expire: Ttl(0x0d0e0f10), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0d0e_0f10` [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/wire.rs:1734:30 [INFO] [stderr] | [INFO] [stderr] 1734 | minimum: Ttl(0x11121314), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1112_1314` [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/wire.rs:1764:38 [INFO] [stderr] | [INFO] [stderr] 1764 | serial: SerialNumber(0x01020304), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [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/wire.rs:1765:30 [INFO] [stderr] | [INFO] [stderr] 1765 | refresh: Ttl(0x5060708), [INFO] [stderr] | ^^^^^^^^^ help: consider: `0x0506_0708` [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/wire.rs:1766:28 [INFO] [stderr] | [INFO] [stderr] 1766 | retry: Ttl(0x090a0b0c), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x090a_0b0c` [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/wire.rs:1767:29 [INFO] [stderr] | [INFO] [stderr] 1767 | expire: Ttl(0x0d0e0f10), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0d0e_0f10` [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/wire.rs:1768:30 [INFO] [stderr] | [INFO] [stderr] 1768 | minimum: Ttl(0x11121314), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1112_1314` [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/wire.rs:2087:27 [INFO] [stderr] | [INFO] [stderr] 2087 | let expected = Ok(0x12345678); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1234_5678` [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/wire.rs:2518:34 [INFO] [stderr] | [INFO] [stderr] 2518 | serial: SerialNumber(0x01020304), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [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/wire.rs:2519:26 [INFO] [stderr] | [INFO] [stderr] 2519 | refresh: Ttl(0x05060708), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0506_0708` [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/wire.rs:2520:24 [INFO] [stderr] | [INFO] [stderr] 2520 | retry: Ttl(0x090a0b0c), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x090a_0b0c` [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/wire.rs:2521:25 [INFO] [stderr] | [INFO] [stderr] 2521 | expire: Ttl(0x0d0e0f10), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0d0e_0f10` [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/wire.rs:2522:26 [INFO] [stderr] | [INFO] [stderr] 2522 | minimum: Ttl(0x11121314), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1112_1314` [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/wire.rs:2731:24 [INFO] [stderr] | [INFO] [stderr] 2731 | let expected = 0x12345678; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1234_5678` [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/wire.rs:2934:34 [INFO] [stderr] | [INFO] [stderr] 2934 | serial: SerialNumber(0x01020304), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [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/wire.rs:2935:26 [INFO] [stderr] | [INFO] [stderr] 2935 | refresh: Ttl(0x05060708), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0506_0708` [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/wire.rs:2936:24 [INFO] [stderr] | [INFO] [stderr] 2936 | retry: Ttl(0x090a0b0c), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x090a_0b0c` [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/wire.rs:2937:25 [INFO] [stderr] | [INFO] [stderr] 2937 | expire: Ttl(0x0d0e0f10), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0d0e_0f10` [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/wire.rs:2938:26 [INFO] [stderr] | [INFO] [stderr] 2938 | minimum: Ttl(0x11121314), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1112_1314` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/format.rs:116:19 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn as_u16(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/format.rs:127:19 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn as_u16(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/format.rs:163:19 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn as_u16(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/format.rs:174:19 [INFO] [stderr] | [INFO] [stderr] 174 | pub fn as_u16(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/serial.rs:29:19 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn as_u32(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ttl.rs:8:19 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn as_u32(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/wire.rs:267:18 [INFO] [stderr] | [INFO] [stderr] 267 | for i in 0..HEADER_LEN { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 267 | for in buffer.iter_mut().take(HEADER_LEN) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:280:18 [INFO] [stderr] | [INFO] [stderr] 280 | let hi = (*self.buffer.get_unchecked(index + 0) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(*self.buffer.get_unchecked(index + 0))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `index` [INFO] [stderr] --> src/wire.rs:280:46 [INFO] [stderr] | [INFO] [stderr] 280 | let hi = (*self.buffer.get_unchecked(index + 0) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(*self.buffer.get_unchecked(index + 1) as u16)` [INFO] [stderr] --> src/wire.rs:281:18 [INFO] [stderr] | [INFO] [stderr] 281 | let lo = (*self.buffer.get_unchecked(index + 1) as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:281:18 [INFO] [stderr] | [INFO] [stderr] 281 | let lo = (*self.buffer.get_unchecked(index + 1) as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(*self.buffer.get_unchecked(index + 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `index` [INFO] [stderr] --> src/wire.rs:287:40 [INFO] [stderr] | [INFO] [stderr] 287 | *self.buffer.get_unchecked_mut(index + 0) = (v >> 8) as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v` [INFO] [stderr] --> src/wire.rs:288:53 [INFO] [stderr] | [INFO] [stderr] 288 | *self.buffer.get_unchecked_mut(index + 1) = (v >> 0) as u8; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v` [INFO] [stderr] --> src/wire.rs:333:35 [INFO] [stderr] | [INFO] [stderr] 333 | self.encode_u8_at(&mut w, (v >> 0) as u8)?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v` [INFO] [stderr] --> src/wire.rs:341:36 [INFO] [stderr] | [INFO] [stderr] 341 | self.encode_u16_at(&mut w, (v >> 0) as u16)?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/wire.rs:392:9 [INFO] [stderr] | [INFO] [stderr] 392 | / match rdata { [INFO] [stderr] 393 | | &RData::A { ref address } => self.encode_octets_at(&mut w, &address.octets()[..])?, [INFO] [stderr] 394 | | &RData::CName { ref cname } => self.encode_name_at(&mut w, cname)?, [INFO] [stderr] 395 | | &RData::NS { ref nsdname } => self.encode_name_at(&mut w, nsdname)?, [INFO] [stderr] ... | [INFO] [stderr] 405 | | &RData::Other { ref octets } => self.encode_octets_at(&mut w, octets.as_ref())?, [INFO] [stderr] 406 | | } [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] 392 | match *rdata { [INFO] [stderr] 393 | RData::A { ref address } => self.encode_octets_at(&mut w, &address.octets()[..])?, [INFO] [stderr] 394 | RData::CName { ref cname } => self.encode_name_at(&mut w, cname)?, [INFO] [stderr] 395 | RData::NS { ref nsdname } => self.encode_name_at(&mut w, nsdname)?, [INFO] [stderr] 396 | RData::SOA { ref mname, ref rname, serial, refresh, retry, expire, minimum } => { [INFO] [stderr] 397 | self.encode_name_at(&mut w, mname)?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/wire.rs:603:9 [INFO] [stderr] | [INFO] [stderr] 603 | / match self { [INFO] [stderr] 604 | | &DecoderError::BadRdlength => "RDATA content does not match RDLENGTH", [INFO] [stderr] 605 | | &DecoderError::InfiniteName => "Domain name compression results in an infinite name", [INFO] [stderr] 606 | | &DecoderError::InvalidLabelLength => "Domain name label field is invalid", [INFO] [stderr] ... | [INFO] [stderr] 610 | | &DecoderError::UnexpectedOctets => "Message contains extra octets", [INFO] [stderr] 611 | | } [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] 603 | match *self { [INFO] [stderr] 604 | DecoderError::BadRdlength => "RDATA content does not match RDLENGTH", [INFO] [stderr] 605 | DecoderError::InfiniteName => "Domain name compression results in an infinite name", [INFO] [stderr] 606 | DecoderError::InvalidLabelLength => "Domain name label field is invalid", [INFO] [stderr] 607 | DecoderError::InvalidName => "Domain name contains one or more invalid characters", [INFO] [stderr] 608 | DecoderError::NameOffsetOutOfRange => "Domain name compression offset is out of range", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:659:18 [INFO] [stderr] | [INFO] [stderr] 659 | let hi = (w.decode_u8()? as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(w.decode_u8()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(w.decode_u8()? as u16)` [INFO] [stderr] --> src/wire.rs:660:18 [INFO] [stderr] | [INFO] [stderr] 660 | let lo = (w.decode_u8()? as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:660:18 [INFO] [stderr] | [INFO] [stderr] 660 | let lo = (w.decode_u8()? as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(w.decode_u8()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:667:18 [INFO] [stderr] | [INFO] [stderr] 667 | let hi = (w.decode_u16()? as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(w.decode_u16()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:668:18 [INFO] [stderr] | [INFO] [stderr] 668 | let lo = w.decode_u16()? as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(w.decode_u16()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/wire.rs:946:18 [INFO] [stderr] | [INFO] [stderr] 946 | let x = *self.buffer.offset(self.cursor as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.buffer.add(self.cursor)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:952:18 [INFO] [stderr] | [INFO] [stderr] 952 | let hi = (self.decode_u8_unchecked() as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.decode_u8_unchecked())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(self.decode_u8_unchecked() as u16)` [INFO] [stderr] --> src/wire.rs:953:18 [INFO] [stderr] | [INFO] [stderr] 953 | let lo = (self.decode_u8_unchecked() as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:953:18 [INFO] [stderr] | [INFO] [stderr] 953 | let lo = (self.decode_u8_unchecked() as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.decode_u8_unchecked())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:958:18 [INFO] [stderr] | [INFO] [stderr] 958 | let hi = (self.decode_u16_unchecked() as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.decode_u16_unchecked())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(self.decode_u16_unchecked() as u32)` [INFO] [stderr] --> src/wire.rs:959:18 [INFO] [stderr] | [INFO] [stderr] 959 | let lo = (self.decode_u16_unchecked() as u32) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:959:18 [INFO] [stderr] | [INFO] [stderr] 959 | let lo = (self.decode_u16_unchecked() as u32) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.decode_u16_unchecked())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/wire.rs:965:44 [INFO] [stderr] | [INFO] [stderr] 965 | let x = std::slice::from_raw_parts(self.buffer.offset(self.cursor as isize), n); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.buffer.add(self.cursor)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: the `len @ _` pattern can be written as just `len` [INFO] [stderr] --> src/wire.rs:996:21 [INFO] [stderr] | [INFO] [stderr] 996 | len @ _ => Some(std::str::from_utf8_unchecked(self.decode_octets_unchecked(len))), [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/server.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / match self { [INFO] [stderr] 25 | | &ServerError::Io { ref what, .. } => what, [INFO] [stderr] 26 | | } [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] 24 | match *self { [INFO] [stderr] 25 | ServerError::Io { ref what, .. } => what, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/server.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | / match self { [INFO] [stderr] 34 | | &ServerError::Io { ref inner, .. } => write!(f, "{}: {}", d, inner), [INFO] [stderr] 35 | | } [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] 33 | match *self { [INFO] [stderr] 34 | ServerError::Io { ref inner, .. } => write!(f, "{}: {}", d, inner), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/format.rs:116:19 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn as_u16(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/format.rs:127:19 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn as_u16(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/format.rs:163:19 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn as_u16(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/format.rs:174:19 [INFO] [stderr] | [INFO] [stderr] 174 | pub fn as_u16(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/serial.rs:29:19 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn as_u32(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/serial.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | / fn serial_number_partial_cmp() { [INFO] [stderr] 111 | | use std::cmp::Ordering::*; [INFO] [stderr] 112 | | [INFO] [stderr] 113 | | let f = |x, y| SerialNumber(x).partial_cmp(&SerialNumber(y)); [INFO] [stderr] ... | [INFO] [stderr] 161 | | assert_eq!(f(0x_ffff_ffff, 0x_7fff_ffff), None); [INFO] [stderr] 162 | | } [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ttl.rs:8:19 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn as_u32(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/wire.rs:267:18 [INFO] [stderr] | [INFO] [stderr] 267 | for i in 0..HEADER_LEN { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 267 | for in buffer.iter_mut().take(HEADER_LEN) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:280:18 [INFO] [stderr] | [INFO] [stderr] 280 | let hi = (*self.buffer.get_unchecked(index + 0) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(*self.buffer.get_unchecked(index + 0))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `index` [INFO] [stderr] --> src/wire.rs:280:46 [INFO] [stderr] | [INFO] [stderr] 280 | let hi = (*self.buffer.get_unchecked(index + 0) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(*self.buffer.get_unchecked(index + 1) as u16)` [INFO] [stderr] --> src/wire.rs:281:18 [INFO] [stderr] | [INFO] [stderr] 281 | let lo = (*self.buffer.get_unchecked(index + 1) as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:281:18 [INFO] [stderr] | [INFO] [stderr] 281 | let lo = (*self.buffer.get_unchecked(index + 1) as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(*self.buffer.get_unchecked(index + 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `index` [INFO] [stderr] --> src/wire.rs:287:40 [INFO] [stderr] | [INFO] [stderr] 287 | *self.buffer.get_unchecked_mut(index + 0) = (v >> 8) as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v` [INFO] [stderr] --> src/wire.rs:288:53 [INFO] [stderr] | [INFO] [stderr] 288 | *self.buffer.get_unchecked_mut(index + 1) = (v >> 0) as u8; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v` [INFO] [stderr] --> src/wire.rs:333:35 [INFO] [stderr] | [INFO] [stderr] 333 | self.encode_u8_at(&mut w, (v >> 0) as u8)?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v` [INFO] [stderr] --> src/wire.rs:341:36 [INFO] [stderr] | [INFO] [stderr] 341 | self.encode_u16_at(&mut w, (v >> 0) as u16)?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/wire.rs:392:9 [INFO] [stderr] | [INFO] [stderr] 392 | / match rdata { [INFO] [stderr] 393 | | &RData::A { ref address } => self.encode_octets_at(&mut w, &address.octets()[..])?, [INFO] [stderr] 394 | | &RData::CName { ref cname } => self.encode_name_at(&mut w, cname)?, [INFO] [stderr] 395 | | &RData::NS { ref nsdname } => self.encode_name_at(&mut w, nsdname)?, [INFO] [stderr] ... | [INFO] [stderr] 405 | | &RData::Other { ref octets } => self.encode_octets_at(&mut w, octets.as_ref())?, [INFO] [stderr] 406 | | } [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] 392 | match *rdata { [INFO] [stderr] 393 | RData::A { ref address } => self.encode_octets_at(&mut w, &address.octets()[..])?, [INFO] [stderr] 394 | RData::CName { ref cname } => self.encode_name_at(&mut w, cname)?, [INFO] [stderr] 395 | RData::NS { ref nsdname } => self.encode_name_at(&mut w, nsdname)?, [INFO] [stderr] 396 | RData::SOA { ref mname, ref rname, serial, refresh, retry, expire, minimum } => { [INFO] [stderr] 397 | self.encode_name_at(&mut w, mname)?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/wire.rs:603:9 [INFO] [stderr] | [INFO] [stderr] 603 | / match self { [INFO] [stderr] 604 | | &DecoderError::BadRdlength => "RDATA content does not match RDLENGTH", [INFO] [stderr] 605 | | &DecoderError::InfiniteName => "Domain name compression results in an infinite name", [INFO] [stderr] 606 | | &DecoderError::InvalidLabelLength => "Domain name label field is invalid", [INFO] [stderr] ... | [INFO] [stderr] 610 | | &DecoderError::UnexpectedOctets => "Message contains extra octets", [INFO] [stderr] 611 | | } [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] 603 | match *self { [INFO] [stderr] 604 | DecoderError::BadRdlength => "RDATA content does not match RDLENGTH", [INFO] [stderr] 605 | DecoderError::InfiniteName => "Domain name compression results in an infinite name", [INFO] [stderr] 606 | DecoderError::InvalidLabelLength => "Domain name label field is invalid", [INFO] [stderr] 607 | DecoderError::InvalidName => "Domain name contains one or more invalid characters", [INFO] [stderr] 608 | DecoderError::NameOffsetOutOfRange => "Domain name compression offset is out of range", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:659:18 [INFO] [stderr] | [INFO] [stderr] 659 | let hi = (w.decode_u8()? as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(w.decode_u8()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(w.decode_u8()? as u16)` [INFO] [stderr] --> src/wire.rs:660:18 [INFO] [stderr] | [INFO] [stderr] 660 | let lo = (w.decode_u8()? as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:660:18 [INFO] [stderr] | [INFO] [stderr] 660 | let lo = (w.decode_u8()? as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(w.decode_u8()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:667:18 [INFO] [stderr] | [INFO] [stderr] 667 | let hi = (w.decode_u16()? as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(w.decode_u16()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:668:18 [INFO] [stderr] | [INFO] [stderr] 668 | let lo = w.decode_u16()? as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(w.decode_u16()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/wire.rs:946:18 [INFO] [stderr] | [INFO] [stderr] 946 | let x = *self.buffer.offset(self.cursor as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.buffer.add(self.cursor)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:952:18 [INFO] [stderr] | [INFO] [stderr] 952 | let hi = (self.decode_u8_unchecked() as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.decode_u8_unchecked())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(self.decode_u8_unchecked() as u16)` [INFO] [stderr] --> src/wire.rs:953:18 [INFO] [stderr] | [INFO] [stderr] 953 | let lo = (self.decode_u8_unchecked() as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:953:18 [INFO] [stderr] | [INFO] [stderr] 953 | let lo = (self.decode_u8_unchecked() as u16) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.decode_u8_unchecked())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:958:18 [INFO] [stderr] | [INFO] [stderr] 958 | let hi = (self.decode_u16_unchecked() as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.decode_u16_unchecked())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(self.decode_u16_unchecked() as u32)` [INFO] [stderr] --> src/wire.rs:959:18 [INFO] [stderr] | [INFO] [stderr] 959 | let lo = (self.decode_u16_unchecked() as u32) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wire.rs:959:18 [INFO] [stderr] | [INFO] [stderr] 959 | let lo = (self.decode_u16_unchecked() as u32) << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.decode_u16_unchecked())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/wire.rs:965:44 [INFO] [stderr] | [INFO] [stderr] 965 | let x = std::slice::from_raw_parts(self.buffer.offset(self.cursor as isize), n); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.buffer.add(self.cursor)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: the `len @ _` pattern can be written as just `len` [INFO] [stderr] --> src/wire.rs:996:21 [INFO] [stderr] | [INFO] [stderr] 996 | len @ _ => Some(std::str::from_utf8_unchecked(self.decode_octets_unchecked(len))), [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: redundant closure found [INFO] [stderr] --> src/wire.rs:1085:39 [INFO] [stderr] | [INFO] [stderr] 1085 | TestName(s.split('.').map(|x| String::from(x)).collect()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/server.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / match self { [INFO] [stderr] 25 | | &ServerError::Io { ref what, .. } => what, [INFO] [stderr] 26 | | } [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] 24 | match *self { [INFO] [stderr] 25 | ServerError::Io { ref what, .. } => what, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/server.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | / match self { [INFO] [stderr] 34 | | &ServerError::Io { ref inner, .. } => write!(f, "{}: {}", d, inner), [INFO] [stderr] 35 | | } [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] 33 | match *self { [INFO] [stderr] 34 | ServerError::Io { ref inner, .. } => write!(f, "{}: {}", d, inner), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.47s [INFO] running `"docker" "inspect" "bc3fa9f27b37e8975d960964f7850c11d8c16a06866c9b003158ff88346d0614"` [INFO] running `"docker" "rm" "-f" "bc3fa9f27b37e8975d960964f7850c11d8c16a06866c9b003158ff88346d0614"` [INFO] [stdout] bc3fa9f27b37e8975d960964f7850c11d8c16a06866c9b003158ff88346d0614