[INFO] fetching crate dns 0.0.3-pre1...
[INFO] testing dns-0.0.3-pre1 against 1.90.0 for beta-1.91-3
[INFO] extracting crate dns 0.0.3-pre1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate dns 0.0.3-pre1
[INFO] finished tweaking crates.io crate dns 0.0.3-pre1
[INFO] tweaked toml for crates.io crate dns 0.0.3-pre1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dns 0.0.3-pre1 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 62fd74a13c10cdd2c1300a8cdffdaef84b03d231bb23e84c2029e9ed37c3147b
[INFO] running `Command { std: "docker" "start" "-a" "62fd74a13c10cdd2c1300a8cdffdaef84b03d231bb23e84c2029e9ed37c3147b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "62fd74a13c10cdd2c1300a8cdffdaef84b03d231bb23e84c2029e9ed37c3147b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62fd74a13c10cdd2c1300a8cdffdaef84b03d231bb23e84c2029e9ed37c3147b", kill_on_drop: false }`
[INFO] [stdout] 62fd74a13c10cdd2c1300a8cdffdaef84b03d231bb23e84c2029e9ed37c3147b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b2d47d3fc36e43e5e503729a74850b3de2285586baa27a72610d8f7b5ce3ff0f
[INFO] running `Command { std: "docker" "start" "-a" "b2d47d3fc36e43e5e503729a74850b3de2285586baa27a72610d8f7b5ce3ff0f", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling dns v0.0.3-pre1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(convert)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/classes.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |             x @ 65280...65534 => Err(IdentifierError::PrivateUseIdentifierError(x as i64)),
[INFO] [stdout]    |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/classes.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |             x @ 5...253 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/classes.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |             x @ 256...65279 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/edns0codes.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |             x @ 65001...65534 => Err(IdentifierError::ReservedIdentifierError(x as i64)),
[INFO] [stdout]    |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/edns0codes.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |             x @ 10...65000 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/opcodes.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |             x @ 6...15 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/rcodes.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |             x @ 3841...4095 => Err(IdentifierError::PrivateUseIdentifierError(x as i64)),
[INFO] [stdout]    |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/rcodes.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |             x @ 11...15 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/rcodes.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 |             x @ 23...3840 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/iana/rcodes.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |             x @ 4096...65534 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]    |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/iana/types.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 |             x @ 65280...65534 => Err(IdentifierError::PrivateUseIdentifierError(x as i64)),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/iana/types.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 |             x @ 53...54 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/iana/types.rs:182:19
[INFO] [stdout]     |
[INFO] [stdout] 182 |             x @ 63...98 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/iana/types.rs:183:20
[INFO] [stdout]     |
[INFO] [stdout] 183 |             x @ 110...248 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/iana/types.rs:184:20
[INFO] [stdout]     |
[INFO] [stdout] 184 |             x @ 258...32767 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/iana/types.rs:185:22
[INFO] [stdout]     |
[INFO] [stdout] 185 |             x @ 32770...65279 => Err(IdentifierError::UnassignedIdentifierError(x as i64)),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::RCode`
[INFO] [stdout]  --> src/parser/message.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::RCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::OpCode`
[INFO] [stdout]  --> src/parser/message.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::OpCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/message.rs:68:27
[INFO] [stdout]    |
[INFO] [stdout] 68 |             n.labels.push(try!(Label::from_slice(x.as_bytes())));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/message.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 try!(write!(f, "{}.", l));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/message.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 x @ 0x00...0x20 | x @ 0x7F...0xFF | x @ 0x2E => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/message.rs:141:43
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 x @ 0x00...0x20 | x @ 0x7F...0xFF | x @ 0x2E => {
[INFO] [stdout]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     try!(write!(f, "\\{:03}", x));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/message.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 x @ 0x21...0x2D | x @ 0x2F...0x7E => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/message.rs:145:43
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 x @ 0x21...0x2D | x @ 0x2F...0x7E => {
[INFO] [stdout]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     try!(write!(f, "{}", x as char));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/message.rs:166:25
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 x @ 0x41...0x5A => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/message.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 x @ 0x61...0x7A => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:253:28
[INFO] [stdout]     |
[INFO] [stdout] 253 |         msg.questions.push(try!(read_dns_question(buf, &mut i)));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:256:26
[INFO] [stdout]     |
[INFO] [stdout] 256 |         msg.answers.push(try!(read_dns_resource_record(buf, &mut i)));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:259:30
[INFO] [stdout]     |
[INFO] [stdout] 259 |         msg.nameservers.push(try!(read_dns_resource_record(buf, &mut i)));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:262:30
[INFO] [stdout]     |
[INFO] [stdout] 262 |         msg.additionals.push(try!(read_dns_resource_record(buf, &mut i)));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:272:16
[INFO] [stdout]     |
[INFO] [stdout] 272 |         qname: try!(read_dns_name(buf, idx)),
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |     q.qtype = try!(Type::from_u16(_read_be_u16(buf, idx)));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:281:16
[INFO] [stdout]     |
[INFO] [stdout] 281 |     q.qclass = try!(Class::from_u16(_read_be_u16(buf, idx)));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:289:16
[INFO] [stdout]     |
[INFO] [stdout] 289 |         rname: try!(read_dns_name(buf, idx)),
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:301:15
[INFO] [stdout]     |
[INFO] [stdout] 301 |     r.rtype = try!(Type::from_u16(_read_be_u16(buf, idx)));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:302:16
[INFO] [stdout]     |
[INFO] [stdout] 302 |     r.rclass = try!(Class::from_u16(_read_be_u16(buf, idx)));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/message.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |             labels.push(try!(Label::from_slice(new_label)));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Label` and `Name`
[INFO] [stdout]  --> src/parser/tests.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Message,Name,Label};
[INFO] [stdout]   |                     ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `read_dns_message`, `read_dns_name`, `read_dns_question`, and `read_dns_resource_record`
[INFO] [stdout]  --> src/parser/tests.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{read_dns_message,read_dns_question,read_dns_resource_record,read_dns_name};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]  --> src/parser/tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `convert`
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(convert)]
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/iana/errors.rs:22:32
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/errors.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/errors.rs:28:72
[INFO] [stdout]    |
[INFO] [stdout] 28 |             ReadError::InvalidIdentifierError(ref err) => Some(err as &error::Error),
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |             ReadError::InvalidIdentifierError(ref err) => Some(err as &dyn error::Error),
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/iana/classes.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             x @ _ => Err(IdentifierError::UnknownIdentifierError(x as i64)),
[INFO] [stdout]    |                 ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/iana/classes.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |             1 => Ok(Class::IN),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 18 |             3 => Ok(Class::CH),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 19 |             4 => Ok(Class::HS),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 20 |             254 => Ok(Class::NONE),
[INFO] [stdout]    |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 32 |             x @ _ => Err(IdentifierError::UnknownIdentifierError(x as i64)),
[INFO] [stdout]    |                 ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/iana/edns0codes.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |             x @ _ => Err(IdentifierError::UnknownIdentifierError(x as i64)),
[INFO] [stdout]    |                 ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/iana/edns0codes.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |             1 => Ok(EDNS0OptionCode::LLQ),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 21 |             2 => Ok(EDNS0OptionCode::UL),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 22 |             3 => Ok(EDNS0OptionCode::NSID),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 23 |             5 => Ok(EDNS0OptionCode::DAU),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 36 |             x @ _ => Err(IdentifierError::UnknownIdentifierError(x as i64)),
[INFO] [stdout]    |                 ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/iana/rcodes.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |             x @ _ => Err(IdentifierError::UnknownIdentifierError(x as i64)),
[INFO] [stdout]    |                 ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/iana/rcodes.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |             0 => Ok(RCode::NoError),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 31 |             1 => Ok(RCode::FormErr),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 32 |             2 => Ok(RCode::ServFail),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] 33 |             3 => Ok(RCode::NXDomain),
[INFO] [stdout]    |             - matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 57 |             x @ _ => Err(IdentifierError::UnknownIdentifierError(x as i64)),
[INFO] [stdout]    |                 ^ ...and 19 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/parser/message.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 _ => {
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/parser/message.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 x @ 0x00...0x20 | x @ 0x7F...0xFF | x @ 0x2E => {
[INFO] [stdout]     |                 -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 145 |                 x @ 0x21...0x2D | x @ 0x2F...0x7E => {
[INFO] [stdout]     |                 --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 148 |                 _ => {
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parser/message.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |     for n in 0..qdcount {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parser/message.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |     for n in 0..ancount {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parser/message.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |     for n in 0..nscount {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parser/message.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |     for n in 0..adcount {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dns` (lib) due to 2 previous errors; 53 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b2d47d3fc36e43e5e503729a74850b3de2285586baa27a72610d8f7b5ce3ff0f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2d47d3fc36e43e5e503729a74850b3de2285586baa27a72610d8f7b5ce3ff0f", kill_on_drop: false }`
[INFO] [stdout] b2d47d3fc36e43e5e503729a74850b3de2285586baa27a72610d8f7b5ce3ff0f
