[INFO] cloning repository https://github.com/passchaos/trust-dns [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/passchaos/trust-dns" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpasschaos%2Ftrust-dns", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpasschaos%2Ftrust-dns'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d9d9bdc35c5e792c2596888512b8117ad2a796b0 [INFO] checking passchaos/trust-dns against master#33fdb797f59421c7bbecaa4588ed5d7a31a9494a for pr-87190-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpasschaos%2Ftrust-dns" "/workspace/builds/worker-75/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-75/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/passchaos/trust-dns on toolchain 33fdb797f59421c7bbecaa4588ed5d7a31a9494a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/passchaos/trust-dns [INFO] finished tweaking git repo https://github.com/passchaos/trust-dns [INFO] tweaked toml for git repo https://github.com/passchaos/trust-dns written to /workspace/builds/worker-75/source/Cargo.toml [INFO] crate git repo https://github.com/passchaos/trust-dns already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-75/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-75/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5ddb32c837a0cd4622687fb53e8dfc89991441859745bd3cb42a22d86398ad46 [INFO] running `Command { std: "docker" "start" "-a" "5ddb32c837a0cd4622687fb53e8dfc89991441859745bd3cb42a22d86398ad46", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5ddb32c837a0cd4622687fb53e8dfc89991441859745bd3cb42a22d86398ad46", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5ddb32c837a0cd4622687fb53e8dfc89991441859745bd3cb42a22d86398ad46", kill_on_drop: false }` [INFO] [stdout] 5ddb32c837a0cd4622687fb53e8dfc89991441859745bd3cb42a22d86398ad46 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-75/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-75/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 42e2cb230f4af81944f2abeb16bff98ea88515a77a271e20851dfcb763dd25ef [INFO] running `Command { std: "docker" "start" "-a" "42e2cb230f4af81944f2abeb16bff98ea88515a77a271e20851dfcb763dd25ef", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.47 [INFO] [stderr] Checking cfg-if v0.1.6 [INFO] [stderr] Compiling cc v1.0.28 [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Compiling autocfg v0.1.2 [INFO] [stderr] Compiling byteorder v1.3.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking rand_core v0.3.0 [INFO] [stderr] Checking futures v0.1.25 [INFO] [stderr] Compiling pkg-config v0.3.14 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Compiling proc-macro2 v0.4.26 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking lazycell v1.2.1 [INFO] [stderr] Checking bitflags v1.0.4 [INFO] [stderr] Compiling openssl v0.10.16 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Checking unicode-normalization v0.1.7 [INFO] [stderr] Checking rustc-demangle v0.1.13 [INFO] [stderr] Compiling arrayvec v0.4.10 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking nodrop v0.1.13 [INFO] [stderr] Checking data-encoding v2.1.2 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Compiling memchr v2.1.3 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Checking ucd-util v0.1.3 [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Checking utf8-ranges v1.0.2 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Checking termcolor v1.0.4 [INFO] [stderr] Compiling proc-macro-hack-impl v0.4.1 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking nibble_vec v0.0.4 [INFO] [stderr] Checking linked-hash-map v0.4.2 [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking strsim v0.7.0 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Compiling serde v1.0.85 [INFO] [stderr] Checking untrusted v0.6.2 [INFO] [stderr] Compiling native-tls v0.2.2 [INFO] [stderr] Checking safemem v0.3.0 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Checking openssl-probe v0.1.2 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking itoa v0.4.3 [INFO] [stderr] Checking string v0.1.3 [INFO] [stderr] Checking indexmap v1.0.2 [INFO] [stderr] Checking log v0.4.6 [INFO] [stderr] Checking crossbeam-utils v0.6.3 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.4 [INFO] [stderr] Compiling backtrace v0.3.13 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking humantime v1.2.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking regex-syntax v0.6.4 [INFO] [stderr] Checking owning_ref v0.4.0 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Checking smallvec v0.6.8 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking lru-cache v0.1.1 [INFO] [stderr] Checking textwrap v0.10.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking radix_trie v0.1.4 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling proc-macro-hack v0.4.1 [INFO] [stderr] Compiling unicase v2.2.0 [INFO] [stderr] Checking lock_api v0.1.5 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Compiling rand_pcg v0.1.1 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Compiling quote v0.6.11 [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking rand_os v0.1.1 [INFO] [stderr] Checking num_cpus v1.9.0 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking socket2 v0.3.8 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking hostname v0.1.5 [INFO] [stderr] Compiling syn v0.15.26 [INFO] [stderr] Checking crossbeam-epoch v0.7.0 [INFO] [stderr] Compiling openssl-sys v0.9.40 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling libsqlite3-sys v0.11.1 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Checking bytes v0.4.11 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking resolv-conf v0.6.2 [INFO] [stderr] Checking tokio-executor v0.1.6 [INFO] [stderr] Checking mio v0.6.16 [INFO] [stderr] Checking aho-corasick v0.6.9 [INFO] [stderr] Checking crossbeam-deque v0.6.3 [INFO] [stderr] Checking tokio-timer v0.2.8 [INFO] [stderr] Checking tokio-current-thread v0.1.4 [INFO] [stderr] Checking mime v0.3.13 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking tokio-io v0.1.11 [INFO] [stderr] Checking http v0.1.14 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking tokio-codec v0.1.1 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Compiling data-encoding-macro-internal v0.1.6 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking tokio-reactor v0.1.8 [INFO] [stderr] Checking crossbeam-channel v0.3.6 [INFO] [stderr] Checking typed-headers v0.1.0 [INFO] [stderr] Checking h2 v0.1.15 [INFO] [stderr] Checking data-encoding-macro v0.1.6 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio-udp v0.1.3 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio-threadpool v0.1.10 [INFO] [stderr] Checking env_logger v0.6.0 [INFO] [stderr] Checking tokio-fs v0.1.5 [INFO] [stderr] Checking tokio v0.1.14 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking tokio-openssl v0.3.0 [INFO] [stderr] Compiling enum-as-inner v0.2.1 [INFO] [stderr] Compiling serde_derive v1.0.85 [INFO] [stderr] Checking tokio-tls v0.2.1 [INFO] [stderr] Checking failure v0.1.5 [INFO] [stderr] Checking webpki v0.18.1 [INFO] [stderr] Checking sct v0.4.0 [INFO] [stderr] Checking trust-dns-proto v0.7.0 (/opt/rustwide/workdir/crates/proto) [INFO] [stderr] Checking rustls v0.14.0 [INFO] [stderr] Checking webpki-roots v0.15.0 [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/error.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/proto/src/rr/domain/usage.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / /// localhost. [INFO] [stdout] 31 | | /// [INFO] [stdout] 32 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 33 | | /// [INFO] [stdout] ... | [INFO] [stdout] 38 | | /// are special in the following ways: [INFO] [stdout] 39 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/proto/src/rr/domain/usage.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | / /// .local. [INFO] [stdout] 52 | | /// [INFO] [stdout] 53 | | /// [Multicast DNS](https://tools.ietf.org/html/rfc6762), RFC 6762 February 2013 [INFO] [stdout] 54 | | /// [INFO] [stdout] ... | [INFO] [stdout] 62 | | /// meaningful only on the link where they originate. [INFO] [stdout] 63 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/proto/src/rr/domain/usage.rs:94:1 [INFO] [stdout] | [INFO] [stdout] 94 | / /// invalid. [INFO] [stdout] 95 | | /// [INFO] [stdout] 96 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 97 | | /// [INFO] [stdout] ... | [INFO] [stdout] 104 | | /// names that may be invalid for other reasons (e.g., being too long). [INFO] [stdout] 105 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/caa.rs:781:20 [INFO] [stdout] | [INFO] [stdout] 781 | 'a'...'z' | 'A'...'Z' | '0'...'9' => true, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/caa.rs:781:32 [INFO] [stdout] | [INFO] [stdout] 781 | 'a'...'z' | 'A'...'Z' | '0'...'9' => true, [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/caa.rs:781:44 [INFO] [stdout] | [INFO] [stdout] 781 | 'a'...'z' | 'A'...'Z' | '0'...'9' => true, [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:139:14 [INFO] [stdout] | [INFO] [stdout] 139 | 4...254 => CertUsage::Unassigned(usage), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:197:14 [INFO] [stdout] | [INFO] [stdout] 197 | 2...254 => Selector::Unassigned(selector), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:260:14 [INFO] [stdout] | [INFO] [stdout] 260 | 3...254 => Matching::Unassigned(matching), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_client_stream.rs:39:67 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(name_server: SocketAddr) -> (TcpClientConnect, Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_client_stream.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> (TcpClientConnect, Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_client_stream.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | Box, Error = ProtoError> + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = ProtoError> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | Box, Error = io::Error> + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = io::Error> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | Box, Error = io::Error> + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = io::Error> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/udp/udp_stream.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_handle.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_handle.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:114:42 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct DnsMultiplexer> [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:128:39 [INFO] [stdout] | [INFO] [stdout] 128 | impl DnsMultiplexer> [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:144:28 [INFO] [stdout] | [INFO] [stdout] 144 | stream_handle: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:165:28 [INFO] [stdout] | [INFO] [stdout] 165 | stream_handle: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:266:31 [INFO] [stdout] | [INFO] [stdout] 266 | stream_handle: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:277:43 [INFO] [stdout] | [INFO] [stdout] 277 | type Item = DnsMultiplexer>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/retry_dns_handle.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:196:27 [INFO] [stdout] | [INFO] [stdout] 196 | rrsets: SelectAll + Send>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:206:10 [INFO] [stdout] | [INFO] [stdout] 206 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:242:29 [INFO] [stdout] | [INFO] [stdout] 242 | let mut rrsets: Vec + Send>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:400:10 [INFO] [stdout] | [INFO] [stdout] 400 | ) -> Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:441:10 [INFO] [stdout] | [INFO] [stdout] 441 | ) -> Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:608:10 [INFO] [stdout] | [INFO] [stdout] 608 | ) -> Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/error.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/proto/src/rr/domain/usage.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / /// localhost. [INFO] [stdout] 31 | | /// [INFO] [stdout] 32 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 33 | | /// [INFO] [stdout] ... | [INFO] [stdout] 38 | | /// are special in the following ways: [INFO] [stdout] 39 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/proto/src/rr/domain/usage.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | / /// .local. [INFO] [stdout] 52 | | /// [INFO] [stdout] 53 | | /// [Multicast DNS](https://tools.ietf.org/html/rfc6762), RFC 6762 February 2013 [INFO] [stdout] 54 | | /// [INFO] [stdout] ... | [INFO] [stdout] 62 | | /// meaningful only on the link where they originate. [INFO] [stdout] 63 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/proto/src/rr/domain/usage.rs:94:1 [INFO] [stdout] | [INFO] [stdout] 94 | / /// invalid. [INFO] [stdout] 95 | | /// [INFO] [stdout] 96 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 97 | | /// [INFO] [stdout] ... | [INFO] [stdout] 104 | | /// names that may be invalid for other reasons (e.g., being too long). [INFO] [stdout] 105 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/caa.rs:781:20 [INFO] [stdout] | [INFO] [stdout] 781 | 'a'...'z' | 'A'...'Z' | '0'...'9' => true, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/caa.rs:781:32 [INFO] [stdout] | [INFO] [stdout] 781 | 'a'...'z' | 'A'...'Z' | '0'...'9' => true, [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/caa.rs:781:44 [INFO] [stdout] | [INFO] [stdout] 781 | 'a'...'z' | 'A'...'Z' | '0'...'9' => true, [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:139:14 [INFO] [stdout] | [INFO] [stdout] 139 | 4...254 => CertUsage::Unassigned(usage), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:197:14 [INFO] [stdout] | [INFO] [stdout] 197 | 2...254 => Selector::Unassigned(selector), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:260:14 [INFO] [stdout] | [INFO] [stdout] 260 | 3...254 => Matching::Unassigned(matching), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_client_stream.rs:39:67 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(name_server: SocketAddr) -> (TcpClientConnect, Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_client_stream.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> (TcpClientConnect, Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_client_stream.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | Box, Error = ProtoError> + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = ProtoError> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `std` is imported redundantly [INFO] [stdout] --> crates/proto/src/tcp/tcp_client_stream.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | use std; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | Box, Error = io::Error> + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = io::Error> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | Box, Error = io::Error> + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = io::Error> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `std` is imported redundantly [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:439:9 [INFO] [stdout] | [INFO] [stdout] 439 | use std; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `std` is imported redundantly [INFO] [stdout] --> crates/proto/src/udp/udp_client_stream.rs:401:9 [INFO] [stdout] | [INFO] [stdout] 401 | use std; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/udp/udp_stream.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `std` is imported redundantly [INFO] [stdout] --> crates/proto/src/udp/udp_stream.rs:225:9 [INFO] [stdout] | [INFO] [stdout] 225 | use std; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_handle.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_handle.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:114:42 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct DnsMultiplexer> [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:128:39 [INFO] [stdout] | [INFO] [stdout] 128 | impl DnsMultiplexer> [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:144:28 [INFO] [stdout] | [INFO] [stdout] 144 | stream_handle: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:165:28 [INFO] [stdout] | [INFO] [stdout] 165 | stream_handle: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:266:31 [INFO] [stdout] | [INFO] [stdout] 266 | stream_handle: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:277:43 [INFO] [stdout] | [INFO] [stdout] 277 | type Item = DnsMultiplexer>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/retry_dns_handle.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/retry_dns_handle.rs:110:29 [INFO] [stdout] | [INFO] [stdout] 110 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:196:27 [INFO] [stdout] | [INFO] [stdout] 196 | rrsets: SelectAll + Send>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:206:10 [INFO] [stdout] | [INFO] [stdout] 206 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:242:29 [INFO] [stdout] | [INFO] [stdout] 242 | let mut rrsets: Vec + Send>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:400:10 [INFO] [stdout] | [INFO] [stdout] 400 | ) -> Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:441:10 [INFO] [stdout] | [INFO] [stdout] 441 | ) -> Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/proto/src/xfer/secure_dns_handle.rs:608:10 [INFO] [stdout] | [INFO] [stdout] 608 | ) -> Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | _ => panic!("programmer error, all CertUsage variants should be covered above"), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | _ => panic!("programmer error, all Selector variants should be covered above"), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 262 | _ => panic!("programmer error, all Matching variants should be covered above"), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tokio-rustls v0.8.1 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/proto/src/rr/rdata/caa.rs:539:17 [INFO] [stdout] | [INFO] [stdout] 539 | mut first_char, [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: unreachable pattern [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | _ => panic!("programmer error, all CertUsage variants should be covered above"), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | _ => panic!("programmer error, all Selector variants should be covered above"), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> crates/proto/src/rr/rdata/tlsa.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 262 | _ => panic!("programmer error, all Matching variants should be covered above"), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | for (_, mut active_request) in self.active_requests.drain() { [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] --> crates/proto/src/xfer/dns_multiplexer.rs:434:41 [INFO] [stdout] | [INFO] [stdout] 434 | ... let mut active_request = request_entry.get_mut(); [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] --> crates/proto/src/xfer/dns_multiplexer.rs:443:41 [INFO] [stdout] | [INFO] [stdout] 443 | ... let mut active_request = request_entry.remove(); [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] --> crates/proto/src/rr/rdata/caa.rs:539:17 [INFO] [stdout] | [INFO] [stdout] 539 | mut first_char, [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: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/dnssec/rdata/dnskey.rs:418:13 [INFO] [stdout] | [INFO] [stdout] 418 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 418 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 418 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/dnssec/rdata/ds.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 238 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 238 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/dnssec/rdata/key.rs:857:9 [INFO] [stdout] | [INFO] [stdout] 857 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 857 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 857 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/dnssec/rdata/nsec.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 175 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 175 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/dnssec/rdata/nsec3.rs:521:9 [INFO] [stdout] | [INFO] [stdout] 521 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 521 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 521 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/dnssec/rdata/nsec3.rs:570:9 [INFO] [stdout] | [INFO] [stdout] 570 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 570 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 570 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/dnssec/rdata/nsec3param.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 212 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 212 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/dnssec/rdata/sig.rs:578:9 [INFO] [stdout] | [INFO] [stdout] 578 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 578 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 578 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/rdata/mx.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 135 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 135 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/rdata/name.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 90 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 90 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/rdata/null.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 100 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 100 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/rdata/opt.rs:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 493 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 493 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/rdata/soa.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 281 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 281 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/rdata/srv.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 252 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 252 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> crates/proto/src/rr/rdata/txt.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 115 - format!("error decoding: {:?}", read_rdata.unwrap_err()) [INFO] [stdout] 115 + "error decoding: {:?}", read_rdata.unwrap_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:226:29 [INFO] [stdout] | [INFO] [stdout] 226 | / ... mem::replace( [INFO] [stdout] 227 | | ... &mut self.send_state, [INFO] [stdout] 228 | | ... Some(WriteTcpState::LenBytes { pos, length, bytes }), [INFO] [stdout] 229 | | ... ); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:231:29 [INFO] [stdout] | [INFO] [stdout] 231 | / ... mem::replace( [INFO] [stdout] 232 | | ... &mut self.send_state, [INFO] [stdout] 233 | | ... Some(WriteTcpState::Bytes { pos: 0, bytes }), [INFO] [stdout] 234 | | ... ); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:239:29 [INFO] [stdout] | [INFO] [stdout] 239 | / ... mem::replace( [INFO] [stdout] 240 | | ... &mut self.send_state, [INFO] [stdout] 241 | | ... Some(WriteTcpState::Bytes { pos, bytes }), [INFO] [stdout] 242 | | ... ); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:246:29 [INFO] [stdout] | [INFO] [stdout] 246 | ... mem::replace(&mut self.send_state, Some(WriteTcpState::Flushing)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:251:25 [INFO] [stdout] | [INFO] [stdout] 251 | mem::replace(&mut self.send_state, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/proto/src/xfer/dns_multiplexer.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | for (_, mut active_request) in self.active_requests.drain() { [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] --> crates/proto/src/xfer/dns_multiplexer.rs:434:41 [INFO] [stdout] | [INFO] [stdout] 434 | ... let mut active_request = request_entry.get_mut(); [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] --> crates/proto/src/xfer/dns_multiplexer.rs:443:41 [INFO] [stdout] | [INFO] [stdout] 443 | ... let mut active_request = request_entry.remove(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 64 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:226:29 [INFO] [stdout] | [INFO] [stdout] 226 | / ... mem::replace( [INFO] [stdout] 227 | | ... &mut self.send_state, [INFO] [stdout] 228 | | ... Some(WriteTcpState::LenBytes { pos, length, bytes }), [INFO] [stdout] 229 | | ... ); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:231:29 [INFO] [stdout] | [INFO] [stdout] 231 | / ... mem::replace( [INFO] [stdout] 232 | | ... &mut self.send_state, [INFO] [stdout] 233 | | ... Some(WriteTcpState::Bytes { pos: 0, bytes }), [INFO] [stdout] 234 | | ... ); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:239:29 [INFO] [stdout] | [INFO] [stdout] 239 | / ... mem::replace( [INFO] [stdout] 240 | | ... &mut self.send_state, [INFO] [stdout] 241 | | ... Some(WriteTcpState::Bytes { pos, bytes }), [INFO] [stdout] 242 | | ... ); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:246:29 [INFO] [stdout] | [INFO] [stdout] 246 | ... mem::replace(&mut self.send_state, Some(WriteTcpState::Flushing)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> crates/proto/src/tcp/tcp_stream.rs:251:25 [INFO] [stdout] | [INFO] [stdout] 251 | mem::replace(&mut self.send_state, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking trust-dns v0.16.0-alpha.1 (/opt/rustwide/workdir/crates/client) [INFO] [stderr] Checking trust-dns-resolver v0.11.0-alpha.1 (/opt/rustwide/workdir/crates/resolver) [INFO] [stderr] Checking trust-dns-native-tls v0.6.0 (/opt/rustwide/workdir/crates/native-tls) [INFO] [stderr] Checking trust-dns-openssl v0.6.0 (/opt/rustwide/workdir/crates/openssl) [INFO] [stderr] Checking trust-dns-rustls v0.6.0 (/opt/rustwide/workdir/crates/rustls) [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> crates/client/src/serialize/txt/rdata_parsers/sshfp.rs:13:40 [INFO] [stdout] | [INFO] [stdout] 13 | const HEX: ::data_encoding::Encoding = new_encoding! { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 14 | | symbols: "0123456789abcdef", [INFO] [stdout] 15 | | ignore: " \t\r\n", [INFO] [stdout] 16 | | translate_from: "ABCDEF", [INFO] [stdout] 17 | | translate_to: "abcdef", [INFO] [stdout] 18 | | }; [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: message: assertion failed: source.starts_with(prefix) [INFO] [stdout] = note: this error originates in the macro `internal_new_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> crates/client/src/serialize/txt/rdata_parsers/tlsa.rs:16:40 [INFO] [stdout] | [INFO] [stdout] 16 | const HEX: ::data_encoding::Encoding = new_encoding!{ [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 17 | | symbols: "0123456789abcdef", [INFO] [stdout] 18 | | ignore: " \t\r\n", [INFO] [stdout] 19 | | translate_from: "ABCDEF", [INFO] [stdout] 20 | | translate_to: "abcdef", [INFO] [stdout] 21 | | }; [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: message: assertion failed: source.starts_with(prefix) [INFO] [stdout] = note: this error originates in the macro `internal_new_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> crates/client/src/serialize/txt/rdata_parsers/sshfp.rs:13:40 [INFO] [stdout] | [INFO] [stdout] 13 | const HEX: ::data_encoding::Encoding = new_encoding! { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 14 | | symbols: "0123456789abcdef", [INFO] [stdout] 15 | | ignore: " \t\r\n", [INFO] [stdout] 16 | | translate_from: "ABCDEF", [INFO] [stdout] 17 | | translate_to: "abcdef", [INFO] [stdout] 18 | | }; [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: message: assertion failed: source.starts_with(prefix) [INFO] [stdout] = note: this error originates in the macro `internal_new_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> crates/client/src/serialize/txt/rdata_parsers/tlsa.rs:16:40 [INFO] [stdout] | [INFO] [stdout] 16 | const HEX: ::data_encoding::Encoding = new_encoding!{ [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 17 | | symbols: "0123456789abcdef", [INFO] [stdout] 18 | | ignore: " \t\r\n", [INFO] [stdout] 19 | | translate_from: "ABCDEF", [INFO] [stdout] 20 | | translate_to: "abcdef", [INFO] [stdout] 21 | | }; [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: message: assertion failed: source.starts_with(prefix) [INFO] [stdout] = note: this error originates in the macro `internal_new_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proc_macro_call` in this scope [INFO] [stdout] --> crates/client/src/serialize/txt/rdata_parsers/tlsa.rs:16:40 [INFO] [stdout] | [INFO] [stdout] 16 | const HEX: ::data_encoding::Encoding = new_encoding!{ [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 17 | | symbols: "0123456789abcdef", [INFO] [stdout] 18 | | ignore: " \t\r\n", [INFO] [stdout] 19 | | translate_from: "ABCDEF", [INFO] [stdout] 20 | | translate_to: "abcdef", [INFO] [stdout] 21 | | }; [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `internal_new_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proc_macro_call` in this scope [INFO] [stdout] --> crates/client/src/serialize/txt/rdata_parsers/sshfp.rs:13:40 [INFO] [stdout] | [INFO] [stdout] 13 | const HEX: ::data_encoding::Encoding = new_encoding! { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 14 | | symbols: "0123456789abcdef", [INFO] [stdout] 15 | | ignore: " \t\r\n", [INFO] [stdout] 16 | | translate_from: "ABCDEF", [INFO] [stdout] 17 | | translate_to: "abcdef", [INFO] [stdout] 18 | | }; [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `internal_new_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proc_macro_call` in this scope [INFO] [stdout] --> crates/client/src/serialize/txt/rdata_parsers/tlsa.rs:16:40 [INFO] [stdout] | [INFO] [stdout] 16 | const HEX: ::data_encoding::Encoding = new_encoding!{ [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 17 | | symbols: "0123456789abcdef", [INFO] [stdout] 18 | | ignore: " \t\r\n", [INFO] [stdout] 19 | | translate_from: "ABCDEF", [INFO] [stdout] 20 | | translate_to: "abcdef", [INFO] [stdout] 21 | | }; [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `internal_new_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proc_macro_call` in this scope [INFO] [stdout] --> crates/client/src/serialize/txt/rdata_parsers/sshfp.rs:13:40 [INFO] [stdout] | [INFO] [stdout] 13 | const HEX: ::data_encoding::Encoding = new_encoding! { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 14 | | symbols: "0123456789abcdef", [INFO] [stdout] 15 | | ignore: " \t\r\n", [INFO] [stdout] 16 | | translate_from: "ABCDEF", [INFO] [stdout] 17 | | translate_to: "abcdef", [INFO] [stdout] 18 | | }; [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `internal_new_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/client_future.rs:46:39 [INFO] [stdout] | [INFO] [stdout] 46 | DnsMultiplexer>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/client_future.rs:63:28 [INFO] [stdout] | [INFO] [stdout] 63 | stream_handle: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/client_future.rs:81:28 [INFO] [stdout] | [INFO] [stdout] 81 | stream_handle: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/memoize_client_handle.rs:48:25 [INFO] [stdout] | [INFO] [stdout] 48 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/memoize_client_handle.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/error/client_error.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/error/dnssec_error.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/error/lexer_error.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/error/parse_error.rs:123:32 [INFO] [stdout] | [INFO] [stdout] 123 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/client/src/rr/zone.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / /// Reserved reverse IPs [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 12 | | /// [INFO] [stdout] ... | [INFO] [stdout] 25 | | /// 20.172.in-addr.arpa. 25.172.in-addr.arpa. 168.192.in-addr.arpa. [INFO] [stdout] 26 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/client/src/rr/zone.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | / /// example., example.com., example.net., and example.org. [INFO] [stdout] 71 | | /// [INFO] [stdout] 72 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 73 | | /// [INFO] [stdout] ... | [INFO] [stdout] 79 | | /// special in the following ways: [INFO] [stdout] 80 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/client/src/rr/zone.rs:97:1 [INFO] [stdout] | [INFO] [stdout] 97 | / /// test. [INFO] [stdout] 98 | | /// [INFO] [stdout] 99 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 100 | | /// [INFO] [stdout] ... | [INFO] [stdout] 105 | | /// special in the following ways: [INFO] [stdout] 106 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/client/src/serialize/txt/master_lex.rs:143:33 [INFO] [stdout] | [INFO] [stdout] 143 | Some('A'...'Z') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/client/src/serialize/txt/master.rs:392:20 [INFO] [stdout] | [INFO] [stdout] 392 | '0'...'9' => { [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/client_future.rs:46:39 [INFO] [stdout] | [INFO] [stdout] 46 | DnsMultiplexer>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/client_future.rs:63:28 [INFO] [stdout] | [INFO] [stdout] 63 | stream_handle: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/client_future.rs:81:28 [INFO] [stdout] | [INFO] [stdout] 81 | stream_handle: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DnsStreamHandle` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/client/memoize_client_handle.rs:48:25 [INFO] [stdout] | [INFO] [stdout] 48 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/error/client_error.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/error/dnssec_error.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/error/lexer_error.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/client/src/error/parse_error.rs:123:32 [INFO] [stdout] | [INFO] [stdout] 123 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/client/src/rr/zone.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / /// Reserved reverse IPs [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 12 | | /// [INFO] [stdout] ... | [INFO] [stdout] 25 | | /// 20.172.in-addr.arpa. 25.172.in-addr.arpa. 168.192.in-addr.arpa. [INFO] [stdout] 26 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/client/src/rr/zone.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | / /// example., example.com., example.net., and example.org. [INFO] [stdout] 71 | | /// [INFO] [stdout] 72 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 73 | | /// [INFO] [stdout] ... | [INFO] [stdout] 79 | | /// special in the following ways: [INFO] [stdout] 80 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> crates/client/src/rr/zone.rs:97:1 [INFO] [stdout] | [INFO] [stdout] 97 | / /// test. [INFO] [stdout] 98 | | /// [INFO] [stdout] 99 | | /// [Special-Use Domain Names](https://tools.ietf.org/html/rfc6761), RFC 6761 February, 2013 [INFO] [stdout] 100 | | /// [INFO] [stdout] ... | [INFO] [stdout] 105 | | /// special in the following ways: [INFO] [stdout] 106 | | /// ``` [INFO] [stdout] | |_------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/client/src/serialize/txt/master_lex.rs:143:33 [INFO] [stdout] | [INFO] [stdout] 143 | Some('A'...'Z') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> crates/client/src/serialize/txt/master.rs:392:20 [INFO] [stdout] | [INFO] [stdout] 392 | '0'...'9' => { [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `trust-dns` due to 5 previous errors; 13 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/openssl/src/tls_client_stream.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/native-tls/src/tls_client_stream.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/native-tls/src/tls_stream.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/openssl/src/tls_stream.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/rustls/src/tls_client_stream.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/rustls/src/tls_stream.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | Box, Error = io::Error> + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = io::Error> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/rustls/src/tls_stream.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | let stream: Box, Error = io::Error> + Send> = Box::new( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = io::Error> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/openssl/src/tls_client_stream.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/openssl/src/tls_stream.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/native-tls/src/tls_client_stream.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/native-tls/src/tls_stream.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> crates/openssl/src/tls_client_stream.rs:49:71 [INFO] [stdout] | [INFO] [stdout] 49 | .map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e.description()))?; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> crates/openssl/src/tls_client_stream.rs:49:71 [INFO] [stdout] | [INFO] [stdout] 49 | .map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e.description()))?; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/rustls/src/tls_client_stream.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/rustls/src/tls_stream.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | Box, Error = io::Error> + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = io::Error> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/rustls/src/tls_stream.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | let stream: Box, Error = io::Error> + Send> = Box::new( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future, Error = io::Error> + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `deprecated` [INFO] [stdout] --> crates/resolver/src/async_resolver/mod.rs:317:5 [INFO] [stdout] | [INFO] [stdout] 317 | #[deprecated(note = "use lookup_srv instead, this interface is none ideal")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] note: the built-in attribute `deprecated` will be ignored, since it's applied to the macro invocation `lookup_fn` [INFO] [stdout] --> crates/resolver/src/async_resolver/mod.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 318 | lookup_fn!(srv_lookup, lookup::SrvLookupFuture, RecordType::SRV); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/error.rs:94:32 [INFO] [stdout] | [INFO] [stdout] 94 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 158 | query: Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup.rs:180:24 [INFO] [stdout] | [INFO] [stdout] 180 | let query: Box + Send> = match name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:87:16 [INFO] [stdout] | [INFO] [stdout] 87 | query: Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:248:10 [INFO] [stdout] | [INFO] [stdout] 248 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:268:10 [INFO] [stdout] | [INFO] [stdout] 268 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:295:33 [INFO] [stdout] | [INFO] [stdout] 295 | ... Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:311:10 [INFO] [stdout] | [INFO] [stdout] 311 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:328:10 [INFO] [stdout] | [INFO] [stdout] 328 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:347:10 [INFO] [stdout] | [INFO] [stdout] 347 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:366:36 [INFO] [stdout] | [INFO] [stdout] 366 | ... as Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:369:36 [INFO] [stdout] | [INFO] [stdout] 369 | ... as Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:176:19 [INFO] [stdout] | [INFO] [stdout] 176 | next: Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:424:13 [INFO] [stdout] | [INFO] [stdout] 424 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:485:21 [INFO] [stdout] | [INFO] [stdout] 485 | future: Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server_pool.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server_pool.rs:190:16 [INFO] [stdout] | [INFO] [stdout] 190 | DoSend(Box + Send>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server_pool.rs:321:23 [INFO] [stdout] | [INFO] [stdout] 321 | ResolveFuture(Box + Send>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server_pool.rs:339:33 [INFO] [stdout] | [INFO] [stdout] 339 | fn take_future(self) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> crates/resolver/src/name_server/name_server_stats.rs:120:71 [INFO] [stdout] | [INFO] [stdout] 120 | self.state = NameServerState::Established { remote_edns };; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server.rs:122:25 [INFO] [stdout] | [INFO] [stdout] 122 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `deprecated` [INFO] [stdout] --> crates/resolver/src/async_resolver/mod.rs:317:5 [INFO] [stdout] | [INFO] [stdout] 317 | #[deprecated(note = "use lookup_srv instead, this interface is none ideal")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] note: the built-in attribute `deprecated` will be ignored, since it's applied to the macro invocation `lookup_fn` [INFO] [stdout] --> crates/resolver/src/async_resolver/mod.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 318 | lookup_fn!(srv_lookup, lookup::SrvLookupFuture, RecordType::SRV); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/error.rs:94:32 [INFO] [stdout] | [INFO] [stdout] 94 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Fail` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 158 | query: Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup.rs:180:24 [INFO] [stdout] | [INFO] [stdout] 180 | let query: Box + Send> = match name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup.rs:423:29 [INFO] [stdout] | [INFO] [stdout] 423 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:87:16 [INFO] [stdout] | [INFO] [stdout] 87 | query: Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:248:10 [INFO] [stdout] | [INFO] [stdout] 248 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:268:10 [INFO] [stdout] | [INFO] [stdout] 268 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:295:33 [INFO] [stdout] | [INFO] [stdout] 295 | ... Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:311:10 [INFO] [stdout] | [INFO] [stdout] 311 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:328:10 [INFO] [stdout] | [INFO] [stdout] 328 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:347:10 [INFO] [stdout] | [INFO] [stdout] 347 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:366:36 [INFO] [stdout] | [INFO] [stdout] 366 | ... as Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:369:36 [INFO] [stdout] | [INFO] [stdout] 369 | ... as Box + Send> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_ip.rs:403:29 [INFO] [stdout] | [INFO] [stdout] 403 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | ) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:176:19 [INFO] [stdout] | [INFO] [stdout] 176 | next: Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:424:13 [INFO] [stdout] | [INFO] [stdout] 424 | Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:485:21 [INFO] [stdout] | [INFO] [stdout] 485 | future: Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:922:24 [INFO] [stdout] | [INFO] [stdout] 922 | as Box + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server_pool.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server_pool.rs:190:16 [INFO] [stdout] | [INFO] [stdout] 190 | DoSend(Box + Send>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server_pool.rs:321:23 [INFO] [stdout] | [INFO] [stdout] 321 | ResolveFuture(Box + Send>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server_pool.rs:339:33 [INFO] [stdout] | [INFO] [stdout] 339 | fn take_future(self) -> Box + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> crates/resolver/src/name_server/name_server_stats.rs:120:71 [INFO] [stdout] | [INFO] [stdout] 120 | self.state = NameServerState::Established { remote_edns };; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> crates/resolver/src/name_server/name_server.rs:122:25 [INFO] [stdout] | [INFO] [stdout] 122 | type Response = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: ambiguous associated item [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:566:44 [INFO] [stdout] | [INFO] [stdout] 566 | fn poll(&mut self) -> Poll { [INFO] [stdout] | ^^^^^^^^^^^ help: use fully-qualified syntax: ` as Future>::Error` [INFO] [stdout] | [INFO] [stdout] = note: `#[deny(ambiguous_associated_items)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #57644 [INFO] [stdout] note: `Error` could refer to the variant defined here [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:432:5 [INFO] [stdout] | [INFO] [stdout] 432 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: `Error` could also refer to the associated type defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/future/mod.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | type Error; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: ambiguous associated item [INFO] [stdout] --> crates/resolver/src/name_server/connection_provider.rs:316:44 [INFO] [stdout] | [INFO] [stdout] 316 | fn poll(&mut self) -> Poll { [INFO] [stdout] | ^^^^^^^^^^^ help: use fully-qualified syntax: `::Error` [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #57644 [INFO] [stdout] note: `Error` could refer to the variant defined here [INFO] [stdout] --> crates/resolver/src/name_server/connection_provider.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | Error(ProtoError), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `Error` could also refer to the associated type defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/future/mod.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | type Error; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: ambiguous associated item [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:566:44 [INFO] [stdout] | [INFO] [stdout] 566 | fn poll(&mut self) -> Poll { [INFO] [stdout] | ^^^^^^^^^^^ help: use fully-qualified syntax: ` as Future>::Error` [INFO] [stdout] | [INFO] [stdout] = note: `#[deny(ambiguous_associated_items)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #57644 [INFO] [stdout] note: `Error` could refer to the variant defined here [INFO] [stdout] --> crates/resolver/src/lookup_state.rs:432:5 [INFO] [stdout] | [INFO] [stdout] 432 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: `Error` could also refer to the associated type defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/future/mod.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | type Error; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: ambiguous associated item [INFO] [stdout] --> crates/resolver/src/name_server/connection_provider.rs:316:44 [INFO] [stdout] | [INFO] [stdout] 316 | fn poll(&mut self) -> Poll { [INFO] [stdout] | ^^^^^^^^^^^ help: use fully-qualified syntax: `::Error` [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #57644 [INFO] [stdout] note: `Error` could refer to the variant defined here [INFO] [stdout] --> crates/resolver/src/name_server/connection_provider.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | Error(ProtoError), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `Error` could also refer to the associated type defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/future/mod.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | type Error; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "42e2cb230f4af81944f2abeb16bff98ea88515a77a271e20851dfcb763dd25ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "42e2cb230f4af81944f2abeb16bff98ea88515a77a271e20851dfcb763dd25ef", kill_on_drop: false }` [INFO] [stdout] 42e2cb230f4af81944f2abeb16bff98ea88515a77a271e20851dfcb763dd25ef