[INFO] cloning repository https://github.com/TylerStanish/dns [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TylerStanish/dns" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTylerStanish%2Fdns", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTylerStanish%2Fdns'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bb16ce0371ae5f1ea1d73430b67b5d6cf36035f1 [INFO] testing TylerStanish/dns against master#b03b3a7ec92682be2917540b679478d41c95a30c for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTylerStanish%2Fdns" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/TylerStanish/dns [INFO] finished tweaking git repo https://github.com/TylerStanish/dns [INFO] tweaked toml for git repo https://github.com/TylerStanish/dns written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/TylerStanish/dns on toolchain b03b3a7ec92682be2917540b679478d41c95a30c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/TylerStanish/dns already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded resize-slice v0.1.3 [INFO] [stderr] Downloaded uninitialized v0.0.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 713bc45acef4289fcd7d249ed1e2b1a48d68f302568edb8a6c1de43a8baaa348 [INFO] running `Command { std: "docker" "start" "-a" "713bc45acef4289fcd7d249ed1e2b1a48d68f302568edb8a6c1de43a8baaa348", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "713bc45acef4289fcd7d249ed1e2b1a48d68f302568edb8a6c1de43a8baaa348", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "713bc45acef4289fcd7d249ed1e2b1a48d68f302568edb8a6c1de43a8baaa348", kill_on_drop: false }` [INFO] [stdout] 713bc45acef4289fcd7d249ed1e2b1a48d68f302568edb8a6c1de43a8baaa348 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ead28ae7eeb393b00960aad1850291d1d8840358abfb18e9dc657a0c656c2872 [INFO] running `Command { std: "docker" "start" "-a" "ead28ae7eeb393b00960aad1850291d1d8840358abfb18e9dc657a0c656c2872", kill_on_drop: false }` [INFO] [stderr] Compiling uninitialized v0.0.2 [INFO] [stderr] Compiling linked-hash-map v0.5.3 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling resize-slice v0.1.3 [INFO] [stderr] Compiling yaml-rust v0.4.4 [INFO] [stderr] Compiling ttl_cache v0.5.1 [INFO] [stderr] Compiling dns v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ResponseCode` [INFO] [stdout] --> src/answer.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::header::{ResourceType, ResponseCode}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromBytes` [INFO] [stdout] --> src/answer.rs:3:63 [INFO] [stdout] | [INFO] [stdout] 3 | deserialize_domain_from_bytes, serialize_domain_to_bytes, FromBytes, ToBytes, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SoaInformation` and `extract_string` [INFO] [stdout] --> src/authority.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::record::{extract_string, Record, SoaInformation}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::blocklist` [INFO] [stdout] --> src/client.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::blocklist; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResourceType` [INFO] [stdout] --> src/client.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::header::{ResourceType, ResponseCode}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::query::DnsQuery` [INFO] [stdout] --> src/client.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::query::DnsQuery; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SoaInformation` [INFO] [stdout] --> src/client.rs:8:40 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::record::{RecordInformation, SoaInformation}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `deserialize_domain_from_bytes` [INFO] [stdout] --> src/client.rs:10:95 [INFO] [stdout] | [INFO] [stdout] 10 | deserialize_ipv4_from_str, deserialize_ipv6_from_str, serialize_domain_to_bytes, ToBytes, deserialize_domain_from_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResourceType` [INFO] [stdout] --> src/packet.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::header::{DnsHeader, ResourceType, ResponseCode}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResponseCode` [INFO] [stdout] --> src/query.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::header::{ResourceType, ResponseCode}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromBytes` [INFO] [stdout] --> src/query.rs:3:63 [INFO] [stdout] | [INFO] [stdout] 3 | deserialize_domain_from_bytes, serialize_domain_to_bytes, FromBytes, ToBytes, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DnsHeader` [INFO] [stdout] --> src/resolvers.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::header::{DnsHeader, ResourceType}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::header::ResponseCode` [INFO] [stdout] --> src/serialization.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::header::ResponseCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::packet::DnsPacket` [INFO] [stdout] --> src/serialization.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::packet::DnsPacket; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ByteOrder` [INFO] [stdout] --> src/record.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use byteorder::{ByteOrder, NetworkEndian, WriteBytesExt}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/header.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | _ => 0, // FIXME should this be 0? [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/header.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 19 | Self::Unused => 0, [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] 20 | Self::A => 1, [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] 21 | Self::NS => 2, [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] 22 | Self::CName => 5, [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 26 | _ => 0, // FIXME should this be 0? [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `flags` is never read [INFO] [stdout] --> src/header.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | let mut flags = 0u16; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/query.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | Err(code) => return Err(DnsQuery::new()), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/authority.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Authority { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 19 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_nameserver` is never used [INFO] [stdout] --> src/client.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn get_nameserver() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_error` is never used [INFO] [stdout] --> src/packet.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl DnsPacket { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn new_error(err: ResponseCode) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/record.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl Record { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 48 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/record.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl SoaInformation { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 87 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/record.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 140 | impl MXInformation { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 141 | pub fn new(preference: u16, exchange: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stub_resolver` is never used [INFO] [stdout] --> src/resolvers.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn stub_resolver(_host: &str, req: packet::DnsPacket) -> packet::DnsPacket { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/packet.rs:45:35 [INFO] [stdout] | [INFO] [stdout] 45 | let original_bytes = bytes.clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/serialization.rs:25:54 [INFO] [stdout] | [INFO] [stdout] 25 | res.append(&mut Vec::from(word.as_bytes().clone())); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.50s [INFO] running `Command { std: "docker" "inspect" "ead28ae7eeb393b00960aad1850291d1d8840358abfb18e9dc657a0c656c2872", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ead28ae7eeb393b00960aad1850291d1d8840358abfb18e9dc657a0c656c2872", kill_on_drop: false }` [INFO] [stdout] ead28ae7eeb393b00960aad1850291d1d8840358abfb18e9dc657a0c656c2872 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 32e772a4914915b274338729336b9d8ef1da559487d0901139638c54ae930e27 [INFO] running `Command { std: "docker" "start" "-a" "32e772a4914915b274338729336b9d8ef1da559487d0901139638c54ae930e27", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.72 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling difference v2.0.0 [INFO] [stderr] Compiling pretty_assertions v0.6.1 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling dns v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ResponseCode` [INFO] [stdout] --> src/answer.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::header::{ResourceType, ResponseCode}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extract_string` [INFO] [stdout] --> src/authority.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::record::{extract_string, Record, SoaInformation}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `create_dir` and `remove_dir_all` [INFO] [stdout] --> src/authority.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | use std::fs::{create_dir, read_dir, remove_dir, remove_dir_all, File}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/authority.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::blocklist` [INFO] [stdout] --> src/client.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::blocklist; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `deserialize_domain_from_bytes` [INFO] [stdout] --> src/client.rs:10:95 [INFO] [stdout] | [INFO] [stdout] 10 | deserialize_ipv4_from_str, deserialize_ipv6_from_str, serialize_domain_to_bytes, ToBytes, deserialize_domain_from_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `remove_file` [INFO] [stdout] --> src/client.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | use std::fs::{remove_file, File}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResponseCode` [INFO] [stdout] --> src/query.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::header::{ResourceType, ResponseCode}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DnsHeader` [INFO] [stdout] --> src/resolvers.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::header::{DnsHeader, ResourceType}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::header::ResponseCode` [INFO] [stdout] --> src/serialization.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::header::ResponseCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::packet::DnsPacket` [INFO] [stdout] --> src/serialization.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::packet::DnsPacket; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromBytes` [INFO] [stdout] --> src/answer.rs:3:63 [INFO] [stdout] | [INFO] [stdout] 3 | deserialize_domain_from_bytes, serialize_domain_to_bytes, FromBytes, ToBytes, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromBytes` [INFO] [stdout] --> src/query.rs:3:63 [INFO] [stdout] | [INFO] [stdout] 3 | deserialize_domain_from_bytes, serialize_domain_to_bytes, FromBytes, ToBytes, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ByteOrder` [INFO] [stdout] --> src/record.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use byteorder::{ByteOrder, NetworkEndian, WriteBytesExt}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/header.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | _ => 0, // FIXME should this be 0? [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/header.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 19 | Self::Unused => 0, [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] 20 | Self::A => 1, [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] 21 | Self::NS => 2, [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] 22 | Self::CName => 5, [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 26 | _ => 0, // FIXME should this be 0? [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `flags` is never read [INFO] [stdout] --> src/header.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | let mut flags = 0u16; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/query.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | Err(code) => return Err(DnsQuery::new()), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/record.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | let mut expected_mx_info = MXInformation::new(42, "mail.foo.com".to_owned()); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_nameserver` is never used [INFO] [stdout] --> src/client.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn get_nameserver() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_error` is never used [INFO] [stdout] --> src/packet.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl DnsPacket { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn new_error(err: ResponseCode) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stub_resolver` is never used [INFO] [stdout] --> src/resolvers.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn stub_resolver(_host: &str, req: packet::DnsPacket) -> packet::DnsPacket { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/packet.rs:45:35 [INFO] [stdout] | [INFO] [stdout] 45 | let original_bytes = bytes.clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/serialization.rs:25:54 [INFO] [stdout] | [INFO] [stdout] 25 | res.append(&mut Vec::from(word.as_bytes().clone())); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.52s [INFO] running `Command { std: "docker" "inspect" "32e772a4914915b274338729336b9d8ef1da559487d0901139638c54ae930e27", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32e772a4914915b274338729336b9d8ef1da559487d0901139638c54ae930e27", kill_on_drop: false }` [INFO] [stdout] 32e772a4914915b274338729336b9d8ef1da559487d0901139638c54ae930e27 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5c8879ea9c947829a17b08b9435ac82d85c3e6857091659bab4f6546c4072ea3 [INFO] running `Command { std: "docker" "start" "-a" "5c8879ea9c947829a17b08b9435ac82d85c3e6857091659bab4f6546c4072ea3", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `ResponseCode` [INFO] [stderr] --> src/answer.rs:1:35 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::header::{ResourceType, ResponseCode}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `extract_string` [INFO] [stderr] --> src/authority.rs:9:21 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::record::{extract_string, Record, SoaInformation}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `create_dir` and `remove_dir_all` [INFO] [stderr] --> src/authority.rs:91:19 [INFO] [stderr] | [INFO] [stderr] 91 | use std::fs::{create_dir, read_dir, remove_dir, remove_dir_all, File}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/authority.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 93 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::blocklist` [INFO] [stderr] --> src/client.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::blocklist; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `deserialize_domain_from_bytes` [INFO] [stderr] --> src/client.rs:10:95 [INFO] [stderr] | [INFO] [stderr] 10 | deserialize_ipv4_from_str, deserialize_ipv6_from_str, serialize_domain_to_bytes, ToBytes, deserialize_domain_from_bytes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `remove_file` [INFO] [stderr] --> src/client.rs:190:19 [INFO] [stderr] | [INFO] [stderr] 190 | use std::fs::{remove_file, File}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ResponseCode` [INFO] [stderr] --> src/query.rs:1:35 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::header::{ResourceType, ResponseCode}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DnsHeader` [INFO] [stderr] --> src/resolvers.rs:2:21 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::header::{DnsHeader, ResourceType}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::header::ResponseCode` [INFO] [stderr] --> src/serialization.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::header::ResponseCode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::packet::DnsPacket` [INFO] [stderr] --> src/serialization.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::packet::DnsPacket; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FromBytes` [INFO] [stderr] --> src/answer.rs:3:63 [INFO] [stderr] | [INFO] [stderr] 3 | deserialize_domain_from_bytes, serialize_domain_to_bytes, FromBytes, ToBytes, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FromBytes` [INFO] [stderr] --> src/query.rs:3:63 [INFO] [stderr] | [INFO] [stderr] 3 | deserialize_domain_from_bytes, serialize_domain_to_bytes, FromBytes, ToBytes, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ByteOrder` [INFO] [stderr] --> src/record.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use byteorder::{ByteOrder, NetworkEndian, WriteBytesExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/header.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | _ => 0, // FIXME should this be 0? [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/header.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 19 | Self::Unused => 0, [INFO] [stderr] | ------------ matches some of the same values [INFO] [stderr] 20 | Self::A => 1, [INFO] [stderr] | ------- matches some of the same values [INFO] [stderr] 21 | Self::NS => 2, [INFO] [stderr] | -------- matches some of the same values [INFO] [stderr] 22 | Self::CName => 5, [INFO] [stderr] | ----------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 26 | _ => 0, // FIXME should this be 0? [INFO] [stderr] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `flags` is never read [INFO] [stderr] --> src/header.rs:192:17 [INFO] [stderr] | [INFO] [stderr] 192 | let mut flags = 0u16; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `code` [INFO] [stderr] --> src/query.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | Err(code) => return Err(DnsQuery::new()), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/record.rs:265:13 [INFO] [stderr] | [INFO] [stderr] 265 | let mut expected_mx_info = MXInformation::new(42, "mail.foo.com".to_owned()); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `get_nameserver` is never used [INFO] [stderr] --> src/client.rs:178:4 [INFO] [stderr] | [INFO] [stderr] 178 | fn get_nameserver() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function `new_error` is never used [INFO] [stderr] --> src/packet.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 19 | impl DnsPacket { [INFO] [stderr] | -------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 30 | pub fn new_error(err: ResponseCode) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `stub_resolver` is never used [INFO] [stderr] --> src/resolvers.rs:7:8 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn stub_resolver(_host: &str, req: packet::DnsPacket) -> packet::DnsPacket { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/packet.rs:45:35 [INFO] [stderr] | [INFO] [stderr] 45 | let original_bytes = bytes.clone(); [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/serialization.rs:25:54 [INFO] [stderr] | [INFO] [stderr] 25 | res.append(&mut Vec::from(word.as_bytes().clone())); [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: `dns` (bin "dns" test) generated 23 warnings (run `cargo fix --bin "dns" --tests` to apply 14 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/dns-da225d56fdf819cc) [INFO] [stdout] running 50 tests [INFO] [stdout] test answer::tests::test_dns_answer_from_bytes ... ok [INFO] [stdout] test authority::tests::test_authorities_with_real_files ... ok [INFO] [stdout] test answer::tests::test_from_bytes_and_to_bytes ... ok [INFO] [stdout] test answer::tests::test_dns_answer_to_bytes ... ok [INFO] [stdout] test authority::tests::test_authority_new_from_yaml ... ok [INFO] [stdout] test authority::tests::test_create_authorities_directory_if_absent ... ok [INFO] [stdout] test blocklist::tests::test_validate_blocklist_entry ... ok [INFO] [stdout] test client::tests::accepts_single_question_only ... ok [INFO] [stdout] test client::tests::test_client_blocklist ... ok [INFO] [stdout] test client::tests::test_gives_error_for_invalid_domain ... ok [INFO] [stdout] test client::tests::test_inverse_query ... ok [INFO] [stdout] test client::tests::test_query_hits_cache ... ok [INFO] [stdout] test client::tests::test_authoritative_query ... ok [INFO] [stdout] test header::tests::test_header_from_bytes ... ok [INFO] [stdout] test header::tests::test_header_from_bytes_with_more_nonzero_flags_and_opcode ... ok [INFO] [stdout] test header::tests::test_header_from_bytes_with_more_nonzero_flags ... ok [INFO] [stdout] test header::tests::test_multibit_from_bytes_and_bounds ... ok [INFO] [stdout] test header::tests::test_response_header_to_bytes ... ok [INFO] [stdout] test header::tests::test_z_in_bounds ... ok [INFO] [stdout] test header::tests::test_z_out_of_bounds ... ok [INFO] [stdout] test packet::tests::test_packet_from_bytes_with_one_answer ... ok [INFO] [stdout] test header::tests::test_header_from_bytes_with_nonzero_counts ... ok [INFO] [stdout] test packet::tests::test_request_from_bytes_with_many_questions ... ok [INFO] [stdout] test header::tests::test_header_to_bytes_all_zero ... ok [INFO] [stdout] test packet::tests::test_request_from_bytes_with_one_question ... ok [INFO] [stdout] test packet::tests::test_request_from_bytes_zero_questions ... ok [INFO] [stdout] test query::tests::test_dns_query_to_bytes ... ok [INFO] [stdout] test query::tests::test_query_from_bytes ... ok [INFO] [stdout] test packet::tests::test_packet_additional_and_authority ... ok [INFO] [stdout] test packet::tests::test_packet_from_bytes_with_many_answers ... ok [INFO] [stdout] test packet::tests::test_packet_from_bytes_with_pointers ... ok [INFO] [stdout] test query::tests::test_query_from_bytes_multiple_queries ... ok [INFO] [stdout] test packet::tests::test_packet_to_bytes_and_from_bytes ... ok [INFO] [stdout] test record::tests::test_soa_info_from_yaml ... ok [INFO] [stdout] test serialization::tests::test_deserialize_domain_from_bytes_with_pointer ... ok [INFO] [stdout] test serialization::tests::test_deserialize_domain_from_bytes_with_subdomain ... ok [INFO] [stdout] test serialization::tests::test_deserialize_domain_from_bytes ... ok [INFO] [stdout] test record::tests::test_mx_info_to_bytes ... ok [INFO] [stdout] test record::tests::test_record_from_yaml ... ok [INFO] [stdout] test query::tests::test_query_from_bytes_with_subdomain ... ok [INFO] [stdout] test record::tests::test_mx_info_from_yaml ... ok [INFO] [stdout] test record::tests::test_soa_info_to_bytes ... ok [INFO] [stdout] test serialization::tests::test_expand_pointers ... ok [INFO] [stdout] test serialization::tests::test_serialize_domain_to_bytes ... ok [INFO] [stdout] test serialization::tests::test_serialize_domain_to_bytes_with_subdomain ... ok [INFO] [stdout] test serialization::tests::test_deserialize_ipv4_from_str ... ok [INFO] [stdout] test serialization::tests::test_deserialize_ipv6_from_str ... ok [INFO] [stdout] test authority::tests::test_fails_with_zero_soa_records - should panic ... ok [INFO] [stdout] test authority::tests::test_fails_with_two_soa_records - should panic ... ok [INFO] [stdout] test tests::test_invalid_yaml_fails_early - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5c8879ea9c947829a17b08b9435ac82d85c3e6857091659bab4f6546c4072ea3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5c8879ea9c947829a17b08b9435ac82d85c3e6857091659bab4f6546c4072ea3", kill_on_drop: false }` [INFO] [stdout] 5c8879ea9c947829a17b08b9435ac82d85c3e6857091659bab4f6546c4072ea3