[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 beta-2023-04-20 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-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/zetok/tox on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "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-tc2/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" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libsodium-sys v0.0.16
[INFO] [stderr]   Downloaded cookie-factory v0.2.2
[INFO] [stderr]   Downloaded tokio-core v0.1.11
[INFO] [stderr]   Downloaded quickcheck v0.6.0
[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-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c72d7846557888b887705e16be3aa6137f808c1095f3a7249bc5241c4599ff8f
[INFO] running `Command { std: "docker" "start" "-a" "c72d7846557888b887705e16be3aa6137f808c1095f3a7249bc5241c4599ff8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c72d7846557888b887705e16be3aa6137f808c1095f3a7249bc5241c4599ff8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c72d7846557888b887705e16be3aa6137f808c1095f3a7249bc5241c4599ff8f", kill_on_drop: false }`
[INFO] [stdout] c72d7846557888b887705e16be3aa6137f808c1095f3a7249bc5241c4599ff8f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 91970404088c2110ec4941044e905f97640c8172c2c24ac995440faa897cc000
[INFO] running `Command { std: "docker" "start" "-a" "91970404088c2110ec4941044e905f97640c8172c2c24ac995440faa897cc000", 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 lazycell v0.6.0
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling scoped-tls v0.1.0
[INFO] [stderr]    Compiling slab v0.4.0
[INFO] [stderr]    Compiling smallvec v0.2.1
[INFO] [stderr]    Compiling serde v1.0.27
[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 rand v0.3.20
[INFO] [stderr]    Compiling memchr v1.0.2
[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 5.75s
[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" "91970404088c2110ec4941044e905f97640c8172c2c24ac995440faa897cc000", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91970404088c2110ec4941044e905f97640c8172c2c24ac995440faa897cc000", kill_on_drop: false }`
[INFO] [stdout] 91970404088c2110ec4941044e905f97640c8172c2c24ac995440faa897cc000
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+beta-2023-04-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc2237737c828502bb8ea42fb557050931c2ec80d41c30a6022f2b7d554d3b0b
[INFO] running `Command { std: "docker" "start" "-a" "bc2237737c828502bb8ea42fb557050931c2ec80d41c30a6022f2b7d554d3b0b", 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 utf8-ranges v1.0.0
[INFO] [stderr]    Compiling regex-syntax v0.4.2
[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 as 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 11.68s
[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" "bc2237737c828502bb8ea42fb557050931c2ec80d41c30a6022f2b7d554d3b0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc2237737c828502bb8ea42fb557050931c2ec80d41c30a6022f2b7d554d3b0b", kill_on_drop: false }`
[INFO] [stdout] bc2237737c828502bb8ea42fb557050931c2ec80d41c30a6022f2b7d554d3b0b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+beta-2023-04-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6b6456992e8330e78036b28d042796029b62385bbdf0aec81ceeb186a9419047
[INFO] running `Command { std: "docker" "start" "-a" "6b6456992e8330e78036b28d042796029b62385bbdf0aec81ceeb186a9419047", 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: 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 as 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: 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: `tox` (lib test) generated 43 warnings (35 duplicates) (run `cargo fix --lib -p tox --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `tox` (example "tcp_client") generated 2 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.06s
[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-e9d5933e4d6c8974)
[INFO] [stdout] 
[INFO] [stdout] running 307 tests
[INFO] [stdout] test toxcore::dht::test::bucket_position_test ... ok
[INFO] [stdout] test toxcore::dht::test::kbucket_position_test ... ok
[INFO] [stdout] test toxcore::dht::test::bucket_default_test ... ok
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[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_kbucket_new_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_public_key_distance_test ... ok
[INFO] [stdout] test toxcore::dht::test::dht_packet_new_test ... ok
[INFO] [stdout] test toxcore::dht::test::bucket_iter_next_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_size_test ... ok
[INFO] [stdout] test toxcore::dht::test::kbucket_iter_next_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::dht_packet_get_nodes_from_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::kbucket_position_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::dht_packet_get_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_get_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_nat_ping_req_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_resp_from_bytes_test ... ok
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_bucket_remove_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_ping_resp_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht::test::kbucket_contains_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_create_getn_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_bucket_new_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_ping_req_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_req_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::kbucket_contains_test ... ok
[INFO] [stdout] test toxcore::dht_new::packet::test::packet_send_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_new ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_request_nodes_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_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_sk_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_request_ping_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_try_add_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::kbucket_can_add_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::dht_node::test::dht_node_create_ping_resp_test ... ok
[INFO] [stdout] test toxcore::state_format::old::eof_kind_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_handle_packet ... ok
[INFO] [stdout] test toxcore::state_format::old::friend_state_new_from_pk_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::tox_codec_encode_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_handle_packet_sendn_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_create_sendn_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_respond_ping_test ... ok
[INFO] [stdout] test toxcore::state_format::old::name_kind_test ... ok
[INFO] [stdout] test toxcore::state_format::old::name_to_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_bucket_is_empty_test ... ok
[INFO] [stdout] test toxcore::state_format::old::nospam_keys_kind_test ... ok
[INFO] [stdout] test toxcore::state_format::old::friends_kind_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_send_nodes ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_nospamkeys ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_name ... ok
[INFO] [stdout] test toxcore::state_format::old::path_nodes_kind_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_status ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_request_nodes_close_test ... ok
[INFO] [stdout] test toxcore::state_format::old::path_nodes_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::dht_node_try_add_to_empty ... ok
[INFO] [stdout] test toxcore::dht_new::kbucket::test::dht_kbucket_remove_test ... 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_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_into_sect_mult_test_dht ... 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_dht ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_nospamkeys ... 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_friends ... 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::state_format::old::section_data_into_sect_test_eof ... ok
[INFO] [stdout] test toxcore::state_format::old::tcp_relays_test ... 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::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::client_encode_too_big ... 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 ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_disconnect_notification_0 ... 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_not_linked ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_disconnect_notification_other_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::handshake::tests::server_decode_incomplete ... 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_not_connected ... 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_ping_request_0 ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_ping_request_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_pong_response_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_connect_notification ... 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_oob_send ... 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_response ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::normal_communication_scenario ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::handle_route_request_too_many_connections ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::send_anything_to_dropped_client ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::shutdown_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::server_is_clonable ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::shutdown_other_not_connected ... ok
[INFO] [stdout] test toxcore::tcp::server::server::tests::shutdown_other_not_linked ... ok
[INFO] [stdout] test toxcore::tcp::tests::client_handshake_with_different_keypair ... ok
[INFO] [stdout] test toxcore::tcp::tests::secure_communication_with_handshake ... ok
[INFO] [stdout] test toxcore::tcp::tests::server_handshake_with_bad_payload ... ok
[INFO] [stdout] test toxcore::tcp::tests::server_handshake_with_different_keypair ... ok
[INFO] [stdout] test toxcore::timeout::test::node_timeout_id_test ... ok
[INFO] [stdout] test toxcore::tcp::tests::client_handshake_with_bad_payload ... ok
[INFO] [stdout] test toxcore::tcp::tests::network_handshake ... FAILED
[INFO] [stdout] test toxcore::timeout::test::node_timeout_new_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::timeout::test::timeout_queue_add_test ... ok
[INFO] [stdout] test toxcore::timeout::test::timeout_queue_get_timed_out_test ... ok
[INFO] [stdout] test toxcore::timeout::test::timeout_queue_push_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_path_nodes ... ok
[INFO] [stdout] test toxcore_tests::binary_io_tests::append_zeros_test_u8_pass ... ok
[INFO] [stdout] test toxcore_tests::binary_io_tests::append_zeros_test_u8_fail - should panic ... ok
[INFO] [stdout] test toxcore_tests::binary_io_tests::ne_u64_test ... ok
[INFO] [stdout] test toxcore_tests::binary_io_tests::xor_checksum_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::crypto_init_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::decrypt_data_symmetric_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_status ... ok
[INFO] [stdout] test toxcore::timeout::test::timeout_queue_remove_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::encrypt_precompute_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::encrypt_data_symmetric_test ... 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_0xf_plus_one ... 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::state_format::old::section_data_into_sect_test_name ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_test_0xff_plus_one ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::public_key_cmp_test_empty ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::public_key_cmp_test_random ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_test_random ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::increment_nonce_test_zero_plus_one ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::public_key_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::nonce_parse_bytes_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_test_status_msg ... ok
[INFO] [stdout] test toxcore::state_format::old::state_add_friend_norequest_test ... ok
[INFO] [stdout] test toxcore::state_format::old::state_parse_bytes_test_magic ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::random_u32_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::public_key_valid_test ... ok
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stderr] ERROR:<unknown>: Treating Some(0) as None
[INFO] [stdout] test toxcore::state_format::old::state_is_own_pk_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::random_u64_test ... ok
[INFO] [stdout] test toxcore_tests::crypto_core_tests::secret_key_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::bucket_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::bucket_1_capacity_try_add_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_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_packet_ping_resp_test_invalid ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_packet_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_kind_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_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_request_get_request_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_request_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_packet_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ip_type_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ipv4_addr_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ipv6_addr_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ip_addr_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ip_addr_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ip_type_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::dht_paket_get_payload_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_index_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_size_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_deref_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::bucket_is_empty_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_new_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_id_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_try_add_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_to_bytes_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_id_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_req_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::nat_ping_resp_from_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_to_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_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_parse_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::packed_node_parse_bytes_test_port ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_from_bytes_test_length_short ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_to_bytes_test_ipv4 ... 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_nodes_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_from_bytes_test_wrong_iptype ... 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_to_bytes_test_pk ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_id_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_to_bytes_test_ipv6 ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_nodes_parse_bytes_test_length_too_long ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_kind_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_parse_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_from_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_req_new_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_req_to_bytes_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_resp_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_from_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::public_key_distance_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::ping_resp_parse_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::send_nodes_kind_test ... 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::network_tests::networking_core_register_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_parse_bytes_multiple_test ... ok
[INFO] [stdout] test toxcore_tests::packet_kind_tests::packet_kind_from_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_to_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::packed_node_parse_bytes_multiple_n_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::dht_state_from_bytes ... ok
[INFO] [stdout] test toxcore::state_format::old::state_parse_bytes_test_section_detect ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::friend_status_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::send_nodes_with_nodes_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::send_nodes_parse_bytes_rest_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::dht_state_parse_bytes_rest_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::nospam_keys_from_bytes_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::section_kind_parse_bytes_rest_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::dht_state_to_bytes_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_parse_bytes_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::nospam_keys_parse_bytes_rest_test ... 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::state_format_old_tests::user_status_default_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::tox_id_fmt_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::user_status_parse_bytes_test_rest ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::tox_id_new_nospam_test ... ok
[INFO] [stdout] test toxcore_tests::toxid_tests::tox_id_to_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_from_bytes_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::get_salt_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::is_encrypted_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_decrypt_error_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_encrypt_error_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_decrypt_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_remove_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::receive_packets_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::get_nodes_response_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::friends_add_friend_test ... ok
[INFO] [stdout] test toxcore_tests::dht_tests::kbucket_get_closest_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::friends_parse_bytes_test ... ok
[INFO] [stdout] test toxcore::dht_node::test::send_packets_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::state_to_bytes_test ... ok
[INFO] [stdout] test toxcore::timeout::test::node_timeout_is_timed_out_test ... ok
[INFO] [stdout] test toxcore_tests::state_format_old_tests::friends_to_bytes_test ... ok
[INFO] [stdout] test toxencryptsave::pass_key_with_salt_test ... ok
[INFO] [stdout] test toxencryptsave::pass_key_new_test ... ok
[INFO] [stdout] test toxencryptsave_tests::encryptsave_tests::pass_key_decrypt_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] test toxencryptsave_tests::encryptsave_tests::pass_encrypt_test ... ok
[INFO] [stdout] test toxcore::state_format::old::section_data_into_sect_mult_test_friends ... 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:     0x55f696bc67ca - std::backtrace_rs::backtrace::libunwind::trace::h2f05d0192276a8f6
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x55f696bc67ca - std::backtrace_rs::backtrace::trace_unsynchronized::hedc23dff7a1af150
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f696bc67ca - std::sys_common::backtrace::_print_fmt::h17541ef7592f3ce2
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x55f696bc67ca - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h20f75df5ab0c0792
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f696bed67f - core::fmt::write::h78109e6f466b3af6
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/fmt/mod.rs:1254:17
[INFO] [stdout]    5:     0x55f696bc3465 - std::io::Write::write_fmt::hd24bfb68a1b35a25
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/io/mod.rs:1698:15
[INFO] [stdout]    6:     0x55f696bc6595 - std::sys_common::backtrace::_print::h8dac57a9f8fbf9a5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x55f696bc6595 - std::sys_common::backtrace::print::hf9ecbf41d1aa712f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x55f696bc824e - std::panicking::default_hook::{{closure}}::h04c07acfc84ca028
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:269:22
[INFO] [stdout]    9:     0x55f696bc7f81 - std::panicking::default_hook::h01f6bb23e1eceb2c
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:285:9
[INFO] [stdout]   10:     0x55f696a5323b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h87fe9f7b2fd49e4c
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   11:     0x55f696a5323b - test::test_main::{{closure}}::he94d679243a7531b
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55f696bc8934 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3f2d6d8b14c4769f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   13:     0x55f696bc8934 - std::panicking::rust_panic_with_hook::h2bb3722bbaf2f6df
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:695:13
[INFO] [stdout]   14:     0x55f696bc86a9 - std::panicking::begin_panic_handler::{{closure}}::h91bc7f36a4be011b
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:582:13
[INFO] [stdout]   15:     0x55f696bc6c36 - std::sys_common::backtrace::__rust_end_short_backtrace::h8b3d3717114f9e59
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   16:     0x55f696bc8402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:578:5
[INFO] [stdout]   17:     0x55f6966abca3 - core::panicking::panic_fmt::hfd368e3fbdabea26
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panicking.rs:67:14
[INFO] [stdout]   18:     0x55f6966ac243 - core::result::unwrap_failed::he54eb4b2f125b26f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/result.rs:1687:5
[INFO] [stdout]   19:     0x55f6968091fc - core::result::Result<T,E>::unwrap::h3011700cf43e7320
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/result.rs:1089:23
[INFO] [stdout]   20:     0x55f696a1bb58 - tox::toxcore::tcp::tests::network_handshake::hd9e7734a16b09f81
[INFO] [stdout]                                at /opt/rustwide/workdir/src/toxcore/tcp/mod.rs:343:22
[INFO] [stdout]   21:     0x55f696a1b927 - tox::toxcore::tcp::tests::network_handshake::{{closure}}::hb3d3aed73e5c90cf
[INFO] [stdout]                                at /opt/rustwide/workdir/src/toxcore/tcp/mod.rs:330:28
[INFO] [stdout]   22:     0x55f6969f13c5 - core::ops::function::FnOnce::call_once::hf912d242a739e99d
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55f696a5810f - core::ops::function::FnOnce::call_once::ha6a70e79f7481a7e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55f696a5810f - test::__rust_begin_short_backtrace::hce33033019b61e69
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:655:18
[INFO] [stdout]   25:     0x55f696a258fc - test::run_test::{{closure}}::h858d3528838ae3e5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:646:30
[INFO] [stdout]   26:     0x55f696a258fc - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8ac2b00f01ae79e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x55f696a571e6 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8093d25b522725ef
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   28:     0x55f696a571e6 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h5c334c204e4a3913
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   29:     0x55f696a571e6 - std::panicking::try::do_call::ha8b740c7b9478074
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:485:40
[INFO] [stdout]   30:     0x55f696a571e6 - std::panicking::try::h5d34f63d0e41b64e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:449:19
[INFO] [stdout]   31:     0x55f696a571e6 - std::panic::catch_unwind::hcfbb511e1aa7fc67
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panic.rs:140:14
[INFO] [stdout]   32:     0x55f696a571e6 - test::run_test_in_process::h9abda90f802eaf21
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:678:27
[INFO] [stdout]   33:     0x55f696a571e6 - test::run_test::run_test_inner::{{closure}}::h0f058de91f6c6edf
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:572:39
[INFO] [stdout]   34:     0x55f696a20105 - test::run_test::run_test_inner::{{closure}}::h5ca48a4c59c6c1fb
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:599:37
[INFO] [stdout]   35:     0x55f696a20105 - std::sys_common::backtrace::__rust_begin_short_backtrace::h32bd51e1495d4a33
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:134:18
[INFO] [stdout]   36:     0x55f696a25641 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc086fae9b128b2db
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/mod.rs:526:17
[INFO] [stdout]   37:     0x55f696a25641 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb66571888d270d43
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   38:     0x55f696a25641 - std::panicking::try::do_call::h4fa2ef4f6e51fecf
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:485:40
[INFO] [stdout]   39:     0x55f696a25641 - std::panicking::try::h1e9e22b8584489b5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:449:19
[INFO] [stdout]   40:     0x55f696a25641 - std::panic::catch_unwind::h44698a3de0e0769e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panic.rs:140:14
[INFO] [stdout]   41:     0x55f696a25641 - std::thread::Builder::spawn_unchecked_::{{closure}}::h50153abde3fe239e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/mod.rs:525:30
[INFO] [stdout]   42:     0x55f696a25641 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hbe5bbf6f38394364
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f696bccfd5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0d83cb2920a49046
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   44:     0x55f696bccfd5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hbe0a008aa7d9ef59
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   45:     0x55f696bccfd5 - std::sys::unix::thread::Thread::new::thread_start::h3a466996bdf6b1f9
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7fd2fb0ffb43 - <unknown>
[INFO] [stdout]   47:     0x7fd2fb190bb4 - __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 9.42s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "6b6456992e8330e78036b28d042796029b62385bbdf0aec81ceeb186a9419047", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b6456992e8330e78036b28d042796029b62385bbdf0aec81ceeb186a9419047", kill_on_drop: false }`
[INFO] [stdout] 6b6456992e8330e78036b28d042796029b62385bbdf0aec81ceeb186a9419047
