[INFO] cloning repository https://github.com/Unbreak4ble/dns-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Unbreak4ble/dns-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnbreak4ble%2Fdns-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnbreak4ble%2Fdns-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d86007c1a10cbb665fa61981aa567b94402c986e
[INFO] checking Unbreak4ble/dns-server against 4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d for pr-159598
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnbreak4ble%2Fdns-server" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Unbreak4ble/dns-server
[INFO] finished tweaking git repo https://github.com/Unbreak4ble/dns-server
[INFO] tweaked toml for git repo https://github.com/Unbreak4ble/dns-server written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Unbreak4ble/dns-server on toolchain 4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Unbreak4ble/dns-server 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" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking Unbreak4ble/dns-server against 4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d for pr-159598
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnbreak4ble%2Fdns-server" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Unbreak4ble/dns-server
[INFO] finished tweaking git repo https://github.com/Unbreak4ble/dns-server
[INFO] tweaked toml for git repo https://github.com/Unbreak4ble/dns-server written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Unbreak4ble/dns-server on toolchain 4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Unbreak4ble/dns-server 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" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_json v1.0.102
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e
[INFO] running `Command { std: "docker" "start" "0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e" "/opt/rustwide/cargo-home/bin/cargo" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e" "/opt/rustwide/cargo-home/bin/cargo" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.64
[INFO] [stderr]    Compiling unicode-ident v1.0.10
[INFO] [stderr]    Compiling quote v1.0.29
[INFO] [stderr]    Compiling serde v1.0.171
[INFO] [stderr]    Compiling tokio v1.29.1
[INFO] [stderr]    Compiling serde_json v1.0.102
[INFO] [stderr]     Checking ryu v1.0.14
[INFO] [stderr]     Checking itoa v1.0.8
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]    Compiling syn v2.0.25
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]     Checking rdns v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Number`
[INFO] [stdout]  --> src/domain_handler.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::{Number, Value};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DNS_RR` should have an upper camel case name
[INFO] [stdout]  --> src/dns.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct DNS_RR {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to upper camel case: `DnsRr`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DNS_PACKET` should have an upper camel case name
[INFO] [stdout]   --> src/dns.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct DNS_PACKET {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `DnsPacket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DNS_RR` and `decodeContent`
[INFO] [stdout]  --> src/dns_server.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::dns::{DNS_PACKET, DNS_RR, decodeContent};
[INFO] [stdout]   |                              ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hex_to_int` and `string_to_ip`
[INFO] [stdout]  --> src/dns_server.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::net::{IpAddr, hex_to_int, string_to_ip, ipvx_to_array, ipvx_to_string};
[INFO] [stdout]   |                          ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Number`
[INFO] [stdout]  --> src/domain_handler.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::{Number, Value};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DNS_RR` should have an upper camel case name
[INFO] [stdout]  --> src/dns.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct DNS_RR {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to upper camel case: `DnsRr`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DNS_PACKET` should have an upper camel case name
[INFO] [stdout]   --> src/dns.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct DNS_PACKET {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `DnsPacket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DNS_RR` and `decodeContent`
[INFO] [stdout]  --> src/dns_server.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::dns::{DNS_PACKET, DNS_RR, decodeContent};
[INFO] [stdout]   |                              ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hex_to_int` and `string_to_ip`
[INFO] [stdout]  --> src/dns_server.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::net::{IpAddr, hex_to_int, string_to_ip, ipvx_to_array, ipvx_to_string};
[INFO] [stdout]   |                          ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/dns_server.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let mut ip = ipvx_to_string(nameserv);
[INFO] [stdout]    |                     ----^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/dns_server.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | /     loop {
[INFO] [stdout] 100 | |         let (size, src_sock) = socket.recv_from(&mut buff)?;
[INFO] [stdout] 101 | |         let mut packet_decoded: DNS_PACKET = Default::default();
[INFO] [stdout] 102 | |         packet_decoded.decode(&buff[0..size].to_vec());
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |         socket.send_to(buff, &src_sock)?;
[INFO] [stdout] 112 | |     };
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 113 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dns_server.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut buff: &[u8] = &mut pkt;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/dns_server.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let mut ip = ipvx_to_string(nameserv);
[INFO] [stdout]    |                     ----^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/dns_server.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | /     loop {
[INFO] [stdout] 100 | |         let (size, src_sock) = socket.recv_from(&mut buff)?;
[INFO] [stdout] 101 | |         let mut packet_decoded: DNS_PACKET = Default::default();
[INFO] [stdout] 102 | |         packet_decoded.decode(&buff[0..size].to_vec());
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |         socket.send_to(buff, &src_sock)?;
[INFO] [stdout] 112 | |     };
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 113 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dns_server.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut buff: &[u8] = &mut pkt;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/domain_handler.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         ref Value => {
[INFO] [stdout]    |         --------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 15 |         _ => panic!("cannot read json."),
[INFO] [stdout]    |         ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Value`
[INFO] [stdout]   --> src/domain_handler.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         ref Value => {
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Value`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `content` is never read
[INFO] [stdout]   --> src/domain_handler.rs:66:30
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut content: Value = Value::Null;
[INFO] [stdout]    |                              ^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 67 |     unsafe { content = _json.clone(); }
[INFO] [stdout]    |              ------- `content` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dns.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut neededIdx=0;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `neededIdx`
[INFO] [stdout]    --> src/dns.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut neededIdx=0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_neededIdx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]    --> src/dns.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         for byte in buffer {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qd`
[INFO] [stdout]    --> src/dns.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         for qd in 0..self.qdcount {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_qd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qd`
[INFO] [stdout]    --> src/dns.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         for qd in 0..self.ancount {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_qd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qd`
[INFO] [stdout]    --> src/dns.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         for qd in 0..self.nscount {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_qd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qd`
[INFO] [stdout]    --> src/dns.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         for qd in 0..self.arcount {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_qd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/dns.rs:237:30
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 if let Some((content, idx)) = some {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/dns_server.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if let IpAddr::Ipv4(a,b,c,d) = nameserv {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/dns_server.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if let IpAddr::Ipv4(a,b,c,d) = nameserv {
[INFO] [stdout]    |                                   ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/dns_server.rs:80:37
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if let IpAddr::Ipv4(a,b,c,d) = nameserv {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> src/dns_server.rs:80:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if let IpAddr::Ipv4(a,b,c,d) = nameserv {
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/dns_server.rs:85:30
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     let (sz, src) = socket.recv_from(&mut buff)?;
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makeNXDomain` is never used
[INFO] [stdout]  --> src/dns_server.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn makeNXDomain(packet: &mut DNS_PACKET) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     dns_server::run_server(String::from("192.168.18.243")).await;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _ = dns_server::run_server(String::from("192.168.18.243")).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `_json` should have an upper case name
[INFO] [stdout]  --> src/domain_handler.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | static mut _json: Value = Value::Null;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 4 - static mut _json: Value = Value::Null;
[INFO] [stdout] 4 + static mut _JSON: Value = Value::Null;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `loadJson` should have a snake case name
[INFO] [stdout]  --> src/domain_handler.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn loadJson(path: String) {
[INFO] [stdout]   |        ^^^^^^^^ help: convert the identifier to snake case: `load_json`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Value` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         ref Value => {
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `requestNSList` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn requestNSList() -> Option<Vec<net::IpAddr>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `request_nslist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getGenericAddress` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn getGenericAddress() -> Result<Vec<net::IpAddr>, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_generic_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `requestAddresses` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn requestAddresses(dmn: &String, typ: u16) -> Result<Vec<net::IpAddr>, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `request_addresses`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/domain_handler.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |     unsafe { content = _json.clone(); }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IpList` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut IpList: Vec<net::IpAddr> = Vec::new();
[INFO] [stdout]    |                         ^^^^^^ help: convert the identifier to snake case: `ip_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `neededIdx` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut neededIdx=0;
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `needed_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newAnswer` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn newAnswer(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to snake case: `new_answer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newAuthority` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn newAuthority(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `new_authority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newAdditional` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn newAdditional(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_additional`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decodeContent` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:302:8
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub fn decodeContent(buffer: Vec<u8>) -> Option<(Vec<u8>, u16)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makeNXDomain` should have a snake case name
[INFO] [stdout]  --> src/dns_server.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn makeNXDomain(packet: &mut DNS_PACKET) {
[INFO] [stdout]   |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `make_nxdomain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makeAnswer` should have a snake case name
[INFO] [stdout]   --> src/dns_server.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | async fn makeAnswer(packet: &mut DNS_PACKET, generic: bool) {
[INFO] [stdout]    |          ^^^^^^^^^^ help: convert the identifier to snake case: `make_answer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/domain_handler.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         ref Value => {
[INFO] [stdout]    |         --------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 15 |         _ => panic!("cannot read json."),
[INFO] [stdout]    |         ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Value`
[INFO] [stdout]   --> src/domain_handler.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         ref Value => {
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Value`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `content` is never read
[INFO] [stdout]   --> src/domain_handler.rs:66:30
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut content: Value = Value::Null;
[INFO] [stdout]    |                              ^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 67 |     unsafe { content = _json.clone(); }
[INFO] [stdout]    |              ------- `content` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dns.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut neededIdx=0;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `neededIdx`
[INFO] [stdout]    --> src/dns.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut neededIdx=0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_neededIdx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]    --> src/dns.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         for byte in buffer {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qd`
[INFO] [stdout]    --> src/dns.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         for qd in 0..self.qdcount {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_qd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qd`
[INFO] [stdout]    --> src/dns.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         for qd in 0..self.ancount {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_qd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qd`
[INFO] [stdout]    --> src/dns.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         for qd in 0..self.nscount {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_qd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qd`
[INFO] [stdout]    --> src/dns.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         for qd in 0..self.arcount {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_qd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/dns.rs:237:30
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 if let Some((content, idx)) = some {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/dns_server.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if let IpAddr::Ipv4(a,b,c,d) = nameserv {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/dns_server.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if let IpAddr::Ipv4(a,b,c,d) = nameserv {
[INFO] [stdout]    |                                   ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/dns_server.rs:80:37
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if let IpAddr::Ipv4(a,b,c,d) = nameserv {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> src/dns_server.rs:80:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if let IpAddr::Ipv4(a,b,c,d) = nameserv {
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/dns_server.rs:85:30
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     let (sz, src) = socket.recv_from(&mut buff)?;
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makeNXDomain` is never used
[INFO] [stdout]  --> src/dns_server.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn makeNXDomain(packet: &mut DNS_PACKET) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     dns_server::run_server(String::from("192.168.18.243")).await;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _ = dns_server::run_server(String::from("192.168.18.243")).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `_json` should have an upper case name
[INFO] [stdout]  --> src/domain_handler.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | static mut _json: Value = Value::Null;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 4 - static mut _json: Value = Value::Null;
[INFO] [stdout] 4 + static mut _JSON: Value = Value::Null;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `loadJson` should have a snake case name
[INFO] [stdout]  --> src/domain_handler.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn loadJson(path: String) {
[INFO] [stdout]   |        ^^^^^^^^ help: convert the identifier to snake case: `load_json`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Value` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         ref Value => {
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `requestNSList` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn requestNSList() -> Option<Vec<net::IpAddr>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `request_nslist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getGenericAddress` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn getGenericAddress() -> Result<Vec<net::IpAddr>, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_generic_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `requestAddresses` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn requestAddresses(dmn: &String, typ: u16) -> Result<Vec<net::IpAddr>, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `request_addresses`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/domain_handler.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |     unsafe { content = _json.clone(); }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IpList` should have a snake case name
[INFO] [stdout]   --> src/domain_handler.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut IpList: Vec<net::IpAddr> = Vec::new();
[INFO] [stdout]    |                         ^^^^^^ help: convert the identifier to snake case: `ip_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `neededIdx` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut neededIdx=0;
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `needed_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newAnswer` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn newAnswer(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to snake case: `new_answer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newAuthority` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn newAuthority(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `new_authority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newAdditional` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn newAdditional(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_additional`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decodeContent` should have a snake case name
[INFO] [stdout]    --> src/dns.rs:302:8
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub fn decodeContent(buffer: Vec<u8>) -> Option<(Vec<u8>, u16)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makeNXDomain` should have a snake case name
[INFO] [stdout]  --> src/dns_server.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn makeNXDomain(packet: &mut DNS_PACKET) {
[INFO] [stdout]   |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `make_nxdomain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makeAnswer` should have a snake case name
[INFO] [stdout]   --> src/dns_server.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | async fn makeAnswer(packet: &mut DNS_PACKET, generic: bool) {
[INFO] [stdout]    |          ^^^^^^^^^^ help: convert the identifier to snake case: `make_answer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.93s
[INFO] running `Command { std: "docker" "inspect" "0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e", kill_on_drop: false }`
[INFO] [stdout] 0e16ce846bdb1bf0a0e6c75a6f5fe65da151007973e1ec0e2af64929ce4e8c9e
