[INFO] fetching crate bip_dht 0.6.0... [INFO] testing bip_dht-0.6.0 against try#722e1797249a965b6335aebd65d777f917e498f1 for pr-91031 [INFO] extracting crate bip_dht 0.6.0 into /workspace/builds/worker-101/source [INFO] validating manifest of crates.io crate bip_dht 0.6.0 on toolchain 722e1797249a965b6335aebd65d777f917e498f1 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+722e1797249a965b6335aebd65d777f917e498f1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate bip_dht 0.6.0 [INFO] finished tweaking crates.io crate bip_dht 0.6.0 [INFO] tweaked toml for crates.io crate bip_dht 0.6.0 written to /workspace/builds/worker-101/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+722e1797249a965b6335aebd65d777f917e498f1" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+722e1797249a965b6335aebd65d777f917e498f1" "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-101/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-101/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+722e1797249a965b6335aebd65d777f917e498f1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a55b40c7fd2830e422855d3935a370afa09abfc8510c856956b22430b47e42af [INFO] running `Command { std: "docker" "start" "-a" "a55b40c7fd2830e422855d3935a370afa09abfc8510c856956b22430b47e42af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a55b40c7fd2830e422855d3935a370afa09abfc8510c856956b22430b47e42af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a55b40c7fd2830e422855d3935a370afa09abfc8510c856956b22430b47e42af", kill_on_drop: false }` [INFO] [stdout] a55b40c7fd2830e422855d3935a370afa09abfc8510c856956b22430b47e42af [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-101/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-101/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+722e1797249a965b6335aebd65d777f917e498f1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 372d101c832ead4379fd844be4e94460f9cdbd3664ef58f2a7ebb8120b3d2d2e [INFO] running `Command { std: "docker" "start" "-a" "372d101c832ead4379fd844be4e94460f9cdbd3664ef58f2a7ebb8120b3d2d2e", kill_on_drop: false }` [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling gcc v0.3.55 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling gimli v0.26.1 [INFO] [stderr] Compiling bitflags v0.4.0 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling build_const v0.2.2 [INFO] [stderr] Compiling bytes v0.3.0 [INFO] [stderr] Compiling slab v0.1.3 [INFO] [stderr] Compiling slab v0.2.0 [INFO] [stderr] Compiling nom v1.2.4 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling backtrace v0.3.63 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling nix v0.5.1 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling crc v1.8.1 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling ws2_32-sys v0.2.1 [INFO] [stderr] Compiling miow v0.1.5 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling rust-crypto v0.2.36 [INFO] [stderr] Compiling mio v0.5.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling num-complex v0.1.43 [INFO] [stderr] Compiling num-bigint v0.1.44 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling addr2line v0.17.0 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling chrono v0.2.25 [INFO] [stderr] Compiling error-chain v0.7.2 [INFO] [stderr] Compiling bip_bencode v0.2.0 [INFO] [stderr] Compiling bip_util v0.5.0 [INFO] [stderr] Compiling bip_handshake v0.4.1 [INFO] [stderr] Compiling bip_dht v0.6.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | let send_sock = try!(UdpSocket::bind(&builder.src_addr)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | let recv_sock = try!(send_sock.try_clone()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | let kill_sock = try!(send_sock.try_clone()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | let kill_addr = try!(send_sock.local_addr()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | let send = try!(worker::start_mainline_dht(send_sock, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/request.rs:76:30 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn from_parts(root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | let rqst_root = try!(validate.lookup_and_convert_dict(root, REQUEST_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:85:33 [INFO] [stdout] | [INFO] [stdout] 85 | let ping_rqst = try!(PingRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | try!(FindNodeRequest::from_parts(rqst_root, trans_id, message::TARGET_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:94:38 [INFO] [stdout] | [INFO] [stdout] 94 | let get_peers_rqst = try!(GetPeersRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:98:42 [INFO] [stdout] | [INFO] [stdout] 98 | let announce_peer_rqst = try!(AnnouncePeerRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | try!(FindNodeRequest::from_parts(rqst_root, trans_id, target_key)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/request.rs:130:49 [INFO] [stdout] | [INFO] [stdout] 130 | fn forward_compatible_find_node<'a>(rqst_root: &Dictionary<'a, Bencode<'a>>) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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] --> src/message/response.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn from_parts(root: &'a Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | let rqst_root = try!(validate.lookup_and_convert_dict(root, RESPONSE_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | let ping_rsp = try!(PingResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:114:37 [INFO] [stdout] | [INFO] [stdout] 114 | let find_node_rsp = try!(FindNodeResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:118:37 [INFO] [stdout] | [INFO] [stdout] 118 | let get_peers_rsp = try!(GetPeersResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:122:41 [INFO] [stdout] | [INFO] [stdout] 122 | let announce_peer_rsp = try!(AnnouncePeerResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | let code = try!(self.convert_int(&args[0], &format!("{}[0]", ERROR_ARGS_KEY))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:68:23 [INFO] [stdout] | [INFO] [stdout] 68 | let message = try!(self.convert_str(&args[1], &format!("{}[1]", ERROR_ARGS_KEY))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/error.rs:106:30 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn from_parts(root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:110:26 [INFO] [stdout] | [INFO] [stdout] 110 | let error_args = try!(validate.lookup_and_convert_list(root, ERROR_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:112:31 [INFO] [stdout] | [INFO] [stdout] 112 | let (code, message) = try!(validate.extract_error_args(error_args)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | let error_code = try!(ErrorCode::new(code)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/ping.rs:25:35 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/ping.rs:74:34 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn from_parts(rsp_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:77:23 [INFO] [stdout] | [INFO] [stdout] 77 | let request = try!(PingRequest::from_parts(rsp_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/find_node.rs:30:35 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | let target_id_bytes = try!(validate.lookup_and_convert_bytes(rqst_root, target_key)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | let target_id = try!(validate.validate_node_id(target_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:86:29 [INFO] [stdout] | [INFO] [stdout] 86 | let compact_nodes = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/find_node.rs:95:34 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn from_parts(rsp_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:100:29 [INFO] [stdout] | [INFO] [stdout] 100 | let node_id_bytes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:101:23 [INFO] [stdout] | [INFO] [stdout] 101 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | let nodes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODES_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/get_peers.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | try!(validate.lookup_and_convert_bytes(rqst_root, message::INFO_HASH_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | let info_hash = try!(validate.validate_info_hash(info_hash_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/get_peers.rs:102:37 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn from_parts(rsp_root: &'a Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | let node_id_bytes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:108:23 [INFO] [stdout] | [INFO] [stdout] 108 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:119:34 [INFO] [stdout] | [INFO] [stdout] 119 | let nodes_info = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:120:35 [INFO] [stdout] | [INFO] [stdout] 120 | let values_info = try!(validate.validate_values(values)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:124:34 [INFO] [stdout] | [INFO] [stdout] 124 | let nodes_info = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | let values_info = try!(validate.validate_values(values)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/announce_peer.rs:47:35 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | try!(validate.lookup_and_convert_bytes(rqst_root, message::INFO_HASH_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | let info_hash = try!(validate.validate_info_hash(info_hash_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | let token = try!(validate.lookup_and_convert_bytes(rqst_root, message::TOKEN_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:69:35 [INFO] [stdout] | [INFO] [stdout] 69 | let port_number = try!(port) as u16; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/announce_peer.rs:136:35 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:143:23 [INFO] [stdout] | [INFO] [stdout] 143 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:67:24 [INFO] [stdout] | [INFO] [stdout] 67 | let msg_root = try!(validate.convert_dict(message, ROOT_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | let trans_id = try!(validate.lookup_and_convert_bytes(msg_root, TRANSACTION_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | let msg_type = try!(validate.lookup_and_convert_str(msg_root, MESSAGE_TYPE_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | let rqst_type = try!(validate.lookup_and_convert_str(msg_root, REQUEST_TYPE_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | let rqst_msg = try!(RequestType::from_parts(msg_root, trans_id, rqst_type)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:80:35 [INFO] [stdout] | [INFO] [stdout] 80 | let rsp_message = try!(ResponseType::from_parts(msg_root, trans_id, rsp_type)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:84:35 [INFO] [stdout] | [INFO] [stdout] 84 | let err_message = try!(ErrorMessage::from_parts(msg_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:43:21 [INFO] [stdout] | [INFO] [stdout] 43 | let addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | let addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | let mut addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/worker/handler.rs:56:26 [INFO] [stdout] | [INFO] [stdout] 56 | let mut event_loop = try!(EventLoop::new()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/worker/mod.rs:85:26 [INFO] [stdout] | [INFO] [stdout] 85 | let message_sender = try!(handler::create_dht_handler(routing_table, [INFO] [stdout] | ^^^ [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] --> src/error.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / error_chain! { [INFO] [stdout] 8 | | types { [INFO] [stdout] 9 | | DhtError, DhtErrorKind, DhtResultExt, DhtResult; [INFO] [stdout] 10 | | } [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/error.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / error_chain! { [INFO] [stdout] 8 | | types { [INFO] [stdout] 9 | | DhtError, DhtErrorKind, DhtResultExt, DhtResult; [INFO] [stdout] 10 | | } [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/worker/handler.rs:748:22 [INFO] [stdout] | [INFO] [stdout] 748 | let (mut bootstrap, mut attempts) = match table_actions.get_mut(&action_id) { [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: variable does not need to be mutable [INFO] [stdout] --> src/worker/handler.rs:748:37 [INFO] [stdout] | [INFO] [stdout] 748 | let (mut bootstrap, mut attempts) = match table_actions.get_mut(&action_id) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 78 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.88s [INFO] running `Command { std: "docker" "inspect" "372d101c832ead4379fd844be4e94460f9cdbd3664ef58f2a7ebb8120b3d2d2e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "372d101c832ead4379fd844be4e94460f9cdbd3664ef58f2a7ebb8120b3d2d2e", kill_on_drop: false }` [INFO] [stdout] 372d101c832ead4379fd844be4e94460f9cdbd3664ef58f2a7ebb8120b3d2d2e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-101/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-101/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+722e1797249a965b6335aebd65d777f917e498f1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 95cf41ddf68dd872bf080ec9141cd524370cd03317f7887f8ebc4c14720c4069 [INFO] running `Command { std: "docker" "start" "-a" "95cf41ddf68dd872bf080ec9141cd524370cd03317f7887f8ebc4c14720c4069", kill_on_drop: false }` [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | let send_sock = try!(UdpSocket::bind(&builder.src_addr)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | let recv_sock = try!(send_sock.try_clone()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | let kill_sock = try!(send_sock.try_clone()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | let kill_addr = try!(send_sock.local_addr()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | let send = try!(worker::start_mainline_dht(send_sock, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/request.rs:76:30 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn from_parts(root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | let rqst_root = try!(validate.lookup_and_convert_dict(root, REQUEST_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:85:33 [INFO] [stdout] | [INFO] [stdout] 85 | let ping_rqst = try!(PingRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | try!(FindNodeRequest::from_parts(rqst_root, trans_id, message::TARGET_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:94:38 [INFO] [stdout] | [INFO] [stdout] 94 | let get_peers_rqst = try!(GetPeersRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:98:42 [INFO] [stdout] | [INFO] [stdout] 98 | let announce_peer_rqst = try!(AnnouncePeerRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | try!(FindNodeRequest::from_parts(rqst_root, trans_id, target_key)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/request.rs:130:49 [INFO] [stdout] | [INFO] [stdout] 130 | fn forward_compatible_find_node<'a>(rqst_root: &Dictionary<'a, Bencode<'a>>) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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] --> src/message/response.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn from_parts(root: &'a Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | let rqst_root = try!(validate.lookup_and_convert_dict(root, RESPONSE_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | let ping_rsp = try!(PingResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:114:37 [INFO] [stdout] | [INFO] [stdout] 114 | let find_node_rsp = try!(FindNodeResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:118:37 [INFO] [stdout] | [INFO] [stdout] 118 | let get_peers_rsp = try!(GetPeersResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:122:41 [INFO] [stdout] | [INFO] [stdout] 122 | let announce_peer_rsp = try!(AnnouncePeerResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | let code = try!(self.convert_int(&args[0], &format!("{}[0]", ERROR_ARGS_KEY))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:68:23 [INFO] [stdout] | [INFO] [stdout] 68 | let message = try!(self.convert_str(&args[1], &format!("{}[1]", ERROR_ARGS_KEY))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/error.rs:106:30 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn from_parts(root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:110:26 [INFO] [stdout] | [INFO] [stdout] 110 | let error_args = try!(validate.lookup_and_convert_list(root, ERROR_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:112:31 [INFO] [stdout] | [INFO] [stdout] 112 | let (code, message) = try!(validate.extract_error_args(error_args)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | let error_code = try!(ErrorCode::new(code)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/ping.rs:25:35 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/ping.rs:74:34 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn from_parts(rsp_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:77:23 [INFO] [stdout] | [INFO] [stdout] 77 | let request = try!(PingRequest::from_parts(rsp_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/find_node.rs:30:35 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | let target_id_bytes = try!(validate.lookup_and_convert_bytes(rqst_root, target_key)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | let target_id = try!(validate.validate_node_id(target_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:86:29 [INFO] [stdout] | [INFO] [stdout] 86 | let compact_nodes = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/find_node.rs:95:34 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn from_parts(rsp_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:100:29 [INFO] [stdout] | [INFO] [stdout] 100 | let node_id_bytes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:101:23 [INFO] [stdout] | [INFO] [stdout] 101 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | let nodes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODES_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/get_peers.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | try!(validate.lookup_and_convert_bytes(rqst_root, message::INFO_HASH_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | let info_hash = try!(validate.validate_info_hash(info_hash_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/get_peers.rs:102:37 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn from_parts(rsp_root: &'a Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | let node_id_bytes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:108:23 [INFO] [stdout] | [INFO] [stdout] 108 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:119:34 [INFO] [stdout] | [INFO] [stdout] 119 | let nodes_info = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:120:35 [INFO] [stdout] | [INFO] [stdout] 120 | let values_info = try!(validate.validate_values(values)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:124:34 [INFO] [stdout] | [INFO] [stdout] 124 | let nodes_info = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | let values_info = try!(validate.validate_values(values)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/announce_peer.rs:47:35 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | try!(validate.lookup_and_convert_bytes(rqst_root, message::INFO_HASH_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | let info_hash = try!(validate.validate_info_hash(info_hash_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | let token = try!(validate.lookup_and_convert_bytes(rqst_root, message::TOKEN_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:69:35 [INFO] [stdout] | [INFO] [stdout] 69 | let port_number = try!(port) as u16; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/announce_peer.rs:136:35 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:143:23 [INFO] [stdout] | [INFO] [stdout] 143 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:67:24 [INFO] [stdout] | [INFO] [stdout] 67 | let msg_root = try!(validate.convert_dict(message, ROOT_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | let trans_id = try!(validate.lookup_and_convert_bytes(msg_root, TRANSACTION_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | let msg_type = try!(validate.lookup_and_convert_str(msg_root, MESSAGE_TYPE_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | let rqst_type = try!(validate.lookup_and_convert_str(msg_root, REQUEST_TYPE_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | let rqst_msg = try!(RequestType::from_parts(msg_root, trans_id, rqst_type)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:80:35 [INFO] [stdout] | [INFO] [stdout] 80 | let rsp_message = try!(ResponseType::from_parts(msg_root, trans_id, rsp_type)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:84:35 [INFO] [stdout] | [INFO] [stdout] 84 | let err_message = try!(ErrorMessage::from_parts(msg_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:43:21 [INFO] [stdout] | [INFO] [stdout] 43 | let addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | let addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | let mut addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/worker/handler.rs:56:26 [INFO] [stdout] | [INFO] [stdout] 56 | let mut event_loop = try!(EventLoop::new()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/worker/mod.rs:85:26 [INFO] [stdout] | [INFO] [stdout] 85 | let message_sender = try!(handler::create_dht_handler(routing_table, [INFO] [stdout] | ^^^ [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] --> src/error.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / error_chain! { [INFO] [stdout] 8 | | types { [INFO] [stdout] 9 | | DhtError, DhtErrorKind, DhtResultExt, DhtResult; [INFO] [stdout] 10 | | } [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling bip_dht v0.6.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/error.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / error_chain! { [INFO] [stdout] 8 | | types { [INFO] [stdout] 9 | | DhtError, DhtErrorKind, DhtResultExt, DhtResult; [INFO] [stdout] 10 | | } [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/worker/handler.rs:748:22 [INFO] [stdout] | [INFO] [stdout] 748 | let (mut bootstrap, mut attempts) = match table_actions.get_mut(&action_id) { [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: variable does not need to be mutable [INFO] [stdout] --> src/worker/handler.rs:748:37 [INFO] [stdout] | [INFO] [stdout] 748 | let (mut bootstrap, mut attempts) = match table_actions.get_mut(&action_id) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 78 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | let send_sock = try!(UdpSocket::bind(&builder.src_addr)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | let recv_sock = try!(send_sock.try_clone()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | let kill_sock = try!(send_sock.try_clone()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | let kill_addr = try!(send_sock.local_addr()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/builder.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | let send = try!(worker::start_mainline_dht(send_sock, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/request.rs:76:30 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn from_parts(root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | let rqst_root = try!(validate.lookup_and_convert_dict(root, REQUEST_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:85:33 [INFO] [stdout] | [INFO] [stdout] 85 | let ping_rqst = try!(PingRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | try!(FindNodeRequest::from_parts(rqst_root, trans_id, message::TARGET_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:94:38 [INFO] [stdout] | [INFO] [stdout] 94 | let get_peers_rqst = try!(GetPeersRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:98:42 [INFO] [stdout] | [INFO] [stdout] 98 | let announce_peer_rqst = try!(AnnouncePeerRequest::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/request.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | try!(FindNodeRequest::from_parts(rqst_root, trans_id, target_key)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/request.rs:130:49 [INFO] [stdout] | [INFO] [stdout] 130 | fn forward_compatible_find_node<'a>(rqst_root: &Dictionary<'a, Bencode<'a>>) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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] --> src/message/response.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn from_parts(root: &'a Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | let rqst_root = try!(validate.lookup_and_convert_dict(root, RESPONSE_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | let ping_rsp = try!(PingResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:114:37 [INFO] [stdout] | [INFO] [stdout] 114 | let find_node_rsp = try!(FindNodeResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:118:37 [INFO] [stdout] | [INFO] [stdout] 118 | let get_peers_rsp = try!(GetPeersResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/response.rs:122:41 [INFO] [stdout] | [INFO] [stdout] 122 | let announce_peer_rsp = try!(AnnouncePeerResponse::from_parts(rqst_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | let code = try!(self.convert_int(&args[0], &format!("{}[0]", ERROR_ARGS_KEY))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:68:23 [INFO] [stdout] | [INFO] [stdout] 68 | let message = try!(self.convert_str(&args[1], &format!("{}[1]", ERROR_ARGS_KEY))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/error.rs:106:30 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn from_parts(root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:110:26 [INFO] [stdout] | [INFO] [stdout] 110 | let error_args = try!(validate.lookup_and_convert_list(root, ERROR_ARGS_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:112:31 [INFO] [stdout] | [INFO] [stdout] 112 | let (code, message) = try!(validate.extract_error_args(error_args)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/error.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | let error_code = try!(ErrorCode::new(code)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/ping.rs:25:35 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/ping.rs:74:34 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn from_parts(rsp_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/ping.rs:77:23 [INFO] [stdout] | [INFO] [stdout] 77 | let request = try!(PingRequest::from_parts(rsp_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/find_node.rs:30:35 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | let target_id_bytes = try!(validate.lookup_and_convert_bytes(rqst_root, target_key)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | let target_id = try!(validate.validate_node_id(target_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:86:29 [INFO] [stdout] | [INFO] [stdout] 86 | let compact_nodes = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/find_node.rs:95:34 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn from_parts(rsp_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:100:29 [INFO] [stdout] | [INFO] [stdout] 100 | let node_id_bytes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:101:23 [INFO] [stdout] | [INFO] [stdout] 101 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/find_node.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | let nodes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODES_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/get_peers.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | try!(validate.lookup_and_convert_bytes(rqst_root, message::INFO_HASH_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | let info_hash = try!(validate.validate_info_hash(info_hash_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/get_peers.rs:102:37 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn from_parts(rsp_root: &'a Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | let node_id_bytes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:108:23 [INFO] [stdout] | [INFO] [stdout] 108 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:119:34 [INFO] [stdout] | [INFO] [stdout] 119 | let nodes_info = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:120:35 [INFO] [stdout] | [INFO] [stdout] 120 | let values_info = try!(validate.validate_values(values)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:124:34 [INFO] [stdout] | [INFO] [stdout] 124 | let nodes_info = try!(validate.validate_nodes(nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/get_peers.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | let values_info = try!(validate.validate_values(values)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/announce_peer.rs:47:35 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | try!(validate.lookup_and_convert_bytes(rqst_root, message::INFO_HASH_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | let info_hash = try!(validate.validate_info_hash(info_hash_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | let token = try!(validate.lookup_and_convert_bytes(rqst_root, message::TOKEN_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:69:35 [INFO] [stdout] | [INFO] [stdout] 69 | let port_number = try!(port) as u16; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message/announce_peer.rs:136:35 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [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: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/announce_peer.rs:143:23 [INFO] [stdout] | [INFO] [stdout] 143 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:67:24 [INFO] [stdout] | [INFO] [stdout] 67 | let msg_root = try!(validate.convert_dict(message, ROOT_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | let trans_id = try!(validate.lookup_and_convert_bytes(msg_root, TRANSACTION_ID_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | let msg_type = try!(validate.lookup_and_convert_str(msg_root, MESSAGE_TYPE_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | let rqst_type = try!(validate.lookup_and_convert_str(msg_root, REQUEST_TYPE_KEY)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | let rqst_msg = try!(RequestType::from_parts(msg_root, trans_id, rqst_type)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:80:35 [INFO] [stdout] | [INFO] [stdout] 80 | let rsp_message = try!(ResponseType::from_parts(msg_root, trans_id, rsp_type)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message/mod.rs:84:35 [INFO] [stdout] | [INFO] [stdout] 84 | let err_message = try!(ErrorMessage::from_parts(msg_root, trans_id)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:43:21 [INFO] [stdout] | [INFO] [stdout] 43 | let addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 51 | let addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/router.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | let mut addrs = try!(self.socket_addrs()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/worker/handler.rs:56:26 [INFO] [stdout] | [INFO] [stdout] 56 | let mut event_loop = try!(EventLoop::new()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/worker/mod.rs:85:26 [INFO] [stdout] | [INFO] [stdout] 85 | let message_sender = try!(handler::create_dht_handler(routing_table, [INFO] [stdout] | ^^^ [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] --> src/error.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / error_chain! { [INFO] [stdout] 8 | | types { [INFO] [stdout] 9 | | DhtError, DhtErrorKind, DhtResultExt, DhtResult; [INFO] [stdout] 10 | | } [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/error.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / error_chain! { [INFO] [stdout] 8 | | types { [INFO] [stdout] 9 | | DhtError, DhtErrorKind, DhtResultExt, DhtResult; [INFO] [stdout] 10 | | } [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/worker/handler.rs:748:22 [INFO] [stdout] | [INFO] [stdout] 748 | let (mut bootstrap, mut attempts) = match table_actions.get_mut(&action_id) { [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: variable does not need to be mutable [INFO] [stdout] --> src/worker/handler.rs:748:37 [INFO] [stdout] | [INFO] [stdout] 748 | let (mut bootstrap, mut attempts) = match table_actions.get_mut(&action_id) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 78 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.99s [INFO] running `Command { std: "docker" "inspect" "95cf41ddf68dd872bf080ec9141cd524370cd03317f7887f8ebc4c14720c4069", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95cf41ddf68dd872bf080ec9141cd524370cd03317f7887f8ebc4c14720c4069", kill_on_drop: false }` [INFO] [stdout] 95cf41ddf68dd872bf080ec9141cd524370cd03317f7887f8ebc4c14720c4069 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-101/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-101/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+722e1797249a965b6335aebd65d777f917e498f1" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 337065671edb033454bdd2f3437be3ee958ee902b8d3206376a9c962a2025ea4 [INFO] running `Command { std: "docker" "start" "-a" "337065671edb033454bdd2f3437be3ee958ee902b8d3206376a9c962a2025ea4", kill_on_drop: false }` [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/builder.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | let send_sock = try!(UdpSocket::bind(&builder.src_addr)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/builder.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | let recv_sock = try!(send_sock.try_clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/builder.rs:27:25 [INFO] [stderr] | [INFO] [stderr] 27 | let kill_sock = try!(send_sock.try_clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/builder.rs:28:25 [INFO] [stderr] | [INFO] [stderr] 28 | let kill_addr = try!(send_sock.local_addr()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/builder.rs:30:20 [INFO] [stderr] | [INFO] [stderr] 30 | let send = try!(worker::start_mainline_dht(send_sock, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/request.rs:76:30 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn from_parts(root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/request.rs:81:25 [INFO] [stderr] | [INFO] [stderr] 81 | let rqst_root = try!(validate.lookup_and_convert_dict(root, REQUEST_ARGS_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/request.rs:85:33 [INFO] [stderr] | [INFO] [stderr] 85 | let ping_rqst = try!(PingRequest::from_parts(rqst_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/request.rs:90:21 [INFO] [stderr] | [INFO] [stderr] 90 | try!(FindNodeRequest::from_parts(rqst_root, trans_id, message::TARGET_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/request.rs:94:38 [INFO] [stderr] | [INFO] [stderr] 94 | let get_peers_rqst = try!(GetPeersRequest::from_parts(rqst_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/request.rs:98:42 [INFO] [stderr] | [INFO] [stderr] 98 | let announce_peer_rqst = try!(AnnouncePeerRequest::from_parts(rqst_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/request.rs:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | try!(FindNodeRequest::from_parts(rqst_root, trans_id, target_key)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/request.rs:130:49 [INFO] [stderr] | [INFO] [stderr] 130 | fn forward_compatible_find_node<'a>(rqst_root: &Dictionary<'a, Bencode<'a>>) -> Option<&'static str> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/response.rs:101:33 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn from_parts(root: &'a Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/response.rs:106:25 [INFO] [stderr] | [INFO] [stderr] 106 | let rqst_root = try!(validate.lookup_and_convert_dict(root, RESPONSE_ARGS_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/response.rs:110:32 [INFO] [stderr] | [INFO] [stderr] 110 | let ping_rsp = try!(PingResponse::from_parts(rqst_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/response.rs:114:37 [INFO] [stderr] | [INFO] [stderr] 114 | let find_node_rsp = try!(FindNodeResponse::from_parts(rqst_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/response.rs:118:37 [INFO] [stderr] | [INFO] [stderr] 118 | let get_peers_rsp = try!(GetPeersResponse::from_parts(rqst_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/response.rs:122:41 [INFO] [stderr] | [INFO] [stderr] 122 | let announce_peer_rsp = try!(AnnouncePeerResponse::from_parts(rqst_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/error.rs:67:20 [INFO] [stderr] | [INFO] [stderr] 67 | let code = try!(self.convert_int(&args[0], &format!("{}[0]", ERROR_ARGS_KEY))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/error.rs:68:23 [INFO] [stderr] | [INFO] [stderr] 68 | let message = try!(self.convert_str(&args[1], &format!("{}[1]", ERROR_ARGS_KEY))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/error.rs:106:30 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn from_parts(root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/error.rs:110:26 [INFO] [stderr] | [INFO] [stderr] 110 | let error_args = try!(validate.lookup_and_convert_list(root, ERROR_ARGS_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/error.rs:112:31 [INFO] [stderr] | [INFO] [stderr] 112 | let (code, message) = try!(validate.extract_error_args(error_args)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/error.rs:113:26 [INFO] [stderr] | [INFO] [stderr] 113 | let error_code = try!(ErrorCode::new(code)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/ping.rs:25:35 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/ping.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/ping.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/ping.rs:74:34 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn from_parts(rsp_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/ping.rs:77:23 [INFO] [stderr] | [INFO] [stderr] 77 | let request = try!(PingRequest::from_parts(rsp_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/find_node.rs:30:35 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/find_node.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/find_node.rs:38:23 [INFO] [stderr] | [INFO] [stderr] 38 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/find_node.rs:40:31 [INFO] [stderr] | [INFO] [stderr] 40 | let target_id_bytes = try!(validate.lookup_and_convert_bytes(rqst_root, target_key)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/find_node.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | let target_id = try!(validate.validate_node_id(target_id_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/find_node.rs:86:29 [INFO] [stderr] | [INFO] [stderr] 86 | let compact_nodes = try!(validate.validate_nodes(nodes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/find_node.rs:95:34 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn from_parts(rsp_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/find_node.rs:100:29 [INFO] [stderr] | [INFO] [stderr] 100 | let node_id_bytes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODE_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/find_node.rs:101:23 [INFO] [stderr] | [INFO] [stderr] 101 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/find_node.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | let nodes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODES_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/get_peers.rs:28:35 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:35:23 [INFO] [stderr] | [INFO] [stderr] 35 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | try!(validate.lookup_and_convert_bytes(rqst_root, message::INFO_HASH_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:39:25 [INFO] [stderr] | [INFO] [stderr] 39 | let info_hash = try!(validate.validate_info_hash(info_hash_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/get_peers.rs:102:37 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn from_parts(rsp_root: &'a Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:107:29 [INFO] [stderr] | [INFO] [stderr] 107 | let node_id_bytes = try!(validate.lookup_and_convert_bytes(rsp_root, message::NODE_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:119:34 [INFO] [stderr] | [INFO] [stderr] 119 | let nodes_info = try!(validate.validate_nodes(nodes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:120:35 [INFO] [stderr] | [INFO] [stderr] 120 | let values_info = try!(validate.validate_values(values)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:124:34 [INFO] [stderr] | [INFO] [stderr] 124 | let nodes_info = try!(validate.validate_nodes(nodes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/get_peers.rs:128:35 [INFO] [stderr] | [INFO] [stderr] 128 | let values_info = try!(validate.validate_values(values)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/announce_peer.rs:47:35 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/announce_peer.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/announce_peer.rs:54:23 [INFO] [stderr] | [INFO] [stderr] 54 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/announce_peer.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | try!(validate.lookup_and_convert_bytes(rqst_root, message::INFO_HASH_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/announce_peer.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | let info_hash = try!(validate.validate_info_hash(info_hash_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/announce_peer.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | let token = try!(validate.lookup_and_convert_bytes(rqst_root, message::TOKEN_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/announce_peer.rs:69:35 [INFO] [stderr] | [INFO] [stderr] 69 | let port_number = try!(port) as u16; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message/announce_peer.rs:136:35 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn from_parts(rqst_root: &Dictionary<'a, Bencode<'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Dictionary<'a, Bencode<'a>>` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/announce_peer.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | try!(validate.lookup_and_convert_bytes(rqst_root, message::NODE_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/announce_peer.rs:143:23 [INFO] [stderr] | [INFO] [stderr] 143 | let node_id = try!(validate.validate_node_id(node_id_bytes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/mod.rs:67:24 [INFO] [stderr] | [INFO] [stderr] 67 | let msg_root = try!(validate.convert_dict(message, ROOT_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/mod.rs:69:24 [INFO] [stderr] | [INFO] [stderr] 69 | let trans_id = try!(validate.lookup_and_convert_bytes(msg_root, TRANSACTION_ID_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/mod.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | let msg_type = try!(validate.lookup_and_convert_str(msg_root, MESSAGE_TYPE_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/mod.rs:74:33 [INFO] [stderr] | [INFO] [stderr] 74 | let rqst_type = try!(validate.lookup_and_convert_str(msg_root, REQUEST_TYPE_KEY)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/mod.rs:75:32 [INFO] [stderr] | [INFO] [stderr] 75 | let rqst_msg = try!(RequestType::from_parts(msg_root, trans_id, rqst_type)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/mod.rs:80:35 [INFO] [stderr] | [INFO] [stderr] 80 | let rsp_message = try!(ResponseType::from_parts(msg_root, trans_id, rsp_type)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message/mod.rs:84:35 [INFO] [stderr] | [INFO] [stderr] 84 | let err_message = try!(ErrorMessage::from_parts(msg_root, trans_id)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/router.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | let addrs = try!(self.socket_addrs()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/router.rs:51:21 [INFO] [stderr] | [INFO] [stderr] 51 | let addrs = try!(self.socket_addrs()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/router.rs:59:25 [INFO] [stderr] | [INFO] [stderr] 59 | let mut addrs = try!(self.socket_addrs()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/worker/handler.rs:56:26 [INFO] [stderr] | [INFO] [stderr] 56 | let mut event_loop = try!(EventLoop::new()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/worker/mod.rs:85:26 [INFO] [stderr] | [INFO] [stderr] 85 | let message_sender = try!(handler::create_dht_handler(routing_table, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/error.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / error_chain! { [INFO] [stderr] 8 | | types { [INFO] [stderr] 9 | | DhtError, DhtErrorKind, DhtResultExt, DhtResult; [INFO] [stderr] 10 | | } [INFO] [stderr] ... | [INFO] [stderr] 40 | | } [INFO] [stderr] 41 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/error.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / error_chain! { [INFO] [stderr] 8 | | types { [INFO] [stderr] 9 | | DhtError, DhtErrorKind, DhtResultExt, DhtResult; [INFO] [stderr] 10 | | } [INFO] [stderr] ... | [INFO] [stderr] 40 | | } [INFO] [stderr] 41 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `error_chain_processed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/worker/handler.rs:748:22 [INFO] [stderr] | [INFO] [stderr] 748 | let (mut bootstrap, mut attempts) = match table_actions.get_mut(&action_id) { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/worker/handler.rs:748:37 [INFO] [stderr] | [INFO] [stderr] 748 | let (mut bootstrap, mut attempts) = match table_actions.get_mut(&action_id) { [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: `bip_dht` (lib) generated 78 warnings [INFO] [stderr] warning: `bip_dht` (lib test) generated 78 warnings (78 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/bip_dht-e8b999d98222d652) [INFO] [stdout] [INFO] [stdout] running 57 tests [INFO] [stdout] test message::compact_info::tests::positive_compact_nodes_empty ... ok [INFO] [stdout] test message::compact_info::tests::positive_compact_nodes_many ... ok [INFO] [stdout] test message::compact_info::tests::positive_compact_nodes_one ... ok [INFO] [stdout] test message::compact_info::tests::positive_compact_values_empty ... ok [INFO] [stdout] test message::compact_info::tests::positive_compact_values_many ... ok [INFO] [stdout] test message::compact_info::tests::positive_compact_values_one ... ok [INFO] [stdout] test routing::bucket::tests::positive_all_good_nodes ... ok [INFO] [stdout] test routing::bucket::tests::positive_initial_no_nodes ... ok [INFO] [stdout] test routing::bucket::tests::positive_all_questionable_nodes ... ok [INFO] [stdout] test routing::bucket::tests::positive_replace_questionable_node ... ok [INFO] [stdout] test routing::bucket::tests::positive_resist_good_node_churn ... ok [INFO] [stdout] test routing::node::tests::positive_as_bad ... ok [INFO] [stdout] test routing::node::tests::positive_as_good ... ok [INFO] [stdout] test routing::bucket::tests::positive_resist_questionable_node_churn ... ok [INFO] [stdout] test routing::node::tests::positive_as_questionable ... ok [INFO] [stdout] test routing::node::tests::positive_bad_status_ordering ... ok [INFO] [stdout] test routing::node::tests::positive_node_idle ... ok [INFO] [stdout] test routing::node::tests::positive_good_status_ordering ... ok [INFO] [stdout] test routing::node::tests::positive_questionable_status_ordering ... ok [INFO] [stdout] test routing::node::tests::positive_node_idle_reqeusts ... ok [INFO] [stdout] test routing::node::tests::positive_response_renewal ... ok [INFO] [stdout] test routing::node::tests::positive_request_renewal ... ok [INFO] [stdout] test routing::table::tests::positive_initial_empty_buckets ... ok [INFO] [stdout] test routing::table::tests::positive_first_bucket_sorted ... ok [INFO] [stdout] test routing::table::tests::negative_node_id_equal_table_id ... ok [INFO] [stdout] test security::tests::positive_generate_compliant_ipv4_test_five ... ok [INFO] [stdout] test security::tests::positive_generate_compliant_ipv4_test_four ... ok [INFO] [stdout] test security::tests::positive_generate_compliant_ipv4_test_one ... ok [INFO] [stdout] test security::tests::positive_generate_compliant_ipv4_test_three ... ok [INFO] [stdout] test security::tests::positive_is_compliant_ipv4_test_five ... ok [INFO] [stdout] test security::tests::positive_is_compliant_ipv4_test_four ... ok [INFO] [stdout] test security::tests::positive_generate_compliant_ipv4_test_two ... ok [INFO] [stdout] test security::tests::positive_is_compliant_ipv4_test_one ... ok [INFO] [stdout] test security::tests::positive_is_compliant_ipv4_test_three ... ok [INFO] [stdout] test security::tests::positive_is_compliant_ipv4_test_two ... ok [INFO] [stdout] test storage::tests::positive_add_and_retrieve_contact ... ok [INFO] [stdout] test token::tests::positive_accept_v4_token_from_second_secret ... ok [INFO] [stdout] test token::tests::positive_accept_v6_token_from_second_secret ... ok [INFO] [stdout] test token::tests::positive_accept_valid_v4_token ... ok [INFO] [stdout] test token::tests::positive_accept_valid_v6_token ... ok [INFO] [stdout] test transaction::tests::positive_tid_from_bytes ... ok [INFO] [stdout] test transaction::tests::positive_overflow_aid_generate ... ok [INFO] [stdout] test transaction::tests::positive_unique_mid_blocks ... ok [INFO] [stdout] test transaction::tests::positive_overflow_tid_generate ... ok [INFO] [stdout] test transaction::tests::positive_overflow_mid_generate ... ok [INFO] [stdout] test transaction::tests::positive_unique_aid_blocks ... ok [INFO] [stdout] test transaction::tests::positive_unique_tid_blocks ... ok [INFO] [stdout] test storage::tests::positive_full_storage_expire_two_infohash ... ok [INFO] [stdout] test storage::tests::positive_add_and_retrieve_contacts ... ok [INFO] [stdout] test routing::table::tests::positive_last_bucket_sorted ... ok [INFO] [stdout] test storage::tests::positive_full_storage_expire_one_infohash ... ok [INFO] [stdout] test routing::table::tests::positive_add_node_max_recursion ... ok [INFO] [stdout] test routing::node::tests::positive_encode_node ... FAILED [INFO] [stdout] test token::tests::negative_reject_expired_v4_token - should panic ... ok [INFO] [stdout] test token::tests::negative_reject_expired_v6_token - should panic ... ok [INFO] [stdout] test routing::table::tests::positive_all_sorted_buckets ... ok [INFO] [stdout] test storage::tests::positive_renew_contacts ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- routing::node::tests::positive_encode_node stdout ---- [INFO] [stdout] thread 'routing::node::tests::positive_encode_node' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `127`, [INFO] [stdout] right: `0`', src/routing/node.rs:279:13 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x563bff16a95c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x563bff16a95c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x563bff16a95c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x563bff16a95c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x563bff18d3cc - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x563bff165415 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x563bff16c3b0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x563bff16c3b0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x563bff16c3b0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x563bff16bf96 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x563bff16ca64 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x563bff16c540 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x563bff16ae14 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x563bff16c4a9 - rust_begin_unwind [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x563bff0a7871 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x563bff18bf78 - core::panicking::assert_failed_inner::hc71171cfb6f4bc69 [INFO] [stdout] 16: 0x563bff0c835a - core::panicking::assert_failed::h8a7eac57c2b2675a [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/core/src/panicking.rs:145:5 [INFO] [stdout] 17: 0x563bff0e20cb - bip_dht::routing::node::tests::positive_encode_node::hf9f406eba8cd4efd [INFO] [stdout] at /opt/rustwide/workdir/src/routing/node.rs:279:13 [INFO] [stdout] 18: 0x563bff0e1cba - bip_dht::routing::node::tests::positive_encode_node::{{closure}}::h482d68ce711c1314 [INFO] [stdout] at /opt/rustwide/workdir/src/routing/node.rs:262:5 [INFO] [stdout] 19: 0x563bff0db3ee - core::ops::function::FnOnce::call_once::h5b13026420370366 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x563bff117143 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x563bff117143 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/test/src/lib.rs:585:5 [INFO] [stdout] 22: 0x563bff115cd7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 23: 0x563bff115cd7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 24: 0x563bff115cd7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:406:40 [INFO] [stdout] 25: 0x563bff115cd7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:370:19 [INFO] [stdout] 26: 0x563bff115cd7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panic.rs:133:14 [INFO] [stdout] 27: 0x563bff115cd7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/test/src/lib.rs:608:18 [INFO] [stdout] 28: 0x563bff115cd7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/test/src/lib.rs:500:39 [INFO] [stdout] 29: 0x563bff0e301e - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/test/src/lib.rs:527:37 [INFO] [stdout] 30: 0x563bff0e301e - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 31: 0x563bff0e7e48 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 32: 0x563bff0e7e48 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 33: 0x563bff0e7e48 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:406:40 [INFO] [stdout] 34: 0x563bff0e7e48 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panicking.rs:370:19 [INFO] [stdout] 35: 0x563bff0e7e48 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/panic.rs:133:14 [INFO] [stdout] 36: 0x563bff0e7e48 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 37: 0x563bff0e7e48 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 38: 0x563bff171503 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 39: 0x563bff171503 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 40: 0x563bff171503 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/722e1797249a965b6335aebd65d777f917e498f1/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 41: 0x7f245c086609 - start_thread [INFO] [stdout] 42: 0x7f245be58293 - clone [INFO] [stdout] 43: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] routing::node::tests::positive_encode_node [INFO] [stdout] [INFO] [stdout] test result: FAILED. 56 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--lib' [INFO] running `Command { std: "docker" "inspect" "337065671edb033454bdd2f3437be3ee958ee902b8d3206376a9c962a2025ea4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "337065671edb033454bdd2f3437be3ee958ee902b8d3206376a9c962a2025ea4", kill_on_drop: false }` [INFO] [stdout] 337065671edb033454bdd2f3437be3ee958ee902b8d3206376a9c962a2025ea4