[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 master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzetok%2Ftox" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[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-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zetok/tox on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-timer v0.1.2
[INFO] [stderr]   Downloaded cfg-if v0.1.2
[INFO] [stderr]   Downloaded tokio-proto v0.1.1
[INFO] [stderr]   Downloaded log v0.4.1
[INFO] [stderr]   Downloaded matches v0.1.6
[INFO] [stderr]   Downloaded tokio-service v0.1.0
[INFO] [stderr]   Downloaded cargo_metadata v0.2.3
[INFO] [stderr]   Downloaded if_chain v0.1.2
[INFO] [stderr]   Downloaded quine-mc_cluskey v0.2.4
[INFO] [stderr]   Downloaded semver v0.6.0
[INFO] [stderr]   Downloaded percent-encoding v1.0.1
[INFO] [stderr]   Downloaded thread_local v0.3.5
[INFO] [stderr]   Downloaded env_logger v0.4.3
[INFO] [stderr]   Downloaded take v0.1.0
[INFO] [stderr]   Downloaded libsodium-sys v0.0.16
[INFO] [stderr]   Downloaded serde_derive v1.0.27
[INFO] [stderr]   Downloaded dtoa v0.4.2
[INFO] [stderr]   Downloaded aho-corasick v0.6.4
[INFO] [stderr]   Downloaded getopts v0.2.15
[INFO] [stderr]   Downloaded serde v1.0.27
[INFO] [stderr]   Downloaded serde_json v1.0.9
[INFO] [stderr]   Downloaded nom v3.2.1
[INFO] [stderr]   Downloaded pulldown-cmark v0.0.15
[INFO] [stderr]   Downloaded mio v0.6.12
[INFO] [stderr]   Downloaded regex v0.2.5
[INFO] [stderr]   Downloaded regex-syntax v0.4.2
[INFO] [stderr]   Downloaded futures v0.1.17
[INFO] [stderr]   Downloaded unicode-normalization v0.1.5
[INFO] [stderr]   Downloaded libc v0.2.35
[INFO] [stderr]   Downloaded idna v0.1.4
[INFO] [stderr]   Downloaded rand v0.4.2
[INFO] [stderr]   Downloaded itertools v0.6.5
[INFO] [stderr]   Downloaded toml v0.4.5
[INFO] [stderr]   Downloaded tokio-core v0.1.11
[INFO] [stderr]   Downloaded rand v0.3.20
[INFO] [stderr]   Downloaded url v1.6.0
[INFO] [stderr]   Downloaded rustc-serialize v0.3.24
[INFO] [stderr]   Downloaded scoped-tls v0.1.0
[INFO] [stderr]   Downloaded itoa v0.3.4
[INFO] [stderr]   Downloaded num-traits v0.1.41
[INFO] [stderr]   Downloaded either v1.4.0
[INFO] [stderr]   Downloaded bitflags v0.9.1
[INFO] [stderr]   Downloaded winapi v0.3.3
[INFO] [stderr]   Downloaded serde_derive_internals v0.19.0
[INFO] [stderr]   Downloaded lazy_static v1.0.0
[INFO] [stderr]   Downloaded utf8-ranges v1.0.0
[INFO] [stderr]   Downloaded smallvec v0.2.1
[INFO] [stderr]   Downloaded net2 v0.2.31
[INFO] [stderr]   Downloaded slab v0.4.0
[INFO] [stderr]   Downloaded iovec v0.1.1
[INFO] [stderr]   Downloaded memchr v1.0.2
[INFO] [stderr]   Downloaded memchr v2.0.1
[INFO] [stderr]   Downloaded bytes v0.4.5
[INFO] [stderr]   Downloaded tokio-io v0.1.4
[INFO] [stderr]   Downloaded byteorder v1.2.1
[INFO] [stderr]   Downloaded pkg-config v0.3.9
[INFO] [stderr]   Downloaded bitflags v1.0.1
[INFO] [stderr]   Downloaded lazycell v0.6.0
[INFO] [stderr]   Downloaded sodiumoxide v0.0.16
[INFO] [stderr]   Downloaded winapi-x86_64-pc-windows-gnu v0.3.2
[INFO] [stderr]   Downloaded cookie-factory v0.2.2
[INFO] [stderr]   Downloaded quickcheck v0.6.0
[INFO] [stderr]   Downloaded winapi-i686-pc-windows-gnu v0.3.2
[INFO] [stderr]   Downloaded slab v0.3.0
[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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9987ab457efb522ebbe8dedc39cb43dcdbbd6759ccb1016ff1c1e1d2f043b3e9
[INFO] running `Command { std: "docker" "start" "-a" "9987ab457efb522ebbe8dedc39cb43dcdbbd6759ccb1016ff1c1e1d2f043b3e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9987ab457efb522ebbe8dedc39cb43dcdbbd6759ccb1016ff1c1e1d2f043b3e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9987ab457efb522ebbe8dedc39cb43dcdbbd6759ccb1016ff1c1e1d2f043b3e9", kill_on_drop: false }`
[INFO] [stdout] 9987ab457efb522ebbe8dedc39cb43dcdbbd6759ccb1016ff1c1e1d2f043b3e9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61d4a383dee2f0acde4267b11074af814e6285023ae0661a9b2579ca7ef9ff08
[INFO] running `Command { std: "docker" "start" "-a" "61d4a383dee2f0acde4267b11074af814e6285023ae0661a9b2579ca7ef9ff08", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.35
[INFO] [stderr]    Compiling cfg-if v0.1.2
[INFO] [stderr]    Compiling byteorder v1.2.1
[INFO] [stderr]    Compiling pkg-config v0.3.9
[INFO] [stderr]    Compiling futures v0.1.17
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling lazycell v0.6.0
[INFO] [stderr]    Compiling scoped-tls v0.1.0
[INFO] [stderr]    Compiling log v0.4.1
[INFO] [stderr]    Compiling slab v0.4.0
[INFO] [stderr]    Compiling log v0.3.9
[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 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 nom v3.2.1
[INFO] [stderr]    Compiling bytes v0.4.5
[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)]` (part of `#[warn(rust_2018_compatibility)]`) 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)]` (part of `#[warn(unused)]`) 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] ...   |
[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)]` (part of `#[warn(unused)]`) 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 `Once::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 `Once::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_INIT;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<dyn Any>>) {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/toxcore/binary_io.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_bytes(bytes: &[u8]) -> ParseResult<Self>;
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_bytes(bytes: &[u8]) -> ParseResult<'_, Self>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/toxcore/binary_io.rs:43:53
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn parse_bytes_multiple<'a>(bytes: &'a [u8]) -> ParseResult<Vec<Self>> {
[INFO] [stdout]    |                                         --          ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn parse_bytes_multiple<'a>(bytes: &'a [u8]) -> ParseResult<'a, Vec<Self>> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/toxcore/binary_io.rs:49:69
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn parse_bytes_multiple_n<'a>(bytes: &'a [u8], times: usize) -> ParseResult<Vec<Self>> {
[INFO] [stdout]    |                                           --                        ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn parse_bytes_multiple_n<'a>(bytes: &'a [u8], times: usize) -> ParseResult<'a, Vec<Self>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/toxcore/dht.rs:1015:17
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     pub fn iter(&self) -> BucketIter {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     pub fn iter(&self) -> BucketIter<'_> {
[INFO] [stdout]      |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/toxcore/dht.rs:1244:17
[INFO] [stdout]      |
[INFO] [stdout] 1244 |     pub fn iter(&self) -> KbucketIter {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1244 |     pub fn iter(&self) -> KbucketIter<'_> {
[INFO] [stdout]      |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/toxcore/tcp/server/client.rs:128:23
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn iter_links(&self) -> Iter<Option<PublicKey>> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn iter_links(&self) -> Iter<'_, Option<PublicKey>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/toxcore/dht_new/kbucket.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |     pub fn iter(&self) -> KbucketIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 470 |     pub fn iter(&self) -> KbucketIter<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.18s
[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 2`
[INFO] running `Command { std: "docker" "inspect" "61d4a383dee2f0acde4267b11074af814e6285023ae0661a9b2579ca7ef9ff08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61d4a383dee2f0acde4267b11074af814e6285023ae0661a9b2579ca7ef9ff08", kill_on_drop: false }`
[INFO] [stdout] 61d4a383dee2f0acde4267b11074af814e6285023ae0661a9b2579ca7ef9ff08
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 80db31225d3f4182b052c5a68fab18a15b470cf047d7b3e5151dce756bba1cf1
[INFO] running `Command { std: "docker" "start" "-a" "80db31225d3f4182b052c5a68fab18a15b470cf047d7b3e5151dce756bba1cf1", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling memchr v2.0.1
[INFO] [stderr]    Compiling lazy_static v1.0.0
[INFO] [stderr]    Compiling regex-syntax v0.4.2
[INFO] [stderr]    Compiling utf8-ranges v1.0.0
[INFO] [stderr]    Compiling rand v0.4.2
[INFO] [stderr]    Compiling tokio-timer v0.1.2
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/toxcore/binary_io.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn expect(self, &str) -> T;
[INFO] [stdout]     |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) 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)]` (part of `#[warn(unused)]`) 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] ...   |
[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)]` (part of `#[warn(unused)]`) 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 `Once::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 `Once::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_INIT;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn register(&mut self, byte: u8, cb: PacketHandlerCallback, object: Rc<RefCell<dyn Any>>) {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/toxcore/binary_io.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_bytes(bytes: &[u8]) -> ParseResult<Self>;
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_bytes(bytes: &[u8]) -> ParseResult<'_, Self>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/toxcore/binary_io.rs:43:53
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn parse_bytes_multiple<'a>(bytes: &'a [u8]) -> ParseResult<Vec<Self>> {
[INFO] [stdout]    |                                         --          ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn parse_bytes_multiple<'a>(bytes: &'a [u8]) -> ParseResult<'a, Vec<Self>> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/toxcore/binary_io.rs:49:69
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn parse_bytes_multiple_n<'a>(bytes: &'a [u8], times: usize) -> ParseResult<Vec<Self>> {
[INFO] [stdout]    |                                           --                        ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn parse_bytes_multiple_n<'a>(bytes: &'a [u8], times: usize) -> ParseResult<'a, Vec<Self>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/toxcore/dht.rs:1015:17
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     pub fn iter(&self) -> BucketIter {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     pub fn iter(&self) -> BucketIter<'_> {
[INFO] [stdout]      |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/toxcore/dht.rs:1244:17
[INFO] [stdout]      |
[INFO] [stdout] 1244 |     pub fn iter(&self) -> KbucketIter {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1244 |     pub fn iter(&self) -> KbucketIter<'_> {
[INFO] [stdout]      |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/toxcore/tcp/server/client.rs:128:23
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn iter_links(&self) -> Iter<Option<PublicKey>> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn iter_links(&self) -> Iter<'_, Option<PublicKey>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/toxcore/dht_new/kbucket.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |     pub fn iter(&self) -> KbucketIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 470 |     pub fn iter(&self) -> KbucketIter<'_> {
[INFO] [stdout]     |                                      ++++
[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] [stdout] error[E0310]: the parameter type `T` may not live long enough
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.24/src/serialize.rs:1155:5
[INFO] [stdout]      |
[INFO] [stdout] 1155 |     fn decode<D: Decoder>(d: &mut D) -> Result<Cow<'static, T>, D::Error> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |     |
[INFO] [stdout]      |     the parameter type `T` must be valid for the static lifetime...
[INFO] [stdout]      |     ...so that the type `T` will meet its required lifetime bounds...
[INFO] [stdout]      |
[INFO] [stdout] note: ...that is required by this bound
[INFO] [stdout]     --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/borrow.rs:182:29
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]      |
[INFO] [stdout] 1151 | impl<'a, T: ?Sized + 'static> Decodable for Cow<'a, T>
[INFO] [stdout]      |                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling regex v0.2.5
[INFO] [stderr]    Compiling env_logger v0.4.3
[INFO] [stderr]    Compiling quickcheck v0.6.0
[INFO] [stdout] For more information about this error, try `rustc --explain E0310`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustc-serialize` (lib) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "80db31225d3f4182b052c5a68fab18a15b470cf047d7b3e5151dce756bba1cf1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80db31225d3f4182b052c5a68fab18a15b470cf047d7b3e5151dce756bba1cf1", kill_on_drop: false }`
[INFO] [stdout] 80db31225d3f4182b052c5a68fab18a15b470cf047d7b3e5151dce756bba1cf1
