[INFO] cloning repository https://github.com/zetok/tox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zetok/tox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzetok%2Ftox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzetok%2Ftox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6fe1c4e39a28b280fb76f3b22f4d2484a3a1e08d
[INFO] testing zetok/tox against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzetok%2Ftox" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/zetok/tox on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/zetok/tox
[INFO] finished tweaking git repo https://github.com/zetok/tox
[INFO] tweaked toml for git repo https://github.com/zetok/tox written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/zetok/tox already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quickcheck v0.6.0
[INFO] [stderr]   Downloaded cookie-factory v0.2.2
[INFO] [stderr]   Downloaded libsodium-sys v0.0.16
[INFO] [stderr]   Downloaded tokio-core v0.1.11
[INFO] [stderr]   Downloaded sodiumoxide v0.0.16
[INFO] [stderr]   Downloaded clippy v0.0.178
[INFO] [stderr]   Downloaded clippy_lints v0.0.178
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 69254a303ba1d1704bbb92e6282169dd135c22b6b83465585b3d72ae1a31344a
[INFO] running `Command { std: "docker" "start" "-a" "69254a303ba1d1704bbb92e6282169dd135c22b6b83465585b3d72ae1a31344a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "69254a303ba1d1704bbb92e6282169dd135c22b6b83465585b3d72ae1a31344a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69254a303ba1d1704bbb92e6282169dd135c22b6b83465585b3d72ae1a31344a", kill_on_drop: false }`
[INFO] [stdout] 69254a303ba1d1704bbb92e6282169dd135c22b6b83465585b3d72ae1a31344a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] de257cb824f3e39064485d037e1f8ccdf389c7f7bfd9b8df7e648232a7052f83
[INFO] running `Command { std: "docker" "start" "-a" "de257cb824f3e39064485d037e1f8ccdf389c7f7bfd9b8df7e648232a7052f83", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.35
[INFO] [stderr]    Compiling cfg-if v0.1.2
[INFO] [stderr]    Compiling futures v0.1.17
[INFO] [stderr]    Compiling byteorder v1.2.1
[INFO] [stderr]    Compiling pkg-config v0.3.9
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling lazycell v0.6.0
[INFO] [stderr]    Compiling slab v0.4.0
[INFO] [stderr]    Compiling scoped-tls v0.1.0
[INFO] [stderr]    Compiling serde v1.0.27
[INFO] [stderr]    Compiling smallvec v0.2.1
[INFO] [stderr]    Compiling take v0.1.0
[INFO] [stderr]    Compiling cookie-factory v0.2.2
[INFO] [stderr]    Compiling log v0.4.1
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling libsodium-sys v0.0.16
[INFO] [stderr]    Compiling iovec v0.1.1
[INFO] [stderr]    Compiling net2 v0.2.31
[INFO] [stderr]    Compiling memchr v1.0.2
[INFO] [stderr]    Compiling rand v0.3.20
[INFO] [stderr]    Compiling bytes v0.4.5
[INFO] [stderr]    Compiling nom v3.2.1
[INFO] [stderr]    Compiling mio v0.6.12
[INFO] [stderr]    Compiling tokio-io v0.1.4
[INFO] [stderr]    Compiling tokio-service v0.1.0
[INFO] [stderr]    Compiling tokio-core v0.1.11
[INFO] [stderr]    Compiling tokio-proto v0.1.1
[INFO] [stderr]    Compiling sodiumoxide v0.0.16
[INFO] [stderr]    Compiling tox v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/binary_io.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn expect(self, &str) -> T;
[INFO] [stdout]     |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | / /// Match first byte from the provided slice as `IpType`. If no match found,
[INFO] [stdout] 195 | | /// return `None`.
[INFO] [stdout]     | |_-----------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / /// Fail if there are less than 4 bytes supplied, otherwise parses first
[INFO] [stdout] 225 | | /// 4 bytes as an `Ipv4Addr`.
[INFO] [stdout]     | |_----------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | / /// Fail if there are less than 16 bytes supplied, otherwise parses first
[INFO] [stdout] 230 | | /// 16 bytes as an `Ipv6Addr`.
[INFO] [stdout]     | |_-----------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | / /** Deserialize bytes into `PackedNode`. Returns `None` if deseralizing
[INFO] [stdout] 395 | | failed.
[INFO] [stdout] 396 | |
[INFO] [stdout] 397 | | Can fail if:
[INFO] [stdout] ...   |
[INFO] [stdout] 405 | | address.
[INFO] [stdout] 406 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | / /** De-serialization of bytes into `GetNodes`. If less than
[INFO] [stdout] 482 | | [`GET_NODES_SIZE`](./constant.GET_NODES_SIZE.html) bytes are provided,
[INFO] [stdout] 483 | | de-serialization will fail, returning `None`.
[INFO] [stdout] 484 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:567:1
[INFO] [stdout]     |
[INFO] [stdout] 567 | / /** Method to parse received bytes as `SendNodes`.
[INFO] [stdout] 568 | |
[INFO] [stdout] 569 | |     Returns `None` if bytes can't be parsed into `SendNodes`.
[INFO] [stdout] 570 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:758:1
[INFO] [stdout]     |
[INFO] [stdout] 758 | /// De-serialize bytes into `DhtPacket`.
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | /         /** De-seralize from bytes. Tries to parse first
[INFO] [stdout] 111 | |         [`PING_SIZE`](./constant.PING_SIZE.html) bytes from supplied slice
[INFO] [stdout] 112 | |         as `Ping`.
[INFO] [stdout] 113 | |         */
[INFO] [stdout]     | |__________^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout] ...
[INFO] [stdout] 144 |   impls_for_pings!(PingReq, PingResp);
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: this warning originates in the macro `impls_for_pings` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/dht.rs:781:24
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]     |                        ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/dht.rs:781:36
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxcore/network.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         try!(sock.set_broadcast(true));
[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/toxcore/network.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let sock = try!(
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/toxcore/packet_kind.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / /** Parse first byte from provided `bytes` as `PacketKind`.
[INFO] [stdout] 82 | |
[INFO] [stdout] 83 | |     Returns `None` if no bytes provided, or first byte doesn't match.
[INFO] [stdout] 84 | | */
[INFO] [stdout]    | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | / /** Provided that there's at least [`NOSPAMKEYSBYTES`]
[INFO] [stdout] 205 | | (./constant.NOSPAMKEYSBYTES.html) de-serializing will not fail.
[INFO] [stdout] 206 | |
[INFO] [stdout] 207 | | E.g.
[INFO] [stdout] ...   |
[INFO] [stdout] 231 | | ```
[INFO] [stdout] 232 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / /** If successful, returns `DhtState` and length of the section in bytes.
[INFO] [stdout] 346 | |
[INFO] [stdout] 347 | | > **Note:** An empty list of nodes can be returned!
[INFO] [stdout] 348 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | | ```
[INFO] [stdout] 376 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:467:1
[INFO] [stdout]     |
[INFO] [stdout] 467 | / /** E.g.
[INFO] [stdout] 468 | |
[INFO] [stdout] 469 | | ```
[INFO] [stdout] 470 | | use self::tox::toxcore::binary_io::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 523 | | ```
[INFO] [stdout] 524 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:876:1
[INFO] [stdout]     |
[INFO] [stdout] 876 | / /** Produces up to [`NAME_LEN`](./constant.NAME_LEN.html) bytes long `Name`.
[INFO] [stdout] 877 | |     Can't fail.
[INFO] [stdout] 878 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | / /** Produces up to [`STATUS_MSG_LEN`](./constant.STATUS_MSG_LEN.html) bytes
[INFO] [stdout] 929 | | long `StatusMsg`. Can't fail.
[INFO] [stdout] 930 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:408:62
[INFO] [stdout]     |
[INFO] [stdout] 408 |             .expect("Failed to write DhtState DHT_MAGICAL!");;
[INFO] [stdout]     |                                                              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/toxid.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | / /** Should always work, provided that there are supplied at least
[INFO] [stdout] 240 | | [`TOXIDBYTES`](./constant.TOXIDBYTES.html).
[INFO] [stdout] 241 | |
[INFO] [stdout] 242 | | Note that `ToxId` might not have a valid [`NoSpam`](./struct.NoSpam.html) from
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | | ```
[INFO] [stdout] 256 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/toxcore/dht_new/kbucket.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]    |                        ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/toxcore/dht_new/kbucket.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]    |                                    ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:158:52
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let maybe_key = PrecomputedKey::from_slice(try!(
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let key = Box::new(try!(maybe_key.ok_or(KeyDerivationError::Failed)));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:247:21
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let nonce = try!(Nonce::from_slice(&data[
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:251:22
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let output = try!(crypto_core::decrypt_data_symmetric(
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     try!(PassKey::new(passphrase)).encrypt(data)
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:356:16
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let salt = try!(get_salt(data).ok_or(KeyDerivationError::Failed));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     try!(PassKey::with_salt(passphrase, salt)).decrypt(data)
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/toxcore/crypto_core.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/toxcore/crypto_core.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 | static CRYPTO_INIT_ONCE: Once = ONCE_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 35 | static CRYPTO_INIT_ONCE: Once = Once::new();
[INFO] [stdout]    |                                 ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/toxcore/network.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     object: Rc<RefCell<Any>>,
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     object: Rc<RefCell<dyn Any>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/toxcore/network.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub type PacketHandlerCallback = fn(Rc<RefCell<Any>>, addr: SocketAddr, data: &[u8]) -> usize;
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub type PacketHandlerCallback = fn(Rc<RefCell<dyn Any>>, addr: SocketAddr, data: &[u8]) -> usize;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/toxcore/network.rs:127:88
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<Any>>) {
[INFO] [stdout]     |                                                                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<dyn Any>>) {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 4.99s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "de257cb824f3e39064485d037e1f8ccdf389c7f7bfd9b8df7e648232a7052f83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de257cb824f3e39064485d037e1f8ccdf389c7f7bfd9b8df7e648232a7052f83", kill_on_drop: false }`
[INFO] [stdout] de257cb824f3e39064485d037e1f8ccdf389c7f7bfd9b8df7e648232a7052f83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 640cf1d1c0cac38cac561adfc1243e28a908a4fb0392f42a7182b033b3035a57
[INFO] running `Command { std: "docker" "start" "-a" "640cf1d1c0cac38cac561adfc1243e28a908a4fb0392f42a7182b033b3035a57", kill_on_drop: false }`
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling memchr v2.0.1
[INFO] [stderr]    Compiling lazy_static v1.0.0
[INFO] [stderr]    Compiling regex-syntax v0.4.2
[INFO] [stderr]    Compiling utf8-ranges v1.0.0
[INFO] [stderr]    Compiling rand v0.4.2
[INFO] [stderr]    Compiling tokio-timer v0.1.2
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/binary_io.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn expect(self, &str) -> T;
[INFO] [stdout]     |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | / /// Match first byte from the provided slice as `IpType`. If no match found,
[INFO] [stdout] 195 | | /// return `None`.
[INFO] [stdout]     | |_-----------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / /// Fail if there are less than 4 bytes supplied, otherwise parses first
[INFO] [stdout] 225 | | /// 4 bytes as an `Ipv4Addr`.
[INFO] [stdout]     | |_----------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | / /// Fail if there are less than 16 bytes supplied, otherwise parses first
[INFO] [stdout] 230 | | /// 16 bytes as an `Ipv6Addr`.
[INFO] [stdout]     | |_-----------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | / /** Deserialize bytes into `PackedNode`. Returns `None` if deseralizing
[INFO] [stdout] 395 | | failed.
[INFO] [stdout] 396 | |
[INFO] [stdout] 397 | | Can fail if:
[INFO] [stdout] ...   |
[INFO] [stdout] 405 | | address.
[INFO] [stdout] 406 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | / /** De-serialization of bytes into `GetNodes`. If less than
[INFO] [stdout] 482 | | [`GET_NODES_SIZE`](./constant.GET_NODES_SIZE.html) bytes are provided,
[INFO] [stdout] 483 | | de-serialization will fail, returning `None`.
[INFO] [stdout] 484 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:567:1
[INFO] [stdout]     |
[INFO] [stdout] 567 | / /** Method to parse received bytes as `SendNodes`.
[INFO] [stdout] 568 | |
[INFO] [stdout] 569 | |     Returns `None` if bytes can't be parsed into `SendNodes`.
[INFO] [stdout] 570 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:758:1
[INFO] [stdout]     |
[INFO] [stdout] 758 | /// De-serialize bytes into `DhtPacket`.
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | /         /** De-seralize from bytes. Tries to parse first
[INFO] [stdout] 111 | |         [`PING_SIZE`](./constant.PING_SIZE.html) bytes from supplied slice
[INFO] [stdout] 112 | |         as `Ping`.
[INFO] [stdout] 113 | |         */
[INFO] [stdout]     | |__________^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout] ...
[INFO] [stdout] 144 |   impls_for_pings!(PingReq, PingResp);
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: this warning originates in the macro `impls_for_pings` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/dht.rs:781:24
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]     |                        ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/dht.rs:781:36
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxcore/network.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         try!(sock.set_broadcast(true));
[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/toxcore/network.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let sock = try!(
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/toxcore/packet_kind.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / /** Parse first byte from provided `bytes` as `PacketKind`.
[INFO] [stdout] 82 | |
[INFO] [stdout] 83 | |     Returns `None` if no bytes provided, or first byte doesn't match.
[INFO] [stdout] 84 | | */
[INFO] [stdout]    | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | / /** Provided that there's at least [`NOSPAMKEYSBYTES`]
[INFO] [stdout] 205 | | (./constant.NOSPAMKEYSBYTES.html) de-serializing will not fail.
[INFO] [stdout] 206 | |
[INFO] [stdout] 207 | | E.g.
[INFO] [stdout] ...   |
[INFO] [stdout] 231 | | ```
[INFO] [stdout] 232 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / /** If successful, returns `DhtState` and length of the section in bytes.
[INFO] [stdout] 346 | |
[INFO] [stdout] 347 | | > **Note:** An empty list of nodes can be returned!
[INFO] [stdout] 348 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | | ```
[INFO] [stdout] 376 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:467:1
[INFO] [stdout]     |
[INFO] [stdout] 467 | / /** E.g.
[INFO] [stdout] 468 | |
[INFO] [stdout] 469 | | ```
[INFO] [stdout] 470 | | use self::tox::toxcore::binary_io::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 523 | | ```
[INFO] [stdout] 524 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:876:1
[INFO] [stdout]     |
[INFO] [stdout] 876 | / /** Produces up to [`NAME_LEN`](./constant.NAME_LEN.html) bytes long `Name`.
[INFO] [stdout] 877 | |     Can't fail.
[INFO] [stdout] 878 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | / /** Produces up to [`STATUS_MSG_LEN`](./constant.STATUS_MSG_LEN.html) bytes
[INFO] [stdout] 929 | | long `StatusMsg`. Can't fail.
[INFO] [stdout] 930 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:408:62
[INFO] [stdout]     |
[INFO] [stdout] 408 |             .expect("Failed to write DhtState DHT_MAGICAL!");;
[INFO] [stdout]     |                                                              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/toxid.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | / /** Should always work, provided that there are supplied at least
[INFO] [stdout] 240 | | [`TOXIDBYTES`](./constant.TOXIDBYTES.html).
[INFO] [stdout] 241 | |
[INFO] [stdout] 242 | | Note that `ToxId` might not have a valid [`NoSpam`](./struct.NoSpam.html) from
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | | ```
[INFO] [stdout] 256 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/toxcore/dht_new/kbucket.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]    |                        ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/toxcore/dht_new/kbucket.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]    |                                    ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:158:52
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let maybe_key = PrecomputedKey::from_slice(try!(
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let key = Box::new(try!(maybe_key.ok_or(KeyDerivationError::Failed)));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:247:21
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let nonce = try!(Nonce::from_slice(&data[
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:251:22
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let output = try!(crypto_core::decrypt_data_symmetric(
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     try!(PassKey::new(passphrase)).encrypt(data)
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:356:16
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let salt = try!(get_salt(data).ok_or(KeyDerivationError::Failed));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     try!(PassKey::with_salt(passphrase, salt)).decrypt(data)
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/toxcore/crypto_core.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/toxcore/crypto_core.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 | static CRYPTO_INIT_ONCE: Once = ONCE_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 35 | static CRYPTO_INIT_ONCE: Once = Once::new();
[INFO] [stdout]    |                                 ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/toxcore/network.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     object: Rc<RefCell<Any>>,
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     object: Rc<RefCell<dyn Any>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/toxcore/network.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub type PacketHandlerCallback = fn(Rc<RefCell<Any>>, addr: SocketAddr, data: &[u8]) -> usize;
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub type PacketHandlerCallback = fn(Rc<RefCell<dyn Any>>, addr: SocketAddr, data: &[u8]) -> usize;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/toxcore/network.rs:127:88
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<Any>>) {
[INFO] [stdout]     |                                                                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<dyn Any>>) {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling aho-corasick v0.6.4
[INFO] [stderr]    Compiling thread_local v0.3.5
[INFO] [stderr]    Compiling regex v0.2.5
[INFO] [stderr]    Compiling env_logger v0.4.3
[INFO] [stderr]    Compiling quickcheck v0.6.0
[INFO] [stderr]    Compiling tox v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/tcp_client.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 });;
[INFO] [stdout]     |                    ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#[test]` attribute may only be used on a non-associated function
[INFO] [stdout]    --> src/toxcore/dht_node.rs:947:5
[INFO] [stdout]     |
[INFO] [stdout] 947 |       #[test]
[INFO] [stdout]     |       ^^^^^^^ the `#[test]` macro causes a function to be run on a test and has no effect on non-functions
[INFO] [stdout] 948 | /     quickcheck! {
[INFO] [stdout] 949 | |         fn dht_node_send_nodes(pns: Vec<PackedNode>) -> TestResult {
[INFO] [stdout] 950 | |             if pns.is_empty() { return TestResult::discard() }
[INFO] [stdout] 951 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 984 | |         }
[INFO] [stdout] 985 | |     }
[INFO] [stdout]     | |_____- expected a non-associated function, found an item macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: replace with conditional compilation to make the item only exist when tests are being run
[INFO] [stdout]     |
[INFO] [stdout] 947 |     #[cfg(test)]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `SelectNext` in tuple element 1 that must be used
[INFO] [stdout]    --> examples/tcp_client.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     core.run( client ).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless polled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/toxcore_tests/toxid_tests.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if let b'A' ... b'F' = b {
[INFO] [stdout]    |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/toxcore_tests/toxid_tests.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |         } else if let b'0' ... b'9' = b {
[INFO] [stdout]    |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/binary_io.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn expect(self, &str) -> T;
[INFO] [stdout]     |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | / /// Match first byte from the provided slice as `IpType`. If no match found,
[INFO] [stdout] 195 | | /// return `None`.
[INFO] [stdout]     | |_-----------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / /// Fail if there are less than 4 bytes supplied, otherwise parses first
[INFO] [stdout] 225 | | /// 4 bytes as an `Ipv4Addr`.
[INFO] [stdout]     | |_----------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | / /// Fail if there are less than 16 bytes supplied, otherwise parses first
[INFO] [stdout] 230 | | /// 16 bytes as an `Ipv6Addr`.
[INFO] [stdout]     | |_-----------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | / /** Deserialize bytes into `PackedNode`. Returns `None` if deseralizing
[INFO] [stdout] 395 | | failed.
[INFO] [stdout] 396 | |
[INFO] [stdout] 397 | | Can fail if:
[INFO] [stdout] ...   |
[INFO] [stdout] 405 | | address.
[INFO] [stdout] 406 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | / /** De-serialization of bytes into `GetNodes`. If less than
[INFO] [stdout] 482 | | [`GET_NODES_SIZE`](./constant.GET_NODES_SIZE.html) bytes are provided,
[INFO] [stdout] 483 | | de-serialization will fail, returning `None`.
[INFO] [stdout] 484 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:567:1
[INFO] [stdout]     |
[INFO] [stdout] 567 | / /** Method to parse received bytes as `SendNodes`.
[INFO] [stdout] 568 | |
[INFO] [stdout] 569 | |     Returns `None` if bytes can't be parsed into `SendNodes`.
[INFO] [stdout] 570 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:758:1
[INFO] [stdout]     |
[INFO] [stdout] 758 | /// De-serialize bytes into `DhtPacket`.
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/dht.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | /         /** De-seralize from bytes. Tries to parse first
[INFO] [stdout] 111 | |         [`PING_SIZE`](./constant.PING_SIZE.html) bytes from supplied slice
[INFO] [stdout] 112 | |         as `Ping`.
[INFO] [stdout] 113 | |         */
[INFO] [stdout]     | |__________^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout] ...
[INFO] [stdout] 144 |   impls_for_pings!(PingReq, PingResp);
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: this warning originates in the macro `impls_for_pings` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/dht.rs:781:24
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]     |                        ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/dht.rs:781:36
[INFO] [stdout]     |
[INFO] [stdout] 781 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxcore/network.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         try!(sock.set_broadcast(true));
[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/toxcore/network.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let sock = try!(
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/toxcore/packet_kind.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / /** Parse first byte from provided `bytes` as `PacketKind`.
[INFO] [stdout] 82 | |
[INFO] [stdout] 83 | |     Returns `None` if no bytes provided, or first byte doesn't match.
[INFO] [stdout] 84 | | */
[INFO] [stdout]    | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | / /** Provided that there's at least [`NOSPAMKEYSBYTES`]
[INFO] [stdout] 205 | | (./constant.NOSPAMKEYSBYTES.html) de-serializing will not fail.
[INFO] [stdout] 206 | |
[INFO] [stdout] 207 | | E.g.
[INFO] [stdout] ...   |
[INFO] [stdout] 231 | | ```
[INFO] [stdout] 232 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / /** If successful, returns `DhtState` and length of the section in bytes.
[INFO] [stdout] 346 | |
[INFO] [stdout] 347 | | > **Note:** An empty list of nodes can be returned!
[INFO] [stdout] 348 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | | ```
[INFO] [stdout] 376 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:467:1
[INFO] [stdout]     |
[INFO] [stdout] 467 | / /** E.g.
[INFO] [stdout] 468 | |
[INFO] [stdout] 469 | | ```
[INFO] [stdout] 470 | | use self::tox::toxcore::binary_io::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 523 | | ```
[INFO] [stdout] 524 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:876:1
[INFO] [stdout]     |
[INFO] [stdout] 876 | / /** Produces up to [`NAME_LEN`](./constant.NAME_LEN.html) bytes long `Name`.
[INFO] [stdout] 877 | |     Can't fail.
[INFO] [stdout] 878 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | / /** Produces up to [`STATUS_MSG_LEN`](./constant.STATUS_MSG_LEN.html) bytes
[INFO] [stdout] 929 | | long `StatusMsg`. Can't fail.
[INFO] [stdout] 930 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/toxcore/state_format/old.rs:408:62
[INFO] [stdout]     |
[INFO] [stdout] 408 |             .expect("Failed to write DhtState DHT_MAGICAL!");;
[INFO] [stdout]     |                                                              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/toxcore/toxid.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | / /** Should always work, provided that there are supplied at least
[INFO] [stdout] 240 | | [`TOXIDBYTES`](./constant.TOXIDBYTES.html).
[INFO] [stdout] 241 | |
[INFO] [stdout] 242 | | Note that `ToxId` might not have a valid [`NoSpam`](./struct.NoSpam.html) from
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | | ```
[INFO] [stdout] 256 | | */
[INFO] [stdout]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/toxcore/dht_new/kbucket.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]    |                        ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/toxcore/dht_new/kbucket.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stdout]    |                                    ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:158:52
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let maybe_key = PrecomputedKey::from_slice(try!(
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let key = Box::new(try!(maybe_key.ok_or(KeyDerivationError::Failed)));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:247:21
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let nonce = try!(Nonce::from_slice(&data[
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:251:22
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let output = try!(crypto_core::decrypt_data_symmetric(
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     try!(PassKey::new(passphrase)).encrypt(data)
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:356:16
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let salt = try!(get_salt(data).ok_or(KeyDerivationError::Failed));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/toxencryptsave/mod.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     try!(PassKey::with_salt(passphrase, salt)).decrypt(data)
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/toxcore/crypto_core.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/toxcore/crypto_core.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 | static CRYPTO_INIT_ONCE: Once = ONCE_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 35 | static CRYPTO_INIT_ONCE: Once = Once::new();
[INFO] [stdout]    |                                 ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/toxcore/network.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     object: Rc<RefCell<Any>>,
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     object: Rc<RefCell<dyn Any>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/toxcore/network.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub type PacketHandlerCallback = fn(Rc<RefCell<Any>>, addr: SocketAddr, data: &[u8]) -> usize;
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub type PacketHandlerCallback = fn(Rc<RefCell<dyn Any>>, addr: SocketAddr, data: &[u8]) -> usize;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/toxcore_tests/network_tests.rs:55:33
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn callback(num: Rc<RefCell<Any>>, _: SocketAddr, _: &[u8]) -> usize {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn callback(num: Rc<RefCell<dyn Any>>, _: SocketAddr, _: &[u8]) -> usize {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/toxcore/network.rs:127:88
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<Any>>) {
[INFO] [stdout]     |                                                                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<dyn Any>>) {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/toxcore_tests/network_tests.rs:62:76
[INFO] [stdout]    |
[INFO] [stdout] 62 |     net.register(99, callback, Rc::new(RefCell::new(1usize)) as Rc<RefCell<Any>>);
[INFO] [stdout]    |                                                                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     net.register(99, callback, Rc::new(RefCell::new(1usize)) as Rc<RefCell<dyn Any>>);
[INFO] [stdout]    |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `sodiumoxide::crypto::box_::PublicKey` in tuple element 0 that must be used
[INFO] [stdout]    --> src/toxcore/tcp/server/server.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |         add_random_client(&server);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NatPingRequest` should have an upper case name
[INFO] [stdout]    --> src/toxcore/dht_new/packet.rs:438:11
[INFO] [stdout]     |
[INFO] [stdout] 438 |     const NatPingRequest: PacketKind = PacketKind::PingRequest;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `NAT_PING_REQUEST`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NatPingResponse` should have an upper case name
[INFO] [stdout]    --> src/toxcore/dht_new/packet.rs:439:11
[INFO] [stdout]     |
[INFO] [stdout] 439 |     const NatPingResponse: PacketKind = PacketKind::PingResponse;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `NAT_PING_RESPONSE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 9.94s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1, rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "640cf1d1c0cac38cac561adfc1243e28a908a4fb0392f42a7182b033b3035a57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "640cf1d1c0cac38cac561adfc1243e28a908a4fb0392f42a7182b033b3035a57", kill_on_drop: false }`
[INFO] [stdout] 640cf1d1c0cac38cac561adfc1243e28a908a4fb0392f42a7182b033b3035a57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0995c456a20f5b4ef786eb38e208e39edd2529f4d4a4a26974ae0d2654b5c7a2
[INFO] running `Command { std: "docker" "start" "-a" "0995c456a20f5b4ef786eb38e208e39edd2529f4d4a4a26974ae0d2654b5c7a2", kill_on_drop: false }`
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/toxcore/binary_io.rs:112:21
[INFO] [stderr]     |
[INFO] [stderr] 112 |     fn expect(self, &str) -> T;
[INFO] [stderr]     |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/dht.rs:194:1
[INFO] [stderr]     |
[INFO] [stderr] 194 | / /// Match first byte from the provided slice as `IpType`. If no match found,
[INFO] [stderr] 195 | | /// return `None`.
[INFO] [stderr]     | |_-----------------^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/dht.rs:224:1
[INFO] [stderr]     |
[INFO] [stderr] 224 | / /// Fail if there are less than 4 bytes supplied, otherwise parses first
[INFO] [stderr] 225 | | /// 4 bytes as an `Ipv4Addr`.
[INFO] [stderr]     | |_----------------------------^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/dht.rs:229:1
[INFO] [stderr]     |
[INFO] [stderr] 229 | / /// Fail if there are less than 16 bytes supplied, otherwise parses first
[INFO] [stderr] 230 | | /// 16 bytes as an `Ipv6Addr`.
[INFO] [stderr]     | |_-----------------------------^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/dht.rs:394:1
[INFO] [stderr]     |
[INFO] [stderr] 394 | / /** Deserialize bytes into `PackedNode`. Returns `None` if deseralizing
[INFO] [stderr] 395 | | failed.
[INFO] [stderr] 396 | |
[INFO] [stderr] 397 | | Can fail if:
[INFO] [stderr] ...   |
[INFO] [stderr] 405 | | address.
[INFO] [stderr] 406 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/dht.rs:481:1
[INFO] [stderr]     |
[INFO] [stderr] 481 | / /** De-serialization of bytes into `GetNodes`. If less than
[INFO] [stderr] 482 | | [`GET_NODES_SIZE`](./constant.GET_NODES_SIZE.html) bytes are provided,
[INFO] [stderr] 483 | | de-serialization will fail, returning `None`.
[INFO] [stderr] 484 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/dht.rs:567:1
[INFO] [stderr]     |
[INFO] [stderr] 567 | / /** Method to parse received bytes as `SendNodes`.
[INFO] [stderr] 568 | |
[INFO] [stderr] 569 | |     Returns `None` if bytes can't be parsed into `SendNodes`.
[INFO] [stderr] 570 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/dht.rs:758:1
[INFO] [stderr]     |
[INFO] [stderr] 758 | /// De-serialize bytes into `DhtPacket`.
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/dht.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 | /         /** De-seralize from bytes. Tries to parse first
[INFO] [stderr] 111 | |         [`PING_SIZE`](./constant.PING_SIZE.html) bytes from supplied slice
[INFO] [stderr] 112 | |         as `Ping`.
[INFO] [stderr] 113 | |         */
[INFO] [stderr]     | |__________^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr] ...
[INFO] [stderr] 144 |   impls_for_pings!(PingReq, PingResp);
[INFO] [stderr]     |   ----------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]     = note: this warning originates in the macro `impls_for_pings` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/toxcore/dht.rs:781:24
[INFO] [stderr]     |
[INFO] [stderr] 781 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stderr]     |                        ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/toxcore/dht.rs:781:36
[INFO] [stderr]     |
[INFO] [stderr] 781 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stderr]     |                                    ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/toxcore/network.rs:116:9
[INFO] [stderr]     |
[INFO] [stderr] 116 |         try!(sock.set_broadcast(true));
[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/toxcore/network.rs:100:20
[INFO] [stderr]     |
[INFO] [stderr] 100 |         let sock = try!(
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/toxcore/packet_kind.rs:81:1
[INFO] [stderr]    |
[INFO] [stderr] 81 | / /** Parse first byte from provided `bytes` as `PacketKind`.
[INFO] [stderr] 82 | |
[INFO] [stderr] 83 | |     Returns `None` if no bytes provided, or first byte doesn't match.
[INFO] [stderr] 84 | | */
[INFO] [stderr]    | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/state_format/old.rs:204:1
[INFO] [stderr]     |
[INFO] [stderr] 204 | / /** Provided that there's at least [`NOSPAMKEYSBYTES`]
[INFO] [stderr] 205 | | (./constant.NOSPAMKEYSBYTES.html) de-serializing will not fail.
[INFO] [stderr] 206 | |
[INFO] [stderr] 207 | | E.g.
[INFO] [stderr] ...   |
[INFO] [stderr] 231 | | ```
[INFO] [stderr] 232 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/state_format/old.rs:345:1
[INFO] [stderr]     |
[INFO] [stderr] 345 | / /** If successful, returns `DhtState` and length of the section in bytes.
[INFO] [stderr] 346 | |
[INFO] [stderr] 347 | | > **Note:** An empty list of nodes can be returned!
[INFO] [stderr] 348 | |
[INFO] [stderr] ...   |
[INFO] [stderr] 375 | | ```
[INFO] [stderr] 376 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/state_format/old.rs:467:1
[INFO] [stderr]     |
[INFO] [stderr] 467 | / /** E.g.
[INFO] [stderr] 468 | |
[INFO] [stderr] 469 | | ```
[INFO] [stderr] 470 | | use self::tox::toxcore::binary_io::*;
[INFO] [stderr] ...   |
[INFO] [stderr] 523 | | ```
[INFO] [stderr] 524 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/state_format/old.rs:876:1
[INFO] [stderr]     |
[INFO] [stderr] 876 | / /** Produces up to [`NAME_LEN`](./constant.NAME_LEN.html) bytes long `Name`.
[INFO] [stderr] 877 | |     Can't fail.
[INFO] [stderr] 878 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/state_format/old.rs:928:1
[INFO] [stderr]     |
[INFO] [stderr] 928 | / /** Produces up to [`STATUS_MSG_LEN`](./constant.STATUS_MSG_LEN.html) bytes
[INFO] [stderr] 929 | | long `StatusMsg`. Can't fail.
[INFO] [stderr] 930 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/toxcore/state_format/old.rs:408:62
[INFO] [stderr]     |
[INFO] [stderr] 408 |             .expect("Failed to write DhtState DHT_MAGICAL!");;
[INFO] [stderr]     |                                                              ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/toxcore/toxid.rs:239:1
[INFO] [stderr]     |
[INFO] [stderr] 239 | / /** Should always work, provided that there are supplied at least
[INFO] [stderr] 240 | | [`TOXIDBYTES`](./constant.TOXIDBYTES.html).
[INFO] [stderr] 241 | |
[INFO] [stderr] 242 | | Note that `ToxId` might not have a valid [`NoSpam`](./struct.NoSpam.html) from
[INFO] [stderr] ...   |
[INFO] [stderr] 255 | | ```
[INFO] [stderr] 256 | | */
[INFO] [stderr]     | |__^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/toxcore/dht_new/kbucket.rs:74:24
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stderr]    |                        ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/toxcore/dht_new/kbucket.rs:74:36
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn distance(&self, &PublicKey, &PublicKey) -> Ordering;
[INFO] [stderr]    |                                    ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &PublicKey`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/toxencryptsave/mod.rs:158:52
[INFO] [stderr]     |
[INFO] [stderr] 158 |         let maybe_key = PrecomputedKey::from_slice(try!(
[INFO] [stderr]     |                                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/toxencryptsave/mod.rs:171:28
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let key = Box::new(try!(maybe_key.ok_or(KeyDerivationError::Failed)));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/toxencryptsave/mod.rs:247:21
[INFO] [stderr]     |
[INFO] [stderr] 247 |         let nonce = try!(Nonce::from_slice(&data[
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/toxencryptsave/mod.rs:251:22
[INFO] [stderr]     |
[INFO] [stderr] 251 |         let output = try!(crypto_core::decrypt_data_symmetric(
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/toxencryptsave/mod.rs:294:5
[INFO] [stderr]     |
[INFO] [stderr] 294 |     try!(PassKey::new(passphrase)).encrypt(data)
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/toxencryptsave/mod.rs:356:16
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let salt = try!(get_salt(data).ok_or(KeyDerivationError::Failed));
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/toxencryptsave/mod.rs:357:5
[INFO] [stderr]     |
[INFO] [stderr] 357 |     try!(PassKey::with_salt(passphrase, salt)).decrypt(data)
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/toxcore/crypto_core.rs:27:23
[INFO] [stderr]    |
[INFO] [stderr] 27 | use std::sync::{Once, ONCE_INIT};
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/toxcore/crypto_core.rs:35:33
[INFO] [stderr]    |
[INFO] [stderr] 35 | static CRYPTO_INIT_ONCE: Once = ONCE_INIT;
[INFO] [stderr]    |                                 ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated constant
[INFO] [stderr]    |
[INFO] [stderr] 35 | static CRYPTO_INIT_ONCE: Once = Once::new();
[INFO] [stderr]    |                                 ~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/toxcore/network.rs:61:24
[INFO] [stderr]    |
[INFO] [stderr] 61 |     object: Rc<RefCell<Any>>,
[INFO] [stderr]    |                        ^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 61 |     object: Rc<RefCell<dyn Any>>,
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/toxcore/network.rs:57:48
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub type PacketHandlerCallback = fn(Rc<RefCell<Any>>, addr: SocketAddr, data: &[u8]) -> usize;
[INFO] [stderr]    |                                                ^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub type PacketHandlerCallback = fn(Rc<RefCell<dyn Any>>, addr: SocketAddr, data: &[u8]) -> usize;
[INFO] [stderr]    |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/toxcore/network.rs:127:88
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<Any>>) {
[INFO] [stderr]     |                                                                                        ^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<dyn Any>>) {
[INFO] [stderr]     |                                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: `tox` (lib) generated 35 warnings (run `cargo fix --lib -p tox` to apply 9 suggestions)
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> examples/tcp_client.rs:140:20
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 });;
[INFO] [stderr]     |                    ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `SelectNext` in tuple element 1 that must be used
[INFO] [stderr]    --> examples/tcp_client.rs:226:5
[INFO] [stderr]     |
[INFO] [stderr] 226 |     core.run( client ).unwrap();
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: futures do nothing unless polled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `#[test]` attribute may only be used on a non-associated function
[INFO] [stderr]    --> src/toxcore/dht_node.rs:947:5
[INFO] [stderr]     |
[INFO] [stderr] 947 |       #[test]
[INFO] [stderr]     |       ^^^^^^^ the `#[test]` macro causes a function to be run on a test and has no effect on non-functions
[INFO] [stderr] 948 | /     quickcheck! {
[INFO] [stderr] 949 | |         fn dht_node_send_nodes(pns: Vec<PackedNode>) -> TestResult {
[INFO] [stderr] 950 | |             if pns.is_empty() { return TestResult::discard() }
[INFO] [stderr] 951 | |
[INFO] [stderr] ...   |
[INFO] [stderr] 984 | |         }
[INFO] [stderr] 985 | |     }
[INFO] [stderr]     | |_____- expected a non-associated function, found an item macro invocation
[INFO] [stderr]     |
[INFO] [stderr] help: replace with conditional compilation to make the item only exist when tests are being run
[INFO] [stderr]     |
[INFO] [stderr] 947 |     #[cfg(test)]
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/toxcore_tests/toxid_tests.rs:31:21
[INFO] [stderr]    |
[INFO] [stderr] 31 |         if let b'A' ... b'F' = b {
[INFO] [stderr]    |                     ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/toxcore_tests/toxid_tests.rs:33:28
[INFO] [stderr]    |
[INFO] [stderr] 33 |         } else if let b'0' ... b'9' = b {
[INFO] [stderr]    |                            ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/toxcore_tests/network_tests.rs:55:33
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn callback(num: Rc<RefCell<Any>>, _: SocketAddr, _: &[u8]) -> usize {
[INFO] [stderr]    |                                 ^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn callback(num: Rc<RefCell<dyn Any>>, _: SocketAddr, _: &[u8]) -> usize {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/toxcore_tests/network_tests.rs:62:76
[INFO] [stderr]    |
[INFO] [stderr] 62 |     net.register(99, callback, Rc::new(RefCell::new(1usize)) as Rc<RefCell<Any>>);
[INFO] [stderr]    |                                                                            ^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 62 |     net.register(99, callback, Rc::new(RefCell::new(1usize)) as Rc<RefCell<dyn Any>>);
[INFO] [stderr]    |                                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `sodiumoxide::crypto::box_::PublicKey` in tuple element 0 that must be used
[INFO] [stderr]    --> src/toxcore/tcp/server/server.rs:335:9
[INFO] [stderr]     |
[INFO] [stderr] 335 |         add_random_client(&server);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NatPingRequest` should have an upper case name
[INFO] [stderr]    --> src/toxcore/dht_new/packet.rs:438:11
[INFO] [stderr]     |
[INFO] [stderr] 438 |     const NatPingRequest: PacketKind = PacketKind::PingRequest;
[INFO] [stderr]     |           ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `NAT_PING_REQUEST`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NatPingResponse` should have an upper case name
[INFO] [stderr]    --> src/toxcore/dht_new/packet.rs:439:11
[INFO] [stderr]     |
[INFO] [stderr] 439 |     const NatPingResponse: PacketKind = PacketKind::PingResponse;
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `NAT_PING_RESPONSE`
[INFO] [stderr] 
[INFO] [stderr] warning: `tox` (example "tcp_client") generated 2 warnings
[INFO] [stderr] warning: `tox` (lib test) generated 43 warnings (35 duplicates) (run `cargo fix --lib -p tox --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1, rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tox-64774b6929320983)
[INFO] [stdout] 
[INFO] [stdout] running 307 tests
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stdout] test toxcore::dht::test::bucket_default_test ... ok
[INFO] [stdout] test toxcore::dht::test::bucket_position_test ... ok
[INFO] [stdout] test toxcore::dht::test::kbucket_position_test ... ok
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_bucket_1_capacity_try_add_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_bucket_try_add_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_index_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_size_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_public_key_distance_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_bucket_new_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_bucket_remove_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_new_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::kbucket_position_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::dht_packet_get_nodes_from_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::dht_packet_get_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht::test::dht_packet_new_test ... ok
[INFO] [stdout] test toxcore::dht::test::kbucket_contains_test ... ok
[INFO] [stdout] test toxcore::dht::test::bucket_contains_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_get_nodes_from_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_nat_ping_req_from_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_nat_ping_req_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_nat_ping_resp_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_try_add_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_get_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht::test::bucket_iter_next_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_nat_ping_resp_from_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_create_getn_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_create_ping_req_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_send_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::kbucket_iter_next_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_ping_resp_from_bytes_test ... ok
[INFO] [stdout] test toxcore::dht::test::kbucket_iter_next_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_ping_req_from_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_ping_resp_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht::test::kbucket_can_add_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_ping_req_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_new ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_send_nodes_from_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_pk_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_request_nodes_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_request_ping_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_sk_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::kbucket_contains_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::kbucket_can_add_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_create_ping_resp_test ... ok
[INFO] [stdout] test toxcore::state_format::old::dht_state_kind_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::tox_codec_decode_test ... ok
[INFO] [stdout] test toxcore::state_format::old::eof_kind_test ... ok
[INFO] [stdout] test toxcore::state_format::old::friend_state_new_from_pk_test ... ok
[INFO] [stdout] test toxcore::state_format::old::friends_kind_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::tox_codec_encode_test ... ok
[INFO] [stdout] test toxcore::state_format::old::name_to_bytes_test ... ok
[INFO] [stdout] test toxcore::state_format::old::name_kind_test ... ok
[INFO] [stdout] test toxcore::state_format::old::nospam_keys_kind_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_handle_packet_sendn_test ... ok
[INFO] [stdout] test toxcore::state_format::old::path_nodes_kind_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_respond_ping_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_create_sendn_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_handle_packet ... ok
[INFO] [stdout] test toxcore::state_format::old::path_nodes_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_name ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_nospamkeys ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_bucket_is_empty_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_send_nodes ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_request_nodes_close_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_status ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_remove_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_try_add_to_empty ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_status_msg ... ok
[INFO] [stdout] test toxcore::state_format::old::friends_is_friend_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_dht ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_tcp_relays ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_get_closest_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_path_nodes ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_parse_bytes_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_section_test_random ... ok
[INFO] [stdout] test toxcore::state_format::old::friend_state_parse_bytes_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_nospamkeys ... ok
[INFO] [stdout] test toxcore::dht_node::test::receive_packets_test ... ok
[INFO] [stdout] test toxcore::state_format::old::status_msg_kind_test ... ok
[INFO] [stdout] test toxcore::state_format::old::status_msg_to_bytes_test ... ok
[INFO] [stdout] test toxcore::state_format::old::tcp_relays_kind_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_eof ... ok
[INFO] [stdout] test toxcore::state_format::old::user_status_kind_test ... ok
[INFO] [stdout] test toxcore::tcp::codec::tests::decode_encrypted_packet_incomplete ... ok
[INFO] [stdout] test toxcore::tcp::codec::tests::decode_encrypted_packet_wrong_key ... ok
[INFO] [stdout] test toxcore::tcp::codec::tests::decode_encrypted_packet_zero_length ... ok
[INFO] [stdout] test toxcore::tcp::codec::tests::decode_packet_error ... ok
[INFO] [stdout] test toxcore::tcp::codec::tests::decode_packet_imcomplete ... ok
[INFO] [stdout] test toxcore::tcp::codec::tests::encode_decode ... ok
[INFO] [stdout] test toxcore::tcp::codec::tests::encode_packet_too_big ... ok
[INFO] [stdout] test toxcore::tcp::handshake::tests::client_decode_incomplete ... ok
[INFO] [stdout] test toxcore::tcp::handshake::tests::client_encode_decode ... ok
[INFO] [stdout] test toxcore::state_format::old::tcp_relays_test ... ok
[INFO] [stdout] test toxcore::tcp::handshake::tests::client_encode_too_big ... ok
[INFO] [stdout] test toxcore::tcp::handshake::tests::server_encode_decode ... ok
[INFO] [stdout] test toxcore::tcp::handshake::tests::server_encode_too_big ... ok
[INFO] [stdout] test toxcore::tcp::handshake::tests::server_decode_incomplete ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_connect_notification ... ok
[INFO] [stdout] test toxcore::tcp::secure::tests::test_secure_communication ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_data_0 ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_data_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_data_other_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_data_other_not_linked ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_data_self_not_linked ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_disconnect_notification_0 ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_friends ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_disconnect_notification ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_disconnect_notification_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_disconnect_notification_other_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_disconnect_notification_not_linked ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_disconnect_notification_other_not_linked ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_oob_recv ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_oob_send_empty_data ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_oob_send ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_oob_send_to_loooong_data ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_ping_request ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_oob_send_not_connected ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_status ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_ping_request_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_ping_request_0 ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_pong_response_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_route_request_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_route_request ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_route_request_to_itself ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_pong_response_0 ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::send_anything_to_dropped_client ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_route_response ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::server_is_clonable ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::normal_communication_scenario ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::shutdown_other_not_linked ... ok
[INFO] [stdout] test toxcore::tcp::tests::client_handshake_with_bad_payload ... ok
[INFO] [stdout] test toxcore::tcp::tests::client_handshake_with_different_keypair ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::shutdown_other_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::shutdown_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::tests::server_handshake_with_bad_payload ... ok
[INFO] [stdout] test toxcore::tcp::tests::secure_communication_with_handshake ... ok
[INFO] [stdout] test toxcore::tcp::tests::server_handshake_with_different_keypair ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_dht ... ok
[INFO] [stdout] test toxcore::timeout::test::node_timeout_new_test ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_route_request_too_many_connections ... ok
[INFO] [stdout] test toxcore::timeout::test::node_timeout_id_test ... ok
[INFO] [stdout] test toxcore::timeout::test::timeout_queue_add_test ... ok
[INFO] [stdout] test toxcore::timeout::test::node_timeout_pk_test ... ok
[INFO] [stdout] test toxcore::timeout::test::timeout_queue_deref_test ... ok
[INFO] [stdout] test toxcore::tcp::tests::network_handshake ... FAILED
[INFO] [stdout] test toxcore::timeout::test::timeout_queue_get_timed_out_test ... ok
[INFO] [stdout] test toxcore_tests::binary_io_tests::append_zeros_test_u8_pass ... ok
[INFO] [stdout] test toxcore_tests::binary_io_tests::ne_u64_test ... ok
[INFO] [stdout] test toxcore::timeout::test::timeout_queue_push_test ... ok
[INFO] [stdout] test toxcore_tests::binary_io_tests::xor_checksum_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_path_nodes ... ok
[INFO] [stdout] test toxcore::timeout::test::timeout_queue_remove_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::decrypt_data_symmetric_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::encrypt_data_symmetric_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::crypto_init_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_status_msg ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_tcp_relays ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_number_test_0xff0000_plus_0x011000 ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_number_test_zero_plus_0xff00 ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::encrypt_precompute_test ... ok
[INFO] [stdout] test toxcore::state_format::old::state_is_own_pk_test ... ok
[INFO] [stdout] test toxcore_tests::binary_io_tests::append_zeros_test_u8_fail - should panic ... ok
[INFO] [stdout] test toxcore::state_format::old::state_add_friend_norequest_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_test_0xf_plus_one ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_name ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_test_0xff_max ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_test_0xff_plus_one ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_test_random ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::public_key_cmp_test_empty ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_test_zero_plus_one ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::nonce_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::public_key_cmp_test_random ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::public_key_valid_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::random_u64_test ... ok
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stdout] test toxcore_tests::crypto_core_tests::random_u32_test ... ok
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stdout] test toxcore_tests::dht_tests::bucket_1_capacity_try_add_test ... ok
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stdout] test toxcore_tests::crypto_core_tests::public_key_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::bucket_new_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::secret_key_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::bucket_try_add_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::bucket_remove_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_packet_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_packet_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_packet_ping_resp_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_packet_ping_resp_test_invalid ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_request_get_request_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::send_packets_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_kind_test ... ok
[INFO] [stdout] test toxcore::state_format::old::state_parse_bytes_test_magic ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_packet_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ip_type_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ip_addr_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_request_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_size_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ip_addr_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ip_type_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_index_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_deref_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ipv6_addr_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_id_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_paket_get_payload_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ipv4_addr_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_to_bytes_test ... ok
[INFO] [stdout] test toxcore::state_format::old::state_parse_bytes_test_section_detect ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_resp_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_resp_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_new_test_ip_type_TCP_IPv4 ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_ip_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_resp_deref_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_resp_to_bytes_test_cmp_to_req ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_new_test_ip_type_TCP_IPv6 ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_new_test_ip_type_UDP_IPv4 ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_resp_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_new_test_ip_type_UDP_IPv6 ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_resp_id_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_to_bytes_test_ipv4 ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_to_bytes_test_ipv6 ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_from_bytes_test_length_too_long ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_parse_bytes_test_port ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_from_bytes_test_no_iptype ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_from_bytes_test_length_short ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_to_bytes_test_pk ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_from_bytes_test_wrong_iptype ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_kind_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_parse_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_id_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_kind_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_from_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_try_add_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_parse_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::public_key_distance_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_to_bytes_test_cmp_ping_req ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_id_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_parse_bytes_test_length_too_long ... ok
[INFO] [stdout] test toxcore_tests::network_tests::bind_udp_test ... ignored
[INFO] [stdout] test toxcore_tests::network_tests::networking_core_new_test ... ok
[INFO] [stdout] test toxcore_tests::packet_kind_tests::packet_kind_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::network_tests::networking_core_register_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::send_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::packet_kind_tests::user_status_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::send_nodes_kind_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::send_nodes_with_nodes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::friend_status_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_parse_bytes_multiple_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_parse_bytes_multiple_n_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::send_nodes_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::nospam_keys_default_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::name_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::nospam_keys_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::send_nodes_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::bucket_is_empty_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::section_kind_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::section_kind_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::section_kind_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::user_status_default_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::user_status_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::user_status_parse_bytes_test_rest ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::user_status_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::no_spam_default_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::no_spam_fmt_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::no_spam_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::no_spam_new_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::no_spam_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::tox_id_fmt_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::nospam_keys_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::tox_id_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::tox_id_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::tox_id_new_nospam_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::dht_state_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::tox_id_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::dht_state_from_bytes ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::get_salt_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::dht_state_to_bytes_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_decrypt_error_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::is_encrypted_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::status_message_parse_bytes_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_decrypt_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_encrypt_error_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_remove_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::friends_add_friend_test ... ok
[INFO] [stdout] test toxcore::timeout::test::node_timeout_is_timed_out_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_response_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::friends_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::friends_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_get_closest_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::state_to_bytes_test ... ok
[INFO] [stdout] test toxencryptsave::pass_key_new_test ... ok
[INFO] [stdout] test toxencryptsave::pass_key_with_salt_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_friends ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_key_decrypt_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_encrypt_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_key_encrypt_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_random ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- toxcore::tcp::tests::network_handshake stdout ----
[INFO] [stdout] thread 'toxcore::tcp::tests::network_handshake' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }', src/toxcore/tcp/mod.rs:343:56
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55819dbc4a7a - std::backtrace_rs::backtrace::libunwind::trace::ha9053a9a07ca49cb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x55819dbc4a7a - std::backtrace_rs::backtrace::trace_unsynchronized::h9c2852a457ad564e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55819dbc4a7a - std::sys_common::backtrace::_print_fmt::h457936fbfaa0070f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x55819dbc4a7a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779d7bf7f70cb0c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55819dbeb36e - core::fmt::write::h5a4baaff1bcd3eb5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/fmt/mod.rs:1232:17
[INFO] [stdout]    5:     0x55819dbc1845 - std::io::Write::write_fmt::h478f79c628ef31d1
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/io/mod.rs:1684:15
[INFO] [stdout]    6:     0x55819dbc4845 - std::sys_common::backtrace::_print::h5fcdc36060f177e8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x55819dbc4845 - std::sys_common::backtrace::print::h54ca9458b876c8bf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x55819dbc660f - std::panicking::default_hook::{{closure}}::hbe471161c7664ed6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:271:22
[INFO] [stdout]    9:     0x55819dbc62cf - std::panicking::default_hook::ha3500da57aa4ac4f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:287:9
[INFO] [stdout]   10:     0x55819da470c7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdf1b89dd137ece34
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   11:     0x55819da470c7 - test::test_main::{{closure}}::h9081a79f20e75698
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:135:21
[INFO] [stdout]   12:     0x55819dbc6d3d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6507bddc3eebb4a5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   13:     0x55819dbc6d3d - std::panicking::rust_panic_with_hook::h50c09d000dc561d2
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:696:13
[INFO] [stdout]   14:     0x55819dbc6ab9 - std::panicking::begin_panic_handler::{{closure}}::h9e2b2176e00e0d9c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:583:13
[INFO] [stdout]   15:     0x55819dbc4ee6 - std::sys_common::backtrace::__rust_end_short_backtrace::h5739b8e512c09d02
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   16:     0x55819dbc67c2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
[INFO] [stdout]   17:     0x55819d67ec83 - core::panicking::panic_fmt::hf33a1475b4dc5c3e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
[INFO] [stdout]   18:     0x55819d67f133 - core::result::unwrap_failed::hdff5465d74574b44
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1750:5
[INFO] [stdout]   19:     0x55819d861b6c - core::result::Result<T,E>::unwrap::h45e0d24e9bb13ca7
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1090:23
[INFO] [stdout]   20:     0x55819d83fba8 - tox::toxcore::tcp::tests::network_handshake::he68c2540fee789ec
[INFO] [stdout]                                at /opt/rustwide/workdir/src/toxcore/tcp/mod.rs:343:22
[INFO] [stdout]   21:     0x55819d83f977 - tox::toxcore::tcp::tests::network_handshake::{{closure}}::hf625f74db0ccabd1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/toxcore/tcp/mod.rs:330:28
[INFO] [stdout]   22:     0x55819d7dc805 - core::ops::function::FnOnce::call_once::h4b31e6c1bd7b97e6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55819da4c4af - core::ops::function::FnOnce::call_once::h7d969581be7d0075
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55819da4c4af - test::__rust_begin_short_backtrace::hca25a52684e56655
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:656:18
[INFO] [stdout]   25:     0x55819da1dacc - test::run_test::{{closure}}::ha8ac744c4af1a4bb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:647:30
[INFO] [stdout]   26:     0x55819da1dacc - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7b411a9ed45bdecf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x55819da4b476 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd05328869a8ed200
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   28:     0x55819da4b476 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0c601ce20bd5b2be
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   29:     0x55819da4b476 - std::panicking::try::do_call::ha4be5c164fe30854
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   30:     0x55819da4b476 - std::panicking::try::h604546f3609af05f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   31:     0x55819da4b476 - std::panic::catch_unwind::h5bfa8afe44c9c2f9
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   32:     0x55819da4b476 - test::run_test_in_process::hd50dee55dd63e6aa
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:679:27
[INFO] [stdout]   33:     0x55819da4b476 - test::run_test::run_test_inner::{{closure}}::h4aa0f433aa85cea8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:573:39
[INFO] [stdout]   34:     0x55819da18141 - test::run_test::run_test_inner::{{closure}}::had56431adf24b4d6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:600:37
[INFO] [stdout]   35:     0x55819da18141 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha8d9890e0c73bf13
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:134:18
[INFO] [stdout]   36:     0x55819da1db5b - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h251832bcb4a95327
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:560:17
[INFO] [stdout]   37:     0x55819da1db5b - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8fdff598fa414831
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   38:     0x55819da1db5b - std::panicking::try::do_call::h455dd2f7764a950f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   39:     0x55819da1db5b - std::panicking::try::had6f23b7b73ae72a
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   40:     0x55819da1db5b - std::panic::catch_unwind::ha6a5ca3915b4dad0
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   41:     0x55819da1db5b - std::thread::Builder::spawn_unchecked_::{{closure}}::h883b72ef75da6231
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   42:     0x55819da1db5b - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb7dff73dc8bd2ccb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55819dbcb273 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h39990b24eedef2ab
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   44:     0x55819dbcb273 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h01a027258444143b
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   45:     0x55819dbcb273 - std::sys::unix::thread::Thread::new::thread_start::ha4f1cdd9c25884ba
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7fe0af741b43 - <unknown>
[INFO] [stdout]   47:     0x7fe0af7d2bb4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     toxcore::tcp::tests::network_handshake
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 305 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 10.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "0995c456a20f5b4ef786eb38e208e39edd2529f4d4a4a26974ae0d2654b5c7a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0995c456a20f5b4ef786eb38e208e39edd2529f4d4a4a26974ae0d2654b5c7a2", kill_on_drop: false }`
[INFO] [stdout] 0995c456a20f5b4ef786eb38e208e39edd2529f4d4a4a26974ae0d2654b5c7a2
